propuesta para trabajo de grado -...

20
Pontificia Universidad Javeriana Propuesta para Trabajo de Grado Página i PROPUESTA PARA TRABAJO DE GRADO TÍTULO Automatización del desarrollo de aplicaciones web mediante el enfoque MDA-MDE MODALIDAD Aplicación practica OBJETIVO GENERAL Aplicar la metodología MDA-MDE para la creación de aplicaciones web, definiendo un lenguaje de modelado para representar las páginas web e implementar el transformador con base a un modelo, generando las páginas con su respectivo flujo en una tecnología específica. ESTUDIANTE(S) Ferney Aguillón _________________________________________ Documento Celular Teléfono fijo Correo Javeriano c.c. 1026274966 3017782450 2278355 [email protected] Mario Alonso Mateus Gomez_____________________________________ Documento c.c. 1013623801 Celular 3163851545 Teléfono fijo 7590708 Correo Javeriano [email protected] DIRECTOR Ing. Maria Consuelo Franky__________________________________ Documento Celular Teléfono fijo Correo Javeriano Empresa donde trabaja y cargo (57-1) 3208320 ext 5993, 5338 [email protected] Profesora Asociada de Ingeniería de Sistemas Facultad de Ingeniería Pontificia Universidad Javeriana Bo- gotá ASESOR Ing Jaime Pavlich Ma- riscal [email protected] Profesora Asociada de Ingeniería de Sistemas Facultad de Ingeniería Pontificia Universidad Javeriana Bo- gotá

Upload: vuonghanh

Post on 04-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página i

PROPUESTA PARA TRABAJO DE GRADO TÍTULO

Automatización del desarrollo de aplicaciones web mediante el enfoque MDA-MDE

MODALIDAD

Aplicación practica

OBJETIVO GENERAL

Aplicar la metodología MDA-MDE para la creación de aplicaciones web, definiendo un lenguaje de modelado para representar las páginas web e implementar el transformador con base a un modelo, generando las páginas con su respectivo flujo en una tecnología específica.

ESTUDIANTE(S)

Ferney Aguillón _________________________________________ Documento Celular Teléfono fijo Correo Javeriano c.c. 1026274966 3017782450 2278355 [email protected]

Mario Alonso Mateus Gomez_____________________________________ Documento c.c. 1013623801

Celular 3163851545

Teléfono fijo 7590708

Correo Javeriano [email protected]

DIRECTOR

Ing. Maria Consuelo Franky__________________________________ Documento Celular Teléfono fijo Correo Javeriano Empresa donde trabaja y cargo

(57-1) 3208320

ext 5993, 5338 [email protected] Profesora Asociada de Ingeniería de

Sistemas

Facultad de Ingeniería

Pontificia Universidad Javeriana – Bo-

gotá

ASESOR

Ing Jaime Pavlich Ma-

riscal

[email protected] Profesora Asociada de Ingeniería de

Sistemas

Facultad de Ingeniería

Pontificia Universidad Javeriana – Bo-

gotá

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página ii

Contenido

1 OPORTUNIDAD O PROBLEMÁTICA...........................................................1

1.1 DESCRIPCIÓN DE LA OPORTUNIDAD O PROBLEMÁTICA ..........................1

1.2 FORMULACIÓN .......................................................................................2 1.3 IMPACTO ESPERADO DEL PROYECTO ......................................................3

2 DESCRIPCIÓN DEL PROYECTO.................................................................4

2.1 OBJETIVO GENERAL ................................................................................4 2.2 OBJETIVOS ESPECÍFICOS .........................................................................4

3 PROCESO ..................................................................................................5

3.1 FASE DE COMPRENSIÓN ..........................................................................5 3.2 FASE DE INVESTIGACIÓN ........................................................................5

3.3 FASE DE ESTUDIO DE PLATAFORMA JEE ................................................5 3.4 FASE DE DEFINICIÓN DEL METAMODELO ................................................6 3.5 FASE DE ANÁLISIS DE HERRAMIENTAS ...................................................6

3.6 FASE DE DESARROLLO DEL TRANSFORMADOR ........................................7

4 GESTIÓN DEL PROYECTO ........................................................................8

