# Web Dynpro SAP

Web Dynpro es el recurso tecnológico que ofrece la plataforma SAP Web Application Server para manejar la capa de presentación de las aplicaciones, es decir, la interfaz de usuario de las aplicaciones Web. Web Dynpro provee un conjunto de herramientas para modelar y diseñar las interfaces de usuario basándose en el paradigma MVC (Model View Controler).

## Introducción

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 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.
SAP NetWeaver soporta dos tipos de Web Dynpro. En la versión 6.40 del SAP Web Application Server aparecieron las Web Dynpro para JAVA únicamente, y luego a partir de Netweaver ’04s, se incorporó la Web Dynpro for ABAP. (SAP Netweaver soporta dos motores de programación, el nativo ABAP, y el motor JAVA.)
Las Web Dynpro para JAVA permiten integrarse con el Java Dictionary para guardar datos obtenidos desde la vista, en una tabla perteneciente o no al Repositorio de Sap R/3. También pueden ensamblarse con aplicaciones escritas en JAVA tal como EJB (Enterprise Java Beans) o solicitar datos a otras aplicaciones a través de mensajes en XML (esta modalidad de comunicación sumada a ciertos protocolos se denomina Servicios Web). Las Web Dynpro for Java en cambio se desarrollan en el SAP Netweaver Developer Studio y se ejecutan gracias a la personalidad JAVA del WAS. Las Web Dynpro para ABAP, en cambio, se desarrollan dentro del ABAP Workbench y su ejecución es llevada a cabo por la personalidad ABAP del SAP Web Application Server. Materializando los lineamientos del modelo MVC, las Web Dynpro permite superar carencias importantes del desarrollo tradicional de aplicaciones Web, donde la lógica de presentación se mezclaba 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 se sustentan en el modelo de Web Dynpro, al igual que la construcción del contenido de SAP Enterprise Portal.

## MVC (Model View Controller) como modelo de programación

Las Web Dynpro poseen características que la distinguen de 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.
Si se lo contrasta con el modelo JSP (Java Server Pages), estas últimas tienen como unidad de desarrollo la página web, 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 la arquitectura MVC, en este caso implementados por el modelo de Aplicación Web Dynpro, la unidad de desarrollo es una unidad llamada “Component”, compuesta por programas Java que juntos conforman una unidad funcional de negocio. Una componente puede poseer la cantidad de vistas que se desee, pero tiene un solo 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 simplemente una sumatoria de páginas relacionadas ya que las Aplicaciones Web Dynpro están basadas en la arquitectura Model-View-Controller (MVC).

## Limitaciones del modelo Web Dynpro

Es importante mencionar que el modelo Web Dynpro se basa en la tecnología propietaria de SAP NetWeaver Application Server, y por lo tanto, no es aplicables a otros entornos de programación.