mda: teoría vs práctica · 2007-06-30 · • se obtiene aplicaciones de 3 capas para múltiples...
TRANSCRIPT
![Page 1: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/1.jpg)
© Copyright CARE Technologies2007
MDA: Teoría vs Práctica
![Page 2: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/2.jpg)
© Copyright CARE Technologies 2007 2
CONTENIDO
• ¿QUÉ ES MDA?Conceptos
• OLIVANOVAMDA & OLIVANOVAOLIVANOVA en acción
• OLIVANOVA Productos• Modelo Conceptual OLIVANOVA
Modelo de objetos, Modelo Dinámico, ModeloFuncional, Modelo de PresentaciónValidación
• OLIVANOVA Transformation Engines
![Page 3: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/3.jpg)
© Copyright CARE Technologies 2007 3
MDA
• Model Driven Architecture (MDA)
• Iniciativa promovida por OMG
• Separa la definición del problema de laplataforma tecnológica en la cual seráimplementada
• Cambio en el Paradigma de Desarrollo:enfocado en los modelos, no en el código
![Page 4: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/4.jpg)
© Copyright CARE Technologies 2007 4
CONCEPTOS MDA
• PIM
Modelo Independiente de Plataforma. Es una vista deun sistema independiente de la plataforma en la que seinstala.
• PSM
Modelo Específico de Plataforma. Es una vista de unsistema para una plataforma específica.
• IM
Modelo de Implementación. Implementación de unsistema en un plataforma y lenguaje específicos.
ConceptualModel(PIM)
CódigoAplicación
(IM)
ApplicationModel(PSM)
![Page 5: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/5.jpg)
© Copyright CARE Technologies 2007 5
Promesa-Realidad-Consecuencia
• Los modelos representan la funcionalidad delnegocio y su comportamiento.
Con frecuencia, los modelos no son lo suficientementeexpresivos como para capturar toda la funcionalidad
• Modelos incompletos No documentan completamenteel problema Documentación “por código” Vuelta alcódigo.
• Modelos no ejecutables Generación de código limitadaa “esqueletos” Fill-in-the-gaps Vuelta al código.
• Modelos mezclan especificación y código fuente (java, C#) Sincronización entre modelo y código Trabajo duro
en el código Vuelta al código
![Page 6: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/6.jpg)
© Copyright CARE Technologies 2007 6
Promesa-Realidad-Consecuencia
• Los modelos pueden transformarse encódigo a cualquier plataforma
La falta de expresividad se suple mediantesoluciones que nos atan a plataformasconcretas
• Modelos obsoletos por avances en las tecnologías
![Page 7: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/7.jpg)
© Copyright CARE Technologies 2007 7
¿Qué necesitamos para hacer MDA?
• Un lenguaje de modelado para crear PIMs quesea:
Abstracto Para independizar mis modelos de laplataforma de implementación.Preciso Para representar completamente lafuncionalidad de mis sistemas.
• Un conjunto de PSMs para las plataformas en lasque deseo implementar mis sistemas.
• Herramientas de modelado.• Un conjunto de reglas de transformación de PIM
a PSM y de PSM a Código.• Idealmente, herramientas que automaticen estas
transformaciones.
![Page 8: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/8.jpg)
© Copyright CARE Technologies 2007 8
¿Qué necesita un equipo dedesarrollo de Software?
• ¿Definir su propio PIM, PSM o IM?Proceso complejo y costoso
• ¿Crear y mantener las reglas detransformación?
Alta complejidad
Variable por la evolución de la tecnología
Dependiente de la expresividad del PIM
¿Desarrollar un compilador de Modelos?
Utilizar herramientas que implementen MDA
![Page 9: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/9.jpg)
© Copyright CARE Technologies 2007 9
OLIVANOVA
• Conjunto de herramientas desarrolladas porCARE Technologies.
• Separan la definición de una aplicación de losdetalles de implementación de la misma.
• Cambio en el paradigma de desarrollo: lasaplicaciones se obtienen automáticamente apartir de los modelos.
Un compilador de Modelos Conceptuales
![Page 10: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/10.jpg)
© Copyright CARE Technologies 2007 10
MDA & OLIVANOVA
• PIM
• PSM
• IM
• Modelo Conceptual
• Modelo Ejecución
• Código Fuente
• Una misma definición de aplicación puedeimplementarse de múltiples maneras:
![Page 11: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/11.jpg)
© Copyright CARE Technologies 2007 11
OLIVANOVA EN ACCIÓN
• El cliente o usuario de la aplicación expone los requisitos sobre laaplicación que desea
Requisitos
![Page 12: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/12.jpg)
© Copyright CARE Technologies 2007 12
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
• A partir de los requisitos, el analista utiliza OLIVANOVA Modeler paracrear ...
![Page 13: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/13.jpg)
© Copyright CARE Technologies 2007 13
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
ConceptualModel(PIM)
• ... un modelo conceptual de la aplicación sin detalles de implementación
![Page 14: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/14.jpg)
© Copyright CARE Technologies 2007 14
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
ConceptualModel(PIM)
ConceptualModel(PIM)
• Dicho modelo conceptual, a su vez ...
![Page 15: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/15.jpg)
© Copyright CARE Technologies 2007 15
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
ConceptualModel(PIM)
ConceptualModel(PIM)
OLIVANOVA Transformation Engine
Ca
rga
do
r
• ... Es cargado por un OLIVANOVA Transformation Engine
![Page 16: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/16.jpg)
© Copyright CARE Technologies 2007 16
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
ConceptualModel(PIM)
ConceptualModel(PIM)
OLIVANOVA Transformation Engine
ApplicationModel(PSM)
Ca
rga
do
rPIM-PSM
• Un módulo del transformation engine implementa las transformaciones dePIM a PSM para obtener el Application Model (PSM)
![Page 17: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/17.jpg)
© Copyright CARE Technologies 2007 17
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
ConceptualModel(PIM)
ConceptualModel(PIM)
OLIVANOVA Transformation Engine
ApplicationModel(PSM)
Ca
rga
do
r
Vo
lca
do
r
PIM-PSM PSM-IM
• Otro módulo implementa las transformaciones de PSM a IM para obtenerla aplicación ...
![Page 18: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/18.jpg)
© Copyright CARE Technologies 2007 18
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
ConceptualModel(PIM)
ConceptualModel(PIM)
OLIVANOVA Transformation Engine
ApplicationCode(IM)
ApplicationModel(PSM)
Ca
rga
do
r
Vo
lca
do
r
PIM-PSM PSM-IM
• ... cuyo código es volcado a ficheros.
![Page 19: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/19.jpg)
© Copyright CARE Technologies 2007 19
OLIVANOVA ES MDA
• OLIVANOVA Modeler le permite crear,editar y validar sus PIMs
• OLIVANOVA le ofrece TransformationEngines para diferentes PSMs que:
Convierten su PIM en un PSMautomáticamente
Convierten su PSM en códigoautomáticamente
![Page 20: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/20.jpg)
© Copyright CARE Technologies 2007 20
OLIVANOVA PRODUCTOS (1)
Código fuente enC#, ASP.NET, JAVA o JSP
App. v.2.0
OLIVANOVA Modeler
OLIVANOVATrasformation Engines
App. v.1.0
OLIVANOVA Documentation
Manager
OLIVANOVA Comparator
OLIVANOVA Advanced
Code Manager
OLIVANOVA Multilanguage
Manager
OLIVANOVA Repository
VALIDACIÓN
![Page 21: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/21.jpg)
© Copyright CARE Technologies 2007 21
OLIVANOVA PRODUCTOS (2)
• Los modelos pasan de artefactos de diseño a serartefactos de desarrollo.
Con OLIVANOVA Modeler el modelo ES el “programa”.
• Basado en Lenguaje de especificación FormalOLIVANOVA Modeler valida la corrección y completitudde los modelos eliminando la ambigüedad e impidiendola contradicción.
• Importación de modelos de otras herramientas
• Trabajo cooperativo y biblioteca de modelos:OLIVANOVA Repository
• Documentación automática y completa:OLIVANOVA Documentation Manager
![Page 22: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/22.jpg)
© Copyright CARE Technologies 2007 22
OLIVANOVA PRODUCTOS (3)
• OLIVANOVA ModelerHerramienta de modelado para definir el modeloValida la corrección y completitud de los modelos eliminando laambigüedad e impidiendo la contradicción
• OLIVANOVA STAR ClientHerramienta utilizada para enviar el modelo al OLIVANOVATransformation Engines
• OLIVANOVA ComparatorDetecta las diferencias entre dos modelos a distintos niveles
• OLIVANOVA Documentation ManagerGenera documentación automática y completa
• OLIVANOVA XMI ExporterImportación y Exportación de modelos de otras herramientas
• OLIVANOVA RepositoryFacilita el trabajo cooperativo y contiene una biblioteca de modelos
• OLIVANOVA Advance Code ManagementRegistra y aplica los cambios al nuevo fuente para obtener laversión actualizada de la aplicación
![Page 23: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/23.jpg)
© Copyright CARE Technologies 2007 23
MODELO CONCEPTUALOLIVANOVA (1)
• Representación correcta, completa y noambigua de los procesos de negocio.
Permite la generación de descripciones delsistema semánticamente ricas.
Los modelos se vuelcan en formato XML
![Page 24: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/24.jpg)
© Copyright CARE Technologies 2007 24
MODELO CONCEPTUALOLIVANOVA (2)
Contiene todos los requisitos funcionales del cliente
Modelode
Objetos
ModeloDinámico
ModeloFuncional
Modelode
Presentación
Diagrama de clases
Diagrama de transición
de estados
Diagrama de interacción
de objetos
![Page 25: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/25.jpg)
© Copyright CARE Technologies 2007 25
MODELO DE OBJETOS
Clases
Relaciones
Servicios
Agentes
Atributos
Diagrama de Clases
![Page 26: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/26.jpg)
© Copyright CARE Technologies 2007 26
MODELO DINÁMICO
Diagrama de Transición de Estados
Describe losestados validos enla vida de un objeto
![Page 27: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/27.jpg)
© Copyright CARE Technologies 2007 27
MODELO FUNCIONAL
• Recoge la semánticarelacionada con loscambios de estado
• Describe cómo laejecución de eventoscambian el valor delos atributos de lasclases
Especifica la relación entre la estática y la dinámica
![Page 28: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/28.jpg)
© Copyright CARE Technologies 2007 28
MODELO DE PRESENTACIÓNEspecificación Abstracta de la Interfaz de Usuario
El QuéNO el Cómo
![Page 29: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/29.jpg)
© Copyright CARE Technologies 2007 29
VALIDACIÓN FORMAL
• Los Modelos Conceptuales tienen que servalidados para verificar que son correctos,completos y no ambiguos
• La pantalla de validación proporciona unavalidación formal y completa de los modelosconceptuales
• Una vez validado el modelo, puede ser guardadoen un fichero con formato XML siguiendo unDTD específico que servirá de entrada paraotras herramientas OLIVANOVA
![Page 30: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/30.jpg)
© Copyright CARE Technologies 2007 30
TRANSFORMATION ENGINES
• OLIVANOVA Transformation Engines crea de formaautomática aplicaciones en código fuente listo paracompilar e instalar.
• Se obtiene aplicaciones de 3 capas para múltiplesarquitecturas
Capa PersistenciaCapa Lógica NegocioCapa Presentación
Bases de DatosRelacionales:• Oracle• SQL Server• DB2• MySQL
Arquitectura Transaccional:• COM+ / VB• .NET / C#
Arquitectura Objetos en memoria:• EJB / Java
• WebSphere• WebLogic• JBOSS• Oracle iAS
Arquitectura Cliente Pesado:• Windows-Forms VB• Windows Forms .NET / C#
Arquitectura Web:• JSP• ASP .NET
![Page 31: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/31.jpg)
© Copyright CARE Technologies 2007 31
Caso práctico
![Page 32: MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples ... • DB2 • MySQL Arquitectura Transaccional: • COM+ / VB •.NET / C# Arquitectura](https://reader031.vdocuments.pub/reader031/viewer/2022021715/5c62c4b209d3f263208b77fb/html5/thumbnails/32.jpg)
© Copyright CARE Technologies2007
OLIVANOVA
La máquina de Programar