4.1 ESTIMACIÓN DE LA DURACIÓN DEL PROYECTO (ELABORACIÓN DEL

CRONOGRAMA) .................................................................................................8

4.2 ESTIMACIÓN DEL COSTO DEL PROYECTO (PRESUPUESTO) ......................9

5 MARCO TEÓRICO / ESTADO DEL ARTE .................................................10

5.1 TECNOLOGÍAS JSF PARA PÁGINAS WEB EN JEE....................................10 5.2 TECNOLOGÍAS MDE PARA TRANSFORMACIONES .................................11

5.3 DEFINICIONES ......................................................................................15 5.4 REFERENCIAS Y BIBLIOGRAFÍA ............................................................17

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 1

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

1 Oportunidad o Problemática

1.1 Descripción de la Oportunidad o Problemática

El Internet se ha convertido en una herramienta de gran uso para las actividades diarias de cualquier persona. Utilizamos Internet para comunicarnos, aprender, ex-plorar, comentar, comunicarnos y en general realizar un gran número de actividades que nos facilitan las tareas que hacemos diariamente. Como resultado de esto y con el avance tecnológico que hemos experimentado en los últimos años, han aparecido una infinidad de aplicaciones y sitios Web dirigidos a todos los públicos [1].

En la última década el Internet ha dejado de ser solo una herramienta de comunica-ción y de consulta de información y se ha transformado en una plataforma muy im-portante para los negocios (Comercio Electrónico) y la educación virtual o educación a distancia (E-Learning) y esto ha traído consigo un gran crecimiento en el desarro-llo del software y de aplicaciones web para Internet [1].

El problema del desarrollo de aplicaciones web es que no existe una metodología universal aceptada para guiar al desarrollador en el proceso de desarrollo, además las metodologías usadas actualmente no tienen mucha aceptación debido al nivel de valides que ofrecen, por esta razón es necesario una metodología rápida y robusta que satisfaga los requerimientos para crear aplicaciones web [1].

MDE (Desarrollo de Software Dirigido por Modelos) propone una metodología para el desarrollo software, esta consiste en crear modelos, o abstracciones, para hacer transformaciones a código [2].Esto hace que haya un incremento de productividad y que sean más fáciles los procesos de formulación y generación de código. Los mo-delos no se utilizan sólo para la generación de código, sino que pueden producir como salida herramientas de comprobación, generando una mejora en la consisten-cia y la calidad, ya que las transformaciones de modelos a código se basan en pa-trones de diseño que permiten generar un código estructurado conforme a una ar-quitectura [2].

Si se hace un desarrollo de software sin utilización de modelos el programador en-frentaría continuos cambios en las tecnologías de implementación, lo que implica realizar esfuerzos importantes en el diseño de la aplicación para integrar diferentes tecnologías, para este problema MDE ofrece una alternativa para el desarrollo de software independiente a plataforma, esto es debido a la utilización de estándares establecidos por la OMG, la cual es una organización que propone estándares para

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 2

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

el desarrollo de software orientado a objetos, reconocido por el establecimiento de diferentes estándares como UML , XMI y CORBA

MDE aparece como una ayuda para la creación de procesos de negocio en los sis-temas de información, por eso MDE es una gran herramienta para la gente de nego-cios y los ingenieros del software. El desarrollo de aplicaciones ha cambiado y tien-de a ser cada vez más ágil debido a que se simplifican procesos que normalmente son repetitivos

La orientación al modelo orientado a objetos no parece ser suficiente para manejar el problema del crecimiento de la complejidad de los sistemas Las herramientas MDE usan los conceptos anteriores y hacen más fácil para los ingenieros del softwa-re el soporte a la evolución del software, tanto en su lógica como en su tecnología.

Actualmente el crecimiento en el tamaño y la complejidad de los sitios web han cau-sado problemas con respecto al desarrollo de páginas web, debido a su poca reusabilidad, tiempos limitados de desarrollo y una difícil detección de errores, han tenido como consecuencia la dificultad en la evolución y mantenimiento en las pági-nas web. Con la ayuda del enfoque MDA/MDE, en el proceso del rediseño de las páginas web, se reduce la dificultad en el mantenimiento y evolución de las páginas web[3].

1.2 Formulación

