SAP Netweaver / ABAP                  Notas técnicas / Tips / Tutorials

Entendiendo los fundamentos de las Web Dynpro en SAP

Conozca el concepto de Web Dynpro en SAP, y un "overview" del patrón de diseño en el que se basa su creación, tanto para el desarrollo de una Web Dynpro ABAP como JAVA.

Web Dynpro dentro del universo SAP Netweaver: ¿Qué son?

La tecnología “Web Dynpro” es el recurso tecnológico standard que ofrece SAP para desarrollar y manejar la capa de presentación de las aplicaciones, es decir, la interfaz de usuario (UI) de las aplicaciones Web. 

Totalmente integrado al SAP Netweaver Application Server, las Web Dynpro proveen un conjunto de herramientas para modelar y diseñar las interfaces de usuario basándose en el paradigma MVC (Model View Controler). Las herramientas de diseño de Web Dynpros son independientes del entorno de ejecución, lo que permite unificar el desarrollo de interfaces para los distintos estándares soportados por el WAS, ABAP, J2EE y .NET.

Las herramientas de desarrollo provistas, permiten seleccionar patrones de diseño existentes o definir libremente nuevos patrones para el “layout” y el flujo de la aplicación. La descripción de la aplicación se almacena en un “metadata repository” y se utiliza para generar el código de ejecución “runtime” que corresponda según el entorno.

En SAP Netweaver se pueden desarrollar aplicaciones Web Dynpros tanto desde el entorno JAVA, como en entorno ABAP, y se las reconoce como Web Dynpro for JAVA y  Web Dynpro for ABAP, respectivamente.

Las Web Dynpro for Java se desarrollan utilizando el entorno de desarrollo JAVA, provisto por el software SAP Netweaver Developer Studio, basado en el framework de Eclipse,  y se  pueden ejecutar gracias a la personalidad JAVA de SAP Netweaver. Para ello es necesario tener instalado y configurado un SAP Netweaver Application Server JAVA, que ya desde la versión 6.40 de su application server, soportan la ejecución de este tipo de Web Dynpros.

En cambio, las Web Dynpro for ABAP se desarrollan dentro del ABAP Workbench (como cualquier otro tipo de aplicación ABAP) y su ejecución es posible gracias a la "personalidad" ABAP de SAP Netweaver Application Server, ofrecida por la componente de software  SAP Netweaver AS ABAP. Tener en cuenta que ya desde la versión de SAP Netweaver 7.0 soporta la ejecución de las Web Dynpro por ABAP.

La arquitectura de Web Dynpro se muestra en la figura siguiente, donde se observan los dos "runtime" separados y los entornos de desarrollo para cada tipo de Web Dynpro que se pueden desarrollar:

Web-Dynpro-arquitectura

La idea de Web Dynpro es muy poderosa y permite superar carencias muy importantes del desarrollo tradicional de aplicaciones Web, donde la lógica de presentación se mezcla con otros aspectos de la aplicación, o existe código redundante, o donde no es posible independizar la presentación del entorno de ejecución. Las componentes de alto nivel de SAP Netweaver utilizarán, desde ya, el modelo de Web Dynpro.

Independientemente del tipo de Web Dynpro que se desee desarrollar es importante conocer el patrón de diseño en el que está basado tanto el desarrollo de Web Dynpros ABAP como JAVA: el patrón de diseño Model-View-Controller. Una buena comprensión del mismo, permitirá un buen desarrollo de este tipo de aplicaciones web.

En el presente artículo se conocerá conceptualmente los fundamentos (arquitectura Model View Controller) de las Web Dynpros y en uno próximo de detallará paso a paso la creación de una Web Dynpro for ABAP.

Las ventajas de las Web Dynpro y su fundamento: el patrón de diseño MVC (Model View Controller)

Al comparar las Aplicaciones Web Dynpro con otros tipos de aplicaciones Web tradicionales se observa que las Web Dynpro poseen ciertas características que la distinguen y la hacen superior a otros modelos de trabajo, debido a su pautada separación entre la interacción con el usuario y las funcionalidades que hacen al negocio de la aplicación.

Por ejemplo, para aquéllos programadores que han experimentado el modelo JSP (Java Server Pages) conocen que las JSP tienen como unidad de desarrollo la páginaWeb, representada por un archivo con extensión .jsp y la aplicación Web como una serie de páginas JSP conectadas que, en conjunto, proveen los requerimientos funcionales. Por lo tanto, puede encontrarse código perteneciente al giro del negocio disperso en la totalidad de la aplicación; sin obligar al desarrollador a colocar este tipo de codificación en un sector predeterminado de la estructura de la aplicación.  Si el programador necesita cambiar alguna funcionalidad , debe “bucear“ en la aplicación y ver en qué partes se encuentra distribuida dicha funcionalidad. Este tipo de aplicaciones están libradas a las buenas técnicas de diseño y posterior codificación que se hayan utilizado.

En cambio, si se observa el modelo de Aplicación Web Dynpro, la unidad de desarrollo es una unidad llamada “Component”, compuesta por programas que juntos conforman una unidad funcional de negocio. Una componente puede poseer la cantidad de vistas que se desee, pero tiene un sólo controlador global que dirige y encapsula la funcionalidad del negocio. Por lo tanto, la codificación de la funcionalidad del negocio se encuentra acotada al controlador global . Una componente Web Dynpro, comprende un concepto mayor que sólo el de una sumatoria de páginas relacionadas, ya que las Aplicaciones Web Dynpro están basadas en una arquitectura muy poderosa denominada Model-View-Controller (MVC). Provee una técnica que permite crear una aplicación independientemente del lenguaje de programación que se utilice.

La diferencia esencial implementada en la Web Dynpro es la clara separación de la interfaz de usuario y los servicios de “backend”.

Arquitectura MODEL-VIEW-CONTROLLER (MVC)

La arquitectura MVC es utilizada por los programadores desde hace unos años y se basa en la estructuración de aplicaciones para permitir la separación de la interfaz de usuario en tres partes distintas:

  • El Modelo: Encapsula la funcionalidad del negocio real. Sirve como fuente de datos para cualquier clase de visualización. El modelo provee un único punto para actualizar o recuperar información.
  • La Vista: Visualiza los datos de la Aplicación usando una representación gráfica. Existe la libertad de mostrar los datos como se desee. Si los datos del modelo cambian, las vistas (al ser dependientes del modelo) deben cambiar.
  • El Controlador: Maneja las interacciones entre el modelo y la vista. El controlador es el responsable de manejar los eventos de usuario para actualizaciones a los datos de la aplicación y de conducir los requerimientos de navegación.

La relación establecida entre las componentes del patrón de diseño MVC, se muestra en la siguiente figura:

Arquitectura-MVC-0

Por lo tanto al aplicar este patrón de diseño MVC sobre las Web Dynpro, se observará que ésta está compuesta por las tres componentes nombradas: View (Vista), Controller (Controlador), Model (Modelo), donde específicamente cada componente realiza lo siguiente:

View: comprende los elementos predefinidos de la interfaz de usuario y el “look & feel” de la Web Dynpro, además de la funcionalidad de contrucción de nuevos elementos de la interfaz de usuario.

Controller: Se encarga del manejo de flujo de datos y de la navegación.

Model: Se encarga de la persistencia de los datos. Esto puede ser utilizando JAVA a través EJB (Enterprise Java Beans), ó ABAP a través de RFC y BAPIs. $Existe ademáds la opción de utilizar Web Services.

En un próximo artículo se detallará el paso a paso para la construcción de una Web Dynpro ABAP con un ejemplo sencillo.


Copyright 2012 Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


Copyright © 2025 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.