• No se han encontrado resultados

Utilizando el enfoque MDA para la construcción de aplicaciones web móviles centradas en los datos

N/A
N/A
Protected

Academic year: 2021

Share "Utilizando el enfoque MDA para la construcción de aplicaciones web móviles centradas en los datos"

Copied!
5
0
0

Texto completo

(1)

Utilizando el Enfoque MDA para la Construcción de

Aplicaciones Web Móviles Centradas en los Datos

Pablo Vera, Claudia Pons, Daniel Giulianelli, Rocío Rodríguez

Universidad Nacional de La Matanza

Departamento de Ingeniería e Investigaciones Tecnológicas

Florencio Varela 1903, San Justo, Buenos Aires, Argentina. Tel: 4480-8900 (interno 8630)

Universidad Nacional de la Plata

LIFIA – Laboratorio de Investigación y Formación en Informática Avanzada Calle 50 y 150, La Plata, Buenos Aires, Argentina. Tel: 221-422-8252 [email protected], [email protected], [email protected],

[email protected]

Resumen

Se propone una metodología basada en MDA (Model Driven Architecture) que parte de la confección de una reducida cantidad de modelos en UML (Unified Modelling Language) para poder generar en forma automática una aplicación web especialmente diseñada para dispositivos móviles. Para lograr el objetivo, se construirá un perfil de UML, que permita extender los diagramas existentes definiendo los estereotipos necesarios; generando además un diagrama de navegación y componentes. Se definirán tres modelos: modelo de entidades, modelo de navegación/componentes y modelo de comportamiento. Los modelos se podrán realizar en cualquier herramienta existente en el mercado y luego serán exportados al formato estándar XMI (formato basado en XML para describir los diagramas UML). El XMI se importará en una aplicación que generará las transformaciones necesarias, tomando los datos provistos por los modelos armados, obteniéndose automáticamente la base de datos y el código fuente del sistema. Dicho código

estará basado en el patrón Model View Controller (MVC) permitiendo generar diferentes interfaces de visualización con el mismo modelo de dominio y controladores. Esto permitirá generar aplicaciones web móviles con dos vistas diferentes: en XHTML accesible por la gran mayoría de los dispositivos existentes y otra vista para dispositivos avanzados que soporten HTML 5.

Palabras clave: MDA, UML, Hipermedia Móvil, XMI, MVC

Contexto

Este proyecto, coordinado por la Universidad Nacional de La Matanza, cuenta con asesoría y colaboración de la Universidad Nacional de La Plata. Se corresponde a una línea de investigación y desarrollo dentro del área de Dispositivos Móviles, en la cual existen otras líneas de trabajo en ejecución.

Modelado de Hipermedia

El diseño de sistemas de hipermedia es un área de estudio que data de varios años atrás cuando la web recién comenzaba a

(2)

popularizarse. Unos de los primeros trabajos en el área es OOHDM (Object Oriented Hypermedia Design Method) [8] que establece cuatro actividades principales en el diseño hipermedia que luego fueron consideradas por trabajos posteriores. Estas actividades son: diseño conceptual, diseño de la navegación, diseño de la interfaz abstracta e implementación.

El diseño conceptual es similar al realizado al modelar cualquier sistema donde se identifican las distintas entidades del mismo y sus relaciones. En OOHDM y UWE (UML Based Web Engineering) [6] se utilizan diagramas de clases y tarjetas CRC (Class Responsibility, Collaboration). Otros trabajos utilizan diagramas de entidad relación como WebML (Web Modeling Language) [1] y RMM (Relationship Management Methodology) [4].

El diseño de la navegación consiste en construir un modelo que permita identificar los distintos caminos que el usuario podrá seguir al utilizar la aplicación. Este punto es particular de los sistemas de hipermedia donde el usuario dispone de un entorno no lineal donde puede seguir distintos vínculos para navegar por las entidades del sistema por ejemplo el hipertexto en un sitio web. En este aspecto la mayoría de los métodos existentes se basan en la creación de un diagrama de clases particular con la ayuda de estereotipos que complementan las clases navegables, es decir que la navegación se deriva de modelos estructurales. MDHDM (Desarrollo de Hipermedia Dirigido por Modelos) [7] complementa la navegación mediante un modelo de procesos que permite que la lógica del negocio pueda determinar en cierta forma la navegación del usuario en el sistema dándole más dinamismo.

La actividad siguiente es el diseño de la interfaz abstracta que define de una forma independiente de la tecnología la

forma en que el usuario verá e interactuará con la aplicación. OOHDM utiliza ADV (Abstract Data Views) [2] donde se van agrupando distintos objetos de la interfaz para armar un prototipo de la pantalla. WebML crea una notación gráfica propia para definir las pantallas pero basadas en XML lo que permite fácilmente realizar transformaciones para implementar por ejemplo en HTML.

