Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de...

23
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz

Transcript of Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de...

Page 1: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Aplicación de diseño de clases y generación de

código, orientado hacia la arquitectura de multicapas

y el mapeo objeto/relacional

• Juan Timoteo Ponce Ortiz

Page 2: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Antecedentes

• Herramientas de automatización de tareas

• Enterprise Java Beans 2, falencias de diseño e implementación

• Frameworks de integración• Enterprise Java Beans 3

– Reducción de código– Automatización

Page 3: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Problemática actual

• Diseño OO• Modelo OO y bases de datos

relacionales• Uso de herramientas estandarizadas• Personalización y Portabilidad

Page 4: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Objeto de estudio

• Diseño y generación de código enfocado en normas de desarrollo, utilizando UML como base– Frameworks de integración– Herramientas de

automatización(software libre)– Estándar de persistencia

Page 5: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Objetivos

• Objetivo general– Desarrollo de una aplicación de diseño de

clases y generación de código, orientado hacia la arquitectura de tres capas y el mapeo objeto/relacional.

– UML 1.4 ISO/IEC 19501:2005

Page 6: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Novedad del trabajo

• Unificación de herramientas y tecnologías.

• Persistencia de datos a través de herramientas ORM.

• Manejo de la ampliamente extendida norma EJB 3.

• Aceleración y estandarización del desarrollo de software.

Page 7: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Fundamentos

•Esquema general•MOF y JMI•EJB3•Herramientas CASE•Generadores de código

Page 8: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Esquema general

Esquema: Manipulaciónde UML para diseño

Esquema: API de persistencia de Java

Page 9: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Características de herramientas CASE

• Manejo nativo de UML( 1.4.2 ISO 19501:2005)

• Manejo del modelo MOF para la administración de elementos

• Manejo de operaciones transaccionales• Diseño de modelos de forma visual a

través de editores especializados• Intercambio de datos a través de XMI

Page 10: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

MOF y JMI

MOF -> Estándar OMGMOF -> manipulación de metadatos y

modelosMOF-> especificado paralelamente a UML

JMI -> Implementación de MOF para JavaJMI -> Compatibilidad con norma UML 1.4.2JMI -> Soporte XMI

Meta-Object FacilityJava Metadata InterfaceObject Management GroupUML 1.4.2 ISO IEC 19501:2005

Page 11: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Enterprise Java Beans 3

Enterprise Java Beans(EJB) es una plataforma para construir aplicaciones portables, rehusables y escalables

• API de persistencia Java (JPA)• Definición de Enterprise Beans

•Entity BeanEJB3 JSR 220

Page 12: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Características de generadores de código

• Flexibilidad y configuración en el código generado

• Manejo de plantillas y ficheros de definicion de estructuras

• Pruebas de código generado(compilación)

• Integración con diferentes lenguajes de programación

Page 13: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Diseño y generación de código(definicion)

• “Generación de código es la transformación de algún diseño en código específico” – Code generation in Action(2005)

• “Acción de generar código fuente a partir de un modelo de acuerdo a una herramienta de programación específica” – Code generation, a practical overview(2000)

Page 14: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Arquitectura lógica

Page 15: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Requisitos y funcionalidades

Page 16: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Modelo conceptual aplicación

Page 17: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Generación de código

Generación a partir de modelos(proceso genérico).

Fuente: Code generation in action(2005)

Page 18: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Proceso genérico de diseño y generación de código

Page 19: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Flujo de sucesos:generarcódigo

Page 20: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Caso de prueba

Page 21: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Resultado esperado

Page 22: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Conclusiones

• Se ha podido manipular los componentes de manipulación MOF.

• El diseño es concordante con la norma iso/iec 19501.

• Se ha logrado manipular correctamente los frameworks involucrados:– Persistencia de datos– Repositorio de metadatos– Motores de plantillas– Framework vinculante

• La generación de código es satisfactoria, generando aplicaciones auto ejecutables de acuerdo al diseño

Page 23: Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura de multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.

Librerías y frameworks utilizados

• Meta Object Facility 2.0• Java Metadata Interface• UML 1.4.2• Java SE 1.6• Netbeans Platform – MDRepository• Apache velocity• Enterprise Java Beans 3.0• Apache Ant