La pregunta generadora que centra la atención para desarrollar el proyecto, se sinte-tiza de la siguiente manera:

¿De qué forma se puede generar código de manera correcta y eficiente para la creación de aplicaciones web, mediante la metodología MDA/MDE en el desarrollo de páginas web?

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 3

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

1.3 Impacto Esperado del Proyecto

Mercado del desarrollo de software en Colombia

El sector de las tecnologías de información (TI) conlleva oportunidades para el desarrollo económico político y social en todo el mundo. Dentro del sector TI, se encuentra el sector de Software, el cual en los últimos años ha sido considerado un sector estratégico para el la economía. El desarrollo de software está en crecimiento y debido a esto la innovación de nuevas herramientas para el desarrollo de software está siempre creciendo.

El desarrollo ágil y eficiente de las aplicaciones web puede dar un gran valor agre-gado a la economía, más concretamente en Colombia, donde el sector está en constante crecimiento.

Los generadores de código pueden ayudar a que se haga más rápido las aplicacio-nes y si usamos el enfoque MDA/MDE podremos mejorar en los procesos que se tienen para una obtención de código eficiente, además a partir de un modelo inde-pendiente de plataforma se podría generar código para múltiples plataformas espe-cíficas elevando de gran manera la reutilización de un mismo modelo.

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 4

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

2 Descripción del Proyecto

2.1 Objetivo general

Aplicar la metodología MDA-MDE para la creación de aplicaciones web, definiendo un lenguaje de modelado para representar las páginas web e implementar el trans-formador con base a un modelo, generando las páginas con su respectivo flujo en una tecnología JSF.

2.2 Objetivos específicos

1. Analizar las Herramientas propuestas por la casa de desarrollo de software para identificar los elementos que compondrán el meta modelo.

2. Investigar Herramientas MDA para hacer transformaciones que generen pá-ginas web, enfatizando en las más usadas y en las que ofrezcan mayores beneficios para nuestro proyecto (curva de aprendizaje, interoperabilidad, uso de estándares, etc.).

3. Profundizar en tecnologías JEE, enfatizando en el desarrollo web dado que el foco del proyecto son el flujo de las páginas web para la implementación de un primer transformador para JEE.

4. Aprender tecnologías empleadas para el desarrollo del transformador 5. Definir un meta modelo, en donde se establezcan los diferentes elementos

del modelo para las páginas web , como el flujo de la página web y las clases para el soporte de las paginas

6. Desarrollar un transformador que genere la página web en la tecnología JEE (JSF).

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 5

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

3 Proceso

3.1 Fase de Comprensión

La fase de comprensión permitirá alcanzar el primer objetivo específico. Por me-dio de las siguientes actividades necesarias se alcanzará este objetivo.

Se llevarán a cabo las siguientes actividades:

a) Análisis de Herramientas Por medio del análisis de herramientas de una casa desarrolladora, será posible la identificación de los diversos elementos que harán parte del modelo, permi-tiendo de esta forma el diseño de las páginas web.

b) Definición de elementos Una vez analizadas las diversas herramientas utilizadas para el desarrollo de pá-ginas web, se procederá con definir las tecnologías que soportarán el transfor-mador, el alcance y complejidad de las páginas web que soportará el transforma-dor.

3.2 Fase de Investigación

La fase de investigación permitirá alcanzar el primer objetivo específico. Las si-guientes son las actividades necesarias para alcanzar este objetivo.

a. Actividades

1. Obtención y localización de bibliografía Actividad relacionada con la búsqueda bibliográfica de acuerdo a la metodología MDA y MDE por medio de libros, bases de datos, tesis, y a través de personas que estén relacionadas con el tema, para consolidar una bibliografía inicial.

2. Selección de Bibliografía Se seleccionaran los documentos de acuerdo a la relevancia que tengan estos dentro de la metodología MDA y MDE.

3. Análisis de la Bibliografía En esta actividad se utilizara por método el análisis de la información, de acuerdo a la relevancia que tenga la bibliografía dentro de la metodología MDA – MDE.

4. Organización de la Bibliografía En esta actividad la bibliografía seleccionada, será organizada por medio de eti-quetas, notas y resúmenes que permitan una clasificación coherente de la biblio-grafía para su posterior búsqueda.

