UNIVERSIDAD TECNOLÓGICA DE PEREIRA
PRESENTADO POR: JUAN PABLO GOMEZ
PARA : ING. JORGE GALVES
ENSAYO BREVE MDA MODEL DRIVEN ARCHITECTURE
09/12/2007
QUE SIGNIFICA MDA? MDA es una propuesta de la OMG para el desarrollo de software desde el diseño, es el acrónimo de Model Driven Architecture o Arquitectura dirigida por modelos. MDA separa la lógica del negocio y la tecnología de la plataforma . En un proyecto MDA el desarrollador se centra en la funcionalidad y en el comportamiento del sistema más que en la tecnología a usar. EL comportamiento y la funcionalidad son modelados una a uno solamente una vez, el uso de últimas tecnologías en el proyecto es transparente a permitiendo el uso de los último en tecnología. El diseño de los modelos pueden ser de dos tipos : Modelos para plataformas independientes (PIM) o modelo para plataformas específicas (PSM) Etapas de su ciclo de vida 1. Modelo independiente de la plataforma (PIM) 2. Modelo específico a la plataforma (PSM) 3. Código
Como se estructura MDA?
PIM (Platform-independent model) Se representa el modelo de procesos de negocio a ser implementado sin hacer ninguna referencia a la plataforma que será desplegada la aplicación. A su vez, ignora los sistemas operativos, los lenguajes de programación, el hardware y la topología de red. PSM (Platform-specific model) Un PIM puede generar múltiples PSMs, cada uno para una tecnología distinta. Generalmente, los PSMs deben colaborar entre sí para una solución completa y consistente. Los PSMs tienen que lidiar explícitamente con los sistemas operativos, los lenguajes de programación, las plataformas
Código El código generado es de lenguaje de programación de alto nivel, como Java, C#, C++,VB, JSP, etc. Idealmente, el modelo de código está listo para compilar y no debería requerir la intervención humana; el despliegue de la aplicación podría ser automatizado pero debido a que MDA no está maduro los desarrolladores seguirán necesitando conocer la tecnología para complementar la generación de código
El modelado de MDA se realiza con UML sin embargo no es obligatorio usarlo.MDA permite la creación de software portable, para sistemas embebidos, para escritorio, servidores, mainframes y a través de internet
Los planes de la OMG para desarrollar cuatro servicios en el ambiente MDA son: • • • •
Directorio de servicios Servicios de transacción Servicios de seguridad Distribución de eventos y notificación de servicios
Algunas herramientas que soportan MDA Las herramientas MDA deberían proveer la capacidad de transformar modelos de negocios puro (CIMs) en aplicaciones completas . Sin embargo, MDA no se encuentra del todo desarrollado, hasta la fecha la automatización de la transformación PIN a PSM se encuentra entre un 50% y un 70% efectiva, aún lejos de proporcionar un 100%. A continuación se listas las herramientas más conocidas: 1. 2. 3. 4. 5.
ATL ATLAS Transformation Language OptimalJ is a MDA tool for J2EE. ArcStyler is a MDA tool for J2EE and .NET. UMT UML Model Transformation ArgoUML
6. Codagen 7. Rational Architect 8. MDA Transf 9. Enterprise Architect 10.GReAT 11.AndroMDA Ventajas de usar MDA MDA tiene como principal ventaja la transparencia creada para el diseñador con la arquitectura porque permite separar responsabilidades. El diseñador se encargada de modelar el PIM el cual gracias a una herramienta permitirá generar un PSM para luego entregar un código La estabilidad y mejoramiento continuo puede asegurarse al usar MDA porque las herramientas se encargarán de de las nuevas tecnologías y adoptarlas a los modelos creados por los diseñadores Conclusión MDA es una gran promesa a futuro pero que por el momento las empresas no utilizarán porque se encuentra en desarrollo. La generación de código automatizado y confiable es una labor tediosa, porque se encuentra sujeto a errores y a fallos