Por último la implementación se trata de la construcción de la aplicación con los modelos definidos. Aquí los distintos métodos tratan de automatizar lo más posible la construcción del software resultante. WebML lo realiza mediante transformaciones XSLT (Extensible Stylesheet Language Transformation) [10]. OOHDM indica el mapeo que debe realizarse en cada uno de los modelos para el desarrollo del software y propone una herramienta que permita diseñar una aplicación utilizando dicho modelo y derivar la aplicación relacionada. MDHDM realiza transformaciones para llegar a código fuente, bajo un entorno Java.

Desarrollo Basado en Modelos

MDA (Model Driven Architecture) [5] es una arquitectura para el desarrollo de aplicaciones que se basa en la construcción de modelos a distintos niveles de abstracción y busca como objetivo principal lograr la mayor automatización posible al pasar de un modelo a otro hasta llegar a producir código fuente partiendo de la especificación de dichos modelos. Los modelos que incluye MDA son:

 CIM (Computational Independent Model): Es un modelo independiente de lo computacional. No muestra detalles de la estructura de un sistema. También suele ser denominado modelo de dominio, y para su especificación se utiliza un

(3)

vocabulario que es familiar a los practicantes del dominio en cuestión. Se focaliza en el contexto

En este nivel se representa exactamente qué es lo que se espera que el sistema haga, pero oculta la información de la tecnología o como será implementada.

 PIM (Platform Independent Model): Es un modelo independiente de la plataforma. Esto se puede lograr a través de un modelado que no esté enfocado a una determinada plataforma sino que realice una implementación abstracta de los detalles técnicos necesarios para su construcción.

 PSM (Platform Specific Model): Es un modelo específico de la plataforma. Combina las especificaciones del PIM con los detalles que indican como ese sistema utiliza un tipo particular de plataforma.

Modelado de sitios web móviles

Los sitios web creados especialmente para dispositivos móviles deben cumplir varios requisitos, incluso cuando son navegados desde un Smartphone con amplias capacidades de procesamiento tienen las siguientes limitaciones:

 Pantalla de tamaño reducido  Necesidad de controles simples  Mostrar la información de forma

sencilla y directa, sin los complejos layouts de los sitios web convencionales

 Sistema de navegación práctico e intuitivo

 Ingreso de texto sencillo

Estas características hacen que la interfaz final mostrada al usuario deba ser simple y homogénea.

Este trabajo plantea una metodología para construir aplicaciones mediante MDA que a partir del modelado pueda generar en forma automática un sitio web navegable desde dispositivos móviles.

Al ser la interfaz simple no será necesario realizar un diseño detallado de la misma sino que se podrán derivar en forma automática a partir del esquema de navegación del sistema complementado con el modelado de componentes estándares. A partir del modelado se pretende generar una aplicación móvil que ofrezca dos tipos de vistas:

 XHTML: para que pueda ser accesible por la gran mayoría de los dispositivos existentes tomando como base los lineamientos del W3C (World Wide Web Consortium) en cuanto a buenas prácticas y a las características mínimas de los dispositivos definidas en el DDC (Default Delivery Contex) [9].

 HTML 5: para equipos más modernos con mayor capacidad de procesamiento y pantallas táctiles. Utilizando este enfoque se podrán generar aplicaciones totalmente funcionales sin necesidad de escribir ni una sola línea de código. Algunos ejemplos de aplicaciones que será posible generar con esta metodología son las siguientes:

 Listado de compras  Toma de pedidos  Notas con categorías  Seguimiento de tareas

Para poder generar una aplicación funcional es necesario realizar una serie de modelos básicos que serán la base de las transformaciones aplicadas hasta llegar al código fuente de la aplicación. La Figura 1 muestra los distintos modelos que debe realizar el usuario para generar la aplicación.

(4)

Figura 1: Modelos Necesarios El modelo de entidades se corresponde con el diseño conceptual del sistema y estará basado en la utilización de un diagrama de clases estereotipado para facilitar la generación de los scripts de base de datos a partir del mismo.

En esta propuesta se unificará el modelo de navegación y el diseño de la interfaz abstracta propuesta por OOHDM. Es decir que en un único diagrama se definirá la interfaz del sistema y la navegación dentro las distintas partes de la misma. Para ello, se utilizará el diagrama de componentes de UML creando una serie de componentes parametrizables como por ejemplo: Listado, Búsqueda, CRUD (Create, Read, Update, Delete), Login, etc. Siguiendo el enfoque MDA parte del modelo de navegación será derivado en forma automática a partir del modelo de entidades haciendo que el usuario sólo deba completar y/o modificar a gusto este segundo diagrama para poder personalizar la navegación en sitio web que luego será generado.

Se incorporará además la posibilidad de modelar un comportamiento básico de las entidades ante cambios en sus propiedades. Por ejemplo en un sistema de administración de tareas si su estado pasa a ser completado, se debe completar

