Al hilo de lo hablado en el post anterior sobre Jet y para ir ampliando conocimientos ahora voy a hablar de MDA. MDA es un marco de trabajo que fue definido en 2001 por el ObjectManagement Group (OMG) organización
creada en 1990 con el fin de potenciar el desarrollo de aplicaciones orientadas
a objetos distribuidas. Esta organización, también ha definido estándares importantes como UML, CORBA, MOF, etc…
La clave del MDA es la importancia de los
modelos, en el proceso de desarrollo de software. MDA propone la definición y
uso de modelos a diferente nivel de abstracción, así como la posibilidad de la
generación automática de código a partir de los modelos definidos y de las
reglas de transformación entre dichos modelos (aquí es donde entrarían los motores de transformación de código como Jet).
Permite el despliegue de aplicaciones, diseñadas sin dependencias de plataforma, diseñadas mediante el uso de estándares como pueda ser UML y sobre cualquier plataforma existente, como J2EE, Servicios Web, etc..
Resuelve los retos de los sistemas
actuales, están altamente conectados y en constante cambio, tanto en reglas de
negocio como en tecnología. MDA propone un marco de trabajo para una
arquitectura que asegura:
- Portabilidad, aumentando el re-uso de las aplicaciones y reduciendo el coste y complejidad del desarrollo y administración de las aplicaciones.
- Interoperabilidad entre plataformas, usando métodos rigurosos para garantizar que los estándares basados en implementaciones de tecnologías múltiples tengan todos idénticas reglas de negocio.
- Independencia de plataforma, reduciendo el tiempo, costo y complejidad asociada con aplicaciones desplegadas en diferentes tecnologías.
- Especificidad del dominio, a través de modelos específicos del dominio, que permiten implementaciones rápidas de aplicaciones nuevas, en una industria específica sobre diversas plataformas.
- Productividad, permitiendo a los desarrolladores, diseñadores y administradores de sistemas usar lenguajes y conceptos con los que se sienten cómodos, facilitando la comunicación e integración transparente entre los equipos de trabajo.
Qué no es MDA
Se tiende a malinterpretar este acrónimo y por ello se debe tener claro qué no es MDA:
- MDA no es un proceso de desarrollo
- MDA no es una especificación
- MDA no es una implementación
- MDA no es una implementación de referencia de ningún estándar particular.
- MDA no es simplemente generar código