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
Problemática actual
• Diseño OO• Modelo OO y bases de datos
relacionales• Uso de herramientas estandarizadas• Personalización y Portabilidad
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
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
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.
Fundamentos
•Esquema general•MOF y JMI•EJB3•Herramientas CASE•Generadores de código
Esquema general
Esquema: Manipulaciónde UML para diseño
Esquema: API de persistencia de Java
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
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
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
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
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)
Arquitectura lógica
Requisitos y funcionalidades
Modelo conceptual aplicación
Generación de código
Generación a partir de modelos(proceso genérico).
Fuente: Code generation in action(2005)
Proceso genérico de diseño y generación de código
Flujo de sucesos:generarcódigo
Caso de prueba
Resultado esperado
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
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
Top Related