3.3 Fase de Estudio de Plataforma JEE

La fase de Estudio de Plataforma permite alcanzar el segundo objetivo específi-co. Las siguientes son las actividades necesarias para alcanzar este objetivo.

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 6

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

a. Actividades

i. Investigación de bibliografía Buscar material bibliográfico en las diferentes tecnologías usadas en JEE para la creación de páginas web, enfocándose en los elementos y características que se presentan en estas tecnologías.

ii. Desarrollo de Tutoriales En esta actividad se espera generar habilidades y conocer las diferentes caracte-rísticas de las tecnologías de JEE involucradas en el desarrollo de páginas web.

3.4 Fase de análisis de Herramientas

a. Actividades

1. Tutorial de las Herramientas MDA y MDE

En esta etapa se busca desarrollar habilidades y familiarizarse en las diferentes herramientas que existen para la metodología MDA y MDE, por medio de tutoria-les.

2. Tutorial de las Herramientas MDA y MDE En esta etapa se busca desarrollar habilidades y familiarizarse en las diferentes herramientas que existen para la metodología MDA y MDE, por medio de tutoria-les.

3. Elección de las herramientas a utilizar Se definirá el conjunto de herramientas apropiado para poder llevar a cabo el desarrollo del transformador, de acuerdo a las necesidades que se deben resol-ver.

3.5 Fase de definición del metamodelo

La fase de definición del metamodelo permite alcanzar el cuarto objetivo específi-co. Las siguientes son las actividades necesarias para alcanzar este objetivo.

a. Actividades

1. Definición del Metamodelo En esta actividad se definirá los elementos que harán parte del metamodelo para la modelación de las páginas web que serán generadas por el transformador.

2. Validación del Metamodelo En esta actividad se verificara que el metamodelo definido en la anterior actividad sea coherente y completo de acuerdo a la modelación de páginas web.

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 7

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

3. Documentación del Metamodelo En esta actividad se documentara el metamodelo definido en la primera actividad, detallando los elementos que componen el metamodelo, sus características y re-laciones entre estos elementos.

3.6 Fase de desarrollo del transformador

a. Actividades

Actividades En esta etapa se modelara el transformador, identificando los diversos módulos existentes en el transformador para JSF.

1. Desarrollo del transformador En esta etapa se llevara a cabo el desarrollo del transformador, de forma cohe-rente con el diseño del transformador.

2. Validación del transformador En esta etapa se busca que el transformador genera código coherentemente to-mando como base el caso de estudio definido anteriormente.

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 8

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

4 Gestión del Proyecto

4.1 Estimación de la duración del Proyecto (Elaboración del Cronograma)

Las tareas y actividades serán llevadas a cabo como se muestra en el anexo Pla-neacion.mpx o propuesta.xml.

Actividad Descripción

Análisis de herramientas de la casa de desarrollo

Análisis de las diversas herramientas para elegir los elementos que permitirán la definición de metamodelo.

Estudio de la plataforma Java EE 6 Estudio de las tecnologías de Java EE 6 para la creación de páginas web.

Tutorial de la plataforma Java EE 6 Mejorar las habilidades y conocer pro-fundamente las tecnologías utilizadas para la generación de páginas web.

Estudio de las herramientas MDE pa-ra definir modelos y transformadores.

Estudio y análisis en las diferentes he-rramientas MDE.

Tutorial en las herramientas MDE pa-ra definir modelos y transformadores

Desarrollar habilidades en las diversas herramientas MDE, igualmente aprender las diferentes características de las he-rramientas.

Elección de las herramientas MDE para definir modelos y transformado-res

Se elegirán un conjunto coherente de herramientas que permitan el desarrollo del transformador.

Definición de metamodelo Definir los elementos del metamodelo que servirá para la modelación de las páginas web.

Validación de Modelo Verificar que el metamodelo definido cumple con todas las características de una página web.

Documentación del metamodelo Documentar los diferentes elementos de los que se compone el modelo definido.

Diseño del transformador En esta actividad se modelara el trans-formador.

Implementación del Transformador En esta actividad se llevara a cabo la implementación del transformador, te-

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 9

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

niendo en cuenta que cumpla con el diseño.

