Investigación

PhD Thesis: Feliu Trias

AN ADM-BASED METHOD FOR MIGRATING CMS-BASED WEB APPLICATIONS

En la última década, las aplicaciones Web manejan grandes cantidades de contenido digital y soportan procesos cada vez más complejos Por este motivo, las organizaciones se han visto con la necesidad de utilizar plataformas que les ayuden a mantener sus aplicaciones Web y a gestionar de una manera robusta y fiable el gran volumen de contenido que éstas manejan- Una de las soluciones más adoptadas ha sido la de basar las aplicaciones Web sobre los Sistemas de Gestión de Contenidos (Content Management Systems, CMS). Estas aplicaciones Web basadas en CMS proporcionan algunas características tales como, la creación dinámica de contenido y diseño, la definición de diferentes niveles de permisos para el acceso y la posibilidad de extender su funcionalidad de manera sencilla.
Actualemente, en el mercado podemos encontrar un número considerable de diferentes plataformas CMS. Este hecho, junto con los cambios de los objetivos que normalmente se dan en las organizaciones, causa que éstas se vean con la necesidad de migrar sus aplicaciones Web basadas en CMS a otras plataformas CMS más modernas o que satisfagan mejor sus necesidades.
Este proceso de migración implica un proceso de reingeniería complejo, largo y propensos a errores. En la actualidad, la Architecture-Driven Modernization (ADM) se considera una de las propuestas más efectivas para sistematizar este proceso y para mitigar todas sus desventajas. ADM aboga por la aplicación de técnicas y herramientas basadas en los principios de la Model-Driven Architecture (MDA) para llevar a cabo el proceso de migración. Además, desarrolla un conjunto de metamodelos estándar para representar la información involucrada en el proceso. Dos de estos metamodelos son: el Abstract Syntax Tree Metamodel (ASTM), que permite representar mediante modelos específicos de plataforma la sintaxis de un código fuente, y el Knowledge Discovery Metamodel (KDM) que permite representar a nivel independiente de plataforma principalmente la semántica de este código.
Hemos llevado a cabo una revisión de la literatura cuyos resultados evidencian que no existe ningún método basado en ADM para la automaización del proceso de migración de aplicaciones Web basadas en CMS a otras plataformas CMS.
Por este motivo, proponemos el método ADMigraCMS, un método de migración basado en ADM que defined unas directrices para migrar aplicaci0ones Web basadas en CMS a otras plataformas CMS.
El método ADMigraCMS se compone de tres fases que definen un proceso de reingeniería en “herradura”: la fase de ingeniería inversa, la fase de restructuración y la fase de ingeniería directa. Durante la fase de ingeniería inversa, se extrae el conocimiento a partir del código de la aplicación Web basada en CMS origen y se representa mediante un conjunto de modelos definidos a diferente nivel de abstracción. Uno de estos modelos es el modelo CMS que representa este conocimiento dentro del dominio CMS. Este modelo está conforme al metamodel CMS Common Metamodel que hemos definido e implementado específicamente para el método ADMigraCMS. En la fase de restructuración, se reestructura el modelo CMS para adaptar ese conocimiento a las características de la plataforma CMS destino; finalmente, en la fase de ingeniería directa, un conjunto de modelos definido a un nivel de abstracción más bajo, se genera el código que implementa la aplicación Web destino basado en CMS.
El método ADMigraCMS se estructura en cuatro niveles de modelado diferentes. El nivel 0 represneta el código que implementa la aplicación Web basada en CMS (la origen y la destino), el Nivel 1 represneta el código a un nivel de abstracción específico de plataforma mediante un modelo conforme al metamodelo ASTM (modelo ASTM_PHP); el nivel 2, representa el código a un nivel de abstracción independiente de plataforma mediante un modelo conforme al metamodelo CMS. Para cada nivel de modelado, se ha definido un lenguaje de modelado mediante Lenguajes Específicos de Dominio (Domain Specific Language, DSL), tales como, el DSL PHP (Nivel 0), el DSL ASTM_PHP (Nivel 1), el DSL KDM_CODE (Nivel 2) y el DSL CMS (Nivel 3). Para cada DSL, hemos definido una sintaxis abstracta con un metamodelo y una sintaxis correcta con una notación gráfica específica.
Además, el método ADMigraCMS sistematiza el proceso de migración mediante un conjunto de transformaciones automatizadas que permiten pasar de un nivel de modelado a otro. Este metamodelo define tres tipos de transformaciones automatizadas: transformación texto-a-modelo (text-to-model, T2M) para extraer el conocimiento del código fuente de la aplicación Web basada en CMS origen, transformación modelo-a-modelo (model-to-model, M2T) para generar el código que implementa la aplicación Web basada en CMS destino.
Hasta el momento, el método ADMigraCMS se centra en la migración de aplicaciones Web basadas en plataformas CMS de código abierto como Drupal, Joomla! O WordPress, ya que a día de hoy son las plataformas CMS más utilizadas por las empresas para implementar sus aplicaciones Web.
El método ADMigraCMS está soportado por una herramienta llamada ADMigraCMS toolkit. Esta herramienta provee al método de editores gráficos (al estilo de árbol y al estilo UML) para cada DSL e implementa el conjunto completo de transformaciones automatizadas.
El método ADMigraCMS se ha validado y redefinido mediante la migración de dos casos de estudio: una aplicación Web para la gestión de un centro de coaching (Coaching Web) y otra para la administración de un centro de bienestar y nutrición (Websana). Esta validación nos ha permitido evaluar la correcta especificación de los metamodelos, la ejecución sin errores de los editores gráficos y la correcta ejecución de las transformaciones automatizadas. Además, el trabajo presentado en esta Tesis Doctoral ha sido validado por la comunidad científica mediante la presentación de los resultados parciales en congresos nacionales e internacionales de renombrado prestigio.

Defense Data

  • Author: Feliu Trias
  • Thesis Supervisor: Maria Valeria De Castro Martínez,Marcos Lopez Sanz
  • Thesis Committee:Félix Óscar García Rubio, Javier Garzas Parra, Ignacio García Rodríguez De Gúzman, Marco Brambilla, Fernando Sánchez Figueroa
  • Thesis defense date: 21/11/2014
  • Department: Ciencias de la computación, arquitectura de la computación, lenguajes y sistemas informáticos y estadística e investigación operativa
  • School/Faculty: Escuela Superior de Ingeniería Informática
  • University: University Rey Juan Carlos

Downloads