© Copyright CARE Technologies2007
MDA: Teoría vs Práctica
© 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
© 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
© 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)
© 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
© 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
© 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.
© 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
© 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
© 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:
© 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
© Copyright CARE Technologies 2007 12
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
• A partir de los requisitos, el analista utiliza OLIVANOVA Modeler paracrear ...
© 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
© Copyright CARE Technologies 2007 14
OLIVANOVA EN ACCIÓN
Requisitos OLIVANOVAModeler
ConceptualModel(PIM)
ConceptualModel(PIM)
• Dicho modelo conceptual, a su vez ...
© 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
© 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)
© 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 ...
© 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.
© 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
© 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
© 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
© 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
© 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
© 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
© Copyright CARE Technologies 2007 25
MODELO DE OBJETOS
Clases
Relaciones
Servicios
Agentes
Atributos
Diagrama de Clases
© Copyright CARE Technologies 2007 26
MODELO DINÁMICO
Diagrama de Transición de Estados
Describe losestados validos enla vida de un objeto
© 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
© Copyright CARE Technologies 2007 28
MODELO DE PRESENTACIÓNEspecificación Abstracta de la Interfaz de Usuario
El QuéNO el Cómo
© 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
© 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
© Copyright CARE Technologies 2007 31
Caso práctico
© Copyright CARE Technologies2007
OLIVANOVA
La máquina de Programar