Validación del Transformador Por medio del caso de prueba se valida-ra que el transformador cumple con el objetivo de su desarrollo.

Documentación del transformador Documentar el transformador desarro-llado.

4.2 Estimación del costo del Proyecto (Presupuesto)

El esfuerzo para la realización del proyecto se traduce en costo (dinero). De esta forma para realizar la estimación tendremos en cuenta lo siguiente:

Costo de un estudiante sin graduarse: $ 37,000 COP (8 horas de trabajo)

6 días semanales de trabajo

Duración del proyecto 4 meses (18 semanas)

Costo Ingeniero de Sistemas Graduado: $ 90,000 COP / hora

Reuniones con el director de trabajo de grado cada quince días por dos ho-ras

Teniendo en cuenta lo anterior, el costo del proyecto sería el siguiente:

(90,000 𝐶𝑂𝑃 × 3 ℎ𝑜𝑟𝑎𝑠) × 9 𝑠𝑒𝑚𝑎𝑛𝑎𝑠 = $ 1,440,000 𝐶𝑂𝑃 Ecuación 1: Costo Director Trabajo de Grado

39000 𝐶𝑂𝑃 × 6 𝑑í𝑎𝑠 𝑑𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑜 × 18 𝑠𝑒𝑚𝑎𝑛𝑎𝑠 = $ 3,780,000 𝐶𝑂𝑃

Ecuación 2: Costo Estudiante

Ilustración 1: Costo del Proyecto (Horas de Trabajo)

1,440,000 COP

7,560,000 COP (dos

estudiantes)

$9,000,000 COP

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 10

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

5 Marco Teórico / Estado del Arte

El desarrollo de aplicaciones web involucra decisiones no triviales de diseño e im-plementación que inevitablemente influyen en todo el proceso de desarrollo, afec-tando la división de tareas. Los problemas involucrados, como el diseño del modelo del dominio y la construcción de la interfaz de usuario, tienen requerimientos disjun-tos que deben ser tratados por separado [1]. Las tecnologías usadas en este proyecto se subdividen en 2, tecnologías para hacer páginas web con JEE usando JSF y las tecnologías usadas para hacer transforma-ciones por medio de MDE.

5.1 Tecnologías JSF para páginas web en JEE

El proceso de desarrollo de software empresarial ha sufrido varios cambios, mayo-ría de estos cambios se encuentran en las tecnologías usadas para el desarrollo de aplicaciones, Java 6 Edición Empresarial o Java EE6 (Java 6 Enterprise Edición). Java EE6 provee una plataforma unificada para el desarrollo de aplicaciones distri-buidas basadas en servidores. [11] La arquitectura Java EE6 es multicapa, y está formada por cuatro capas: capa clien-te, capa Web, capa de negocios, y capa de sistemas empresariales de información o Sistemas legados. Las relaciones entre los componentes de las distintas capas se muestran en la siguiente figura. [11]

Arquitectura j2ee [11]

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 11

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

La capa del cliente interactúa con el usuario y le muestra a éste la informa-ción que le envía el sistema. Algunos ejemplos de clientes son: clientes HTML, applets Java y aplicaciones hechas con JFrame. [11]

La capa Web genera la lógica de la presentación (clientes HTML, applets Ja-va y otros clientes Web) y acepta las respuestas que el usuario envía. Esta capa es implementada a través de servlets y JSF. [11]

La capa de negocio administra la lógica del negocio de la aplicación. Los componentes de negocio típicamente se implementan como componen-tes EJB (Enterprise Java Beans). [11]

la capa de sistemas empresariales de información (EIS) incluye sistemas de bases de datos, sistemas transaccionales, y sistemas de planificación. Esta capa es el punto de enlace de la plataforma J2EE con sistemas empresaria-les no-J2EE, o sistemas legados. [11]

