MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples...

32
© Copyright CARE Technologies2007 MDA: Teoría vs Práctica

Transcript of MDA: Teoría vs Práctica · 2007-06-30 · • Se obtiene aplicaciones de 3 capas para múltiples...

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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© Copyright CARE Technologies2007

OLIVANOVA

La máquina de Programar