Una aproximación dirigida por modelos para la caracterización de la capa de presentación web de aplicaciones empresariales

  1. CORTÉS BENAVIDES, HUMBERTO JAVIER
Dirigida por:
  1. Antonio Navarro Martín Director

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 06 de julio de 2017

Tribunal:
  1. María del Carmen Fernández Chamizo Presidenta
  2. Rubén Fuentes Fernández Secretario
  3. Miguel Rodríguez Artacho Vocal
  4. Gonzalo Génova Fuster Vocal
  5. Juan Manuel Cigarrán Recuero Vocal
Departamento:
  1. Ingeniería del Software e Inteligencia Artificial

Tipo: Tesis

Resumen

Actualmente, UML es la notación de diseño más ampliamente usada en el diseño y desarrollo de software orientado a objetos. Sin embargo, UML estándar no es suficiente para caracterizar la capa de presentación Web de las aplicaciones empresariales. La comunidad de la Ingeniería Web ha proporcionado el concepto de mapa navegacional para tratar de gestionar la complejidad inherente a las aplicaciones Web. Siguiendo este concepto, hemos desarrollado NMMp, una notación de diseño que, como las notaciones de la Ingeniería Web, proporciona una visión abstracta de la estructura navegacional de la capa de presentación Web. Sin embargo, a diferencia de estas, promueve la inclusión explícita de todo el catálogo de patrones arquitectónicos y de diseño en los modelos, los cuales, son ampliamente usandos en el sector industrial. Sin embargo, NMMp no tiene en cuenta la caracterización de frameworks específicos usados ampliamente en el desarrollo de la capa de presentación Web de aplicaciones empresariales modernas. Generalmente, estos frameworks soportan el desarrollo de la navegación, la estructura de presentación y el control de acceso basado en roles (RBAC), características presentes en la mayoría de este tipo de aplicaciones. Siguiendo la filosofía de NMMp, hemos desarrollado el enfoque Enterprise Web Application Extensión (E-WAE), como un conjunto de extensiones UML que soportan el modelado de estas características presentes en frameworks específicos. Por medio de modelos PIM, E-WAE proporciona una visión abstracta de la capa de presentación Web, independientemente de detalles arquitectónicos y conceptos de programación. Sin embargo, el enfoque sigue la filosofía de desarrollo dirigida por modelos (MDD) para generar, manual o automáticamente, modelos PSM intermedios. Estos modelos caracterizan componentes implementados en los frameworks JSF y ASP.NET MVC y permiten la inclusión explicita de todo el catálogo de patrones arquitectónicos y de diseño en los modelos. La semántica de los modelos PSM esta dada por los componentes presentes en los frameworks, lo cual permite su transformación directa a código, evitando vincular la generación y mantenimiento de este con herramientas específicas. Además, esta semántica facilita la lectura de los modelos (pensando en términos de los correspondientes componentes implementados en los frameworks) y evita la ambigüedad en el modelado. Así mismo, el trabajo presentado define un conjunto de reglas para transformar los modelos PSM en código. Por tanto, se proporciona una especificación completa y ejecutable de los modelos cerrando la brecha entre modelos y código. Por otro lado, el código generado puede ser usado como mockups para validar la capa de presentación Web en una etapa temprana de desarrollo. Por medio de la capa de presentación, estos mockups, que hemos llamado mockups navegacionales, describen las funcionalidades soportadas por las aplicaciones, permitiendo a los usuarios finales interactuar con las aplicaciones sin necesidad de ejecutar lógica de negocio, validar la capa de presentación Web en el campo y escuchar sus opiniones. Por medio de la ejecución automática de las reglas de transformación, los mockups pueden ser generados en conjunto con los usuarios finales, obteniendo los beneficios de los procesos ágiles en el proceso de desarrollo. Sin embargo, los mockups son generados desde modelos UML bien definidos, que pueden ser extendidos por los desarrolladores con patrones arqutectónicos y de diseño. Por tanto, el enfoque confía el desarrollo a los programadores y no está limitado por herramientas específicas (black-box wizards) para generar el código. Desde este punto de vista, el enfoque presentado puede ser visto como un intento de reconciliar el diseño de la arquitectura y los procesos ágiles.