en forma automática la fecha de finalización de dicha tarea. Este modelado de comportamiento podrá realizarse con diagramas de Estado.

Finalmente la etapa de implementación se realizará mediante una herramienta que tome la información de los diagramas UML aprovechando su representación XML denominada XMI. Esta herramienta realizará las transformaciones necesarias y generará por un lado los scripts necesarios para crear la base de datos de la aplicación y por el otro el código fuente de la misma. El código fuente será realizado siguiendo el patrón MVC [3] lo que permitirá generar dos interfaces distintas con las mismas clases de negocios y de datos. De esta forma el sitio móvil tendrá las dos vistas mencionadas anteriormente: una vista básica en XHTML y una vista avanzada basada en HTML 5.

La figura 2 muestra el esquema completo de la propuesta donde el usuario solo tiene intervención en la etapa inicial del modelado. Modelo de Entidades Modelo de Navegación Modelo de comportamiento básico Componentes estándar

(5)

Líneas

de

Investigación

y

Desarrollo

Los temas que se desarrollan dentro de esta línea son los siguientes:

 Desarrollo Dirigido por Modelos  Modelado de hipermedia móvil  Modelado basado en componentes  Perfiles de UML

 Generación automática de Código a partir del XMI

 Patrón MVC

Resultados y Objetivos

El objetivo principal de esta línea de Investigación y Desarrollo es definir una metodología de modelado de aplicaciones web móviles que permita la generación de código automático.

Para ello se persiguen los siguientes objetivos secundarios:

 Crear un modelo de navegación

basado en componentes

configurables.

 Crear un perfil UML que complemente los modelos de entidades comportamiento y navegación

 Desarrollo de una herramienta que permita importar el XMI de los modelos definidos y arroje código fuente de una aplicación funcional.

Formación de Recursos Humanos

En esta línea de investigación participan 5 docentes y 2 alumnos en formación. Este trabajo tiene relación directa con una tesis Doctoral en desarrollo por uno de los docentes del grupo de investigación

Referencias

[1] Ceri S., Fraternali P., Bongio. “Web Modeling Language (WebML): a modeling language for designing Web

sites”, Computer Networks, Volume 33, Issues 1–6, (2000), pp 137-157

[2] Cowan D. and Lucena C.. “Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse”. IEEE Trans. Softw. Eng. 21, 3 (1995), 229-243

[3] Fowler M. “Model View Controller”, Patterns of Enterprise Application Architecture”. Addison-Wesley (2003), pp 330-332

[4] Isakowitz, E. Stohr A. and Balasubramanian P. “RMM: a methodology for structured hypermedia design”. ACM (1995), 34-44.

[5] Kleppe A., Warmer J., Bast W. “MDA explained: the model driven architecture: practice and promise”. Addison-Wesley Professional (2003)

[6] Koch, Knapp, Zhang,

Baumeister.Uml-Based Web Engineering, Chapter 7 “Web Engineering: Modelling and Implementing Web Applications”, Springer London (2008), pp 157-191 [7] Pineda C. “Un Método de Desarrollo de Hipermedia Dirigido por Modelos”. Tesis Doctoral. Universidad Politécnica de Valencia. (2008)

http://riunet.upv.es/bitstream/handle/1025 1/3884/tesisUPV2961.pdf

[8] Schwabe D. y Rossi G. “An object oriented approach to Web-based applications design”. Theor. Pract. Object Syst. Volume 4, Issue 4 (1998), pp 207-225.

[9] W3C, “Default Delivery Context” (2008).

http://www.w3.org/TR/mobile-bp/#ddc [10] W3C, “XSL Transformations (XSLT)”. Version 1.0 (1999).

Referencias

Documento similar

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

Además se emplean los métodos empíricos tales como: el análisis de las fuentes de información, empleado para obtener resultados confiables relacionados con las pruebas

Para dar inicio al desarrollo de la herramienta para el monitoreo de errores de las aplicaciones web en el Centro FORTES, la metodología seleccionada posibilitó realizar previamente

Con este trabajo de Tesina, se busca proponer un esquema de seguridad para el desarrollo de Aplicaciones Web que garantice la protección de los datos sensibles de los

Analizar, diseñar e implementar aplicaciones, ya sean en entorno web, para dispositivos móviles, videojuegos o de ámbito general, utilizando los lenguajes de programación y

Lo que relaciona a las aplicaciones web con la base de datos, es la capa de acceso a datos, por lo que para llevar a cabo las pruebas de eficiencia bajo carga intensiva a

Se caracterizan, además, la metodología de desarrollo de software, la herramienta de modelado, el lenguaje de programación Web, el sistema gestor de base de datos y el sistema

Se propone un sistema de tres capas, tendrá un módulo estudiante, uno profesor y administrador.El módulo de estudiante funciona de la siguiente manera: el estudiante podrá elegir