Una muy buena y antigua práctica de programación sugiere separar la interfaz de la lógica de la aplicación. Este concepto está inmerso en la plataforma J2EE. Una apli-cación Web es vista como una aplicación de software normal, pero con una interfaz Web. [12] La tecnología JSF básicamente, establece un estándar en el desarrollo de la capa de presentación en las aplicaciones web java EE6, que consiste en el uso de com-ponentes para formar esta presentación. Estos componentes son completamente Independientes y pueden proceder de diferentes librerías de terceros. Además, pro-porciona un motor de navegación de reglas así como la gestión de beans maneja-dos y de respaldo. [12] JSF es un estándar que especifica cómo debe ser la parte de la Vista de una aplica-ción web, haciendo que esté basada en componentes. JSF ha supuesto un gran avance en la manera de concebir la presentación de la información y la interacción con el usuario en la parte cliente. [12] JSF se basa en el uso de componentes. Estos componentes tienen tanto parte clien-te, código HTML resultante de su código JavaScript asociado, como parte cliente, beans manejados que sirven para almacenar y procesar la información recogida o mostrada por dichos componentes. [12]

5.2 Tecnologías MDE para transformaciones

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 12

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

El Desarrollo Dirigido por Modelos (MDD) es un enfoque del desarrollo de software actual que propone la utilización de modelos como el artefacto principal para el desarrollo de software, La arquitectura para implementar el enfoque MDD propuesta por el Object Managemente Group (OMG) es conocida como Model Driven Architec-ture (MDA) [2]. MDA añade al enfoque dirigido por modelos la inclusión de varios niveles de abs-tracción (CIM -Computation Independent Model-, PIM -Platform Independent Model-, PSM -Platform Specific Model-) y varias transformaciones entre niveles, realizando de esta manera descripciones del sistema a varios niveles de. [2]

Ilustración 2 La transformación en el proceso basado en MDA [7]

La primera parte del proyecto es la investigación de herramientas que hagan trans-formaciones de código con base al modelo MDA, algunas herramientas que hacen este tipo de transformaciones son:

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 13

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

OptimalJ [15] Es una herramienta MDA que utiliza Meta Object Facility (define un lenguaje abs-tracto para definir lenguajes de modelado) para soportar estándares como UML y XMI. Optimalj permite generar transformaciones para generar código fuente a apli-caciones Java EE6 completas a partir de un PIM o plataforma independiente del modelo.[4] En OptimalJ existen tres tipos de modelos [4]: • Modelo del Dominio: modelo que describe el sistema a un alto nivel de abstracción, Corresponde al PIM de la aplicación y su elemento principal es un modelo de clases del negocio. [4] • Modelo de la Aplicación: modelo del sistema desde el punto de vista de una tecno-logía determinada (Java EE6). Contiene los PSM de la aplicación. [4] • Modelo de Código: código de la aplicación, generado a partir de un modelo de la aplicación. [4] ArcStyler [4] Es una herramienta MDA que también utiliza MOF(Meta Object Facility) para sopor-tar estándares como UML y XMI. Integra herramientas de modelado (UML) y desa-rrollo (ingeniería inversa, explorador de modelos basado en MOF, construcción y despliegue. Permite generar transformaciones de código de n capas codificadas en java/J2EE o c#/.NET a partir de diagramas UML y la especificación de los procesos del negocio, además permite extender las capacidades de transformación, generando compo-nentes a partir de UML, también incluye herramientas relacionadas con el modelado del negocio y el modelado de requisitos por lo que cubre todo el ciclo de vida. [4]

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 14

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

Acceleo [5] Es una herramienta de transformación de modelo a texto, es una herramienta con un lenguaje basado en plantillas o templates, teniendo en cuenta los estándares definidos por EMF, Acceleo brinda un enfoque MDA simple permitiendo la genera-ción de archivos a partir de modelos UML, MOF o EMF[5]. Acceleo cuenta con las siguientes características: • Una completa integración con el ambiente de Eclipse y el framework de EMF [5]. • Navegación por los elementos de cualquier modelo que siga los estándares de EMF (XMI). [5] • Administración de la sincronización entre el código y el modelo [5]. • Simplicidad en el mantenimiento y actualización de todas las plantillas [5]. • Coloreado sintáctico de las plantillas así como detección de errores basada en el meta modelo [5]. • Pre visualización del código [5]. Acceleo permite definir plantillas donde se define el texto a generar de acuerdo a las propiedades encontradas dentro del modelo. Los Templates son almacenados en archivos con extensión ‘.mt’. La sintaxis ofrece un conjunto de instrucciones que permiten realizar ciclos, tomar decisiones y navegar por los elementos del modelo. [5] . ATL [17] ATL (ATLAS Language Transformation) es un lenguaje de transformación de mode-los, proporciona maneras de producir un conjunto de modelos de destino a partir de un conjunto de modelos de fuente, es un framework para administrar transformacio-nes basadas en modelos. Un modelo fuente se transforma en un modelo destino mediante una definición de transformación escrita en ATL, que también es un mode-lo. Los modelos fuente, destino y la definición de la transformación, responden a sus metamodelos respectivos y, a su vez, todos los meta modelos se ajustan a MOF. [10] La transformación de ATL es unidireccional, opera sobre un modelo fuente de sólo lectura y produce un modelo destino de sólo escritura. Durante la ejecución de una transformación, el modelo fuente puede ser navegado pero no cambiado, en cambio el modelo destino no puede ser navegado [10]. ATL ha implementado un ambiente de desarrollado sobre la plataforma Eclipse, las herramientas disponibles para la transformación de modelos el núcleo de funciona-lidades ATL, que incluye el motor de transformación y las facilidades de adminis-tración de modelos. [10].

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 15

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

La parte básica de ATL incluye todos los componentes requeridos para configurar y ejecutar transformaciones, en particular, el EMF (Eclipse Modelling framework) y MDR (Meta Data repository) que permiten, respectivamente, manejar modelos defi-nidos de acuerdo a la semántica Ecore y MOF [10].

5.3 Definiciones

UML: Es un lenguaje gráfico para visualizar, especificar, construir y documentar un

sistema

MOF: establece un marco común de trabajo para las especificaciones del OMG, a la

vez que provee de un repositorio de modelos y metamodelos. Mediante MOF puede

definirse cualquier lenguaje de modelado, incluido UML.

XMI: define una traza que permite transformar modelos UML en XML para poder

ser tratados automáticamente por otras aplicaciones.

Modelo: un modelo de un sistema es una descripción o una especificación de ese sis-

tema y su entorno para desempeñar un determinado objetivo

Dirigido por modelos: se dice que MDA es dirigido por modelos porque usa los

modelos para dirigir el ámbito del desarrollo, el diseño, la construcción, el desplie-

gue, la operación, el mantenimiento y la modificación de los sistemas

Independencia de la plataforma: Significa que un modelo es independiente de las

facilidades o características que implementan las plataformas, de cualquier tipo (ej,

JEE, .net)

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 16

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

Aplicación web: Aplicación informática cuyo medio de presentación es un

Navegador web.

Bean: Objeto Java de almacenamiento de información volátil en aplicaciones web

J2EE.

Contenedor de servlets: Servidor web capaz de manejar el ciclo de vida de servlets

Framework: Librería o herramienta para facilitar el desarrollo en una tecnología o

entorno concreto.

HTML: HyperText Markup Language, Lenguaje de Marcado de Hipertexto.

Es el lenguaje en el que se escriben las páginas web.

J2EE: Java Enterprise Edition, es la versión de Java para implementar aplicaciones

web.

JSF: JavaServer Faces, estándar de Sun Microsystems para la capa de presentación

de las aplicaciones web J2EE.

MVC: Modelo‐Vista‐Controlador, patrón de diseño web

Servidor web: Aplicación especial instalada en un ordenador que permite que recibir

y procesar peticiones de clientes remotos o locales de recursos locales.

Servlet : Clase Java capaz de procesar una determinada petición web y generar el re-

sultado correspondiente.

XML: EXtensible Markup Language, lenguaje para transporte y almacenamiento de

datos

Modelo: un Modelo consiste de un conjunto de elementos que describen alguna

realidad física o hipotética (siendo una simplificación de esa realidad), típicamente

un modelo se presenta combinando gráficos y texto

Abstracción: ignorar información que no es de interés en un contexto particular

Clasificación: agrupar información en base a propiedades comunes

Metamodelo es un modelo de un lenguaje de modelado: define la estructura,

Semántica y restricciones de una familia de modelos

Plataforma especificación de un ambiente de ejecución para un conjunto de modelos

(ej: CORBA, .NET, JEE)

EMF Eclipse Modeling Framework de modelado y para la generación de código,

con características similares a MOF.

MDA: Especificación del paradigma MDD propuesta por el OMG.

MDD: Enfoque para el desarrollo de aplicaciones donde todo el proceso viene dirigi-

do por modelos abstractos de alto nivel.

MOF: Lenguaje para el diseño de Metamodelos, a partir del que se pueden definir

lenguajes de modelado.

MTF: Motor de transformación de modelos propuesto por IBM Rational. Parte de

EMF

OCL: Lenguaje adoptado por el OMG como parte de UML 2.0 para la descripción

formal de expresiones en los modelos UML.

OMG: Consorcio dedicado al cuidado y al establecimiento de diversos estándares de

tecnologías orientadas a objetos.

PIM: Modelo propuesto por el OMG para el diseño de modelos independientes de

plataforma alguna.

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 17

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

PSM: Modelo propuesto por el OMG para el diseño de modelos dependientes de una

plataforma específica.

5.4 Referencias y Bibliografía

[1]. Cáceres, P., Marcos, E., Rey, U., & Carlos, J. (2001). Procesos Agiles el desa-

rrolo de aplicaciones Web.

[2]. .Mouzo, D. M. (2010). Generación automática de código para la plataforma

domótica KNX / EIB en un marco dirigido por modelos .

[3]. Dominio, M. D. E., Dsm, E., Creación, Y. L. A., Enrique, C., Marín, M.,

Alonso, P., García, G., et al. (2011). APLICACIÓN DE INGENIERÍA

DIRIGIDA POR MODELOS (MDA), PARA LA CONSTRUCCIÓN DE

UNA HERRAMIENTA DE MODELADO DE DOMINIO ESPECÍFICO

(DSM) Y LA CREACIÓN DE MÓDULOS EN SISTEMAS DE GESTIÓN

DE APRENDIZAJE (LMS) INDEPENDIENTES DE LA PLATAFORMA,

43–52.

[4]. Molina, J. G., Rodríguez, J., Menárguez, M., Ortín, M. J., & Sánchez, J.

(n.d.). Un estudio comparativo de dos herramientas MDA : OptimalJ y Ar-

cStyler.

[5]. Vanzetti, M., & Fe, S. (n.d.). Desarrollo Dirigido por Modelos de Procesos de

Negocio Colaborativos : Análisis de herramientas para la transformación de

modelos Maximiliano Vanzetti.

[6]. Modelum, G. (2010). Master MNTI Desarrollo Dirigido por Modelos Semina-

rio 2 - Sintaxis concretas textuales, 1–11.

Pontificia Universidad Javeriana Propuesta para Trabajo de Grado

Página 18

Preparado por el Grupo Investigación Istar- Versión 1.05 – 01/08/2010

[7]. Bernardo, J., & Anaya, R. (n.d.). Marco de Referencia para la Evaluación de

Herramientas Basadas en MDA, (c), 1–14.

[8]. C, D. C., & P, R. V. (2006). INTEGRACION DE TECNOLOGIAS EN UNA

PLATAFORMA J2EE DIRIGIDA POR MODELOS TECHNOLOGIES

INTEGRATION IN A MODEL DRIVEN J2EE PLATFORM, 14, 265–275.

[9]. COMPARATIVO DE HERRAMIENTAS MDA (andromda, arcstYler, oPtI-

malJ). (n.d.)., 50–58.

[10]. Neil, C. (n.d.). Usando ATL en la Transformación de Modelos Multi-

dimensionales Temporales.

[11]. Guerrero, L. A. (n.d.). Modelando Interfaces para Aplicaciones Web.

[12]. Jorge Villalobos Beato , Sistema para la maquetación de componentes

jsf. (2009).

[13]. Franky, M. C. (2011a). MDA : Arquitectura Dirigida por Modelos

Temario, 1–52.

[14]. Franky, M. C. (2011b). Aplicando enfoque MDE a aplicaciones Tema-

rio, 1–41.

[15]. Pagina web de OptimaJ http://www.compuware.com/application-

performance-management/release/337309/sitemap.html

[16]. Pagina web de emftext http://www.emftext.org/index.php/EMFText [17]. Pagina web ATL http://www.eclipse.org/atl/