Je connais plutôt bien l'approche MDA (voir mon site web) et je pense
pouvoir apporter quelques précisions.
Pour résumer, l'idée de MDA c'est de décrire (à l'aide d'un modèle) une
solution à ton problème métier indépendamment des considération
techniques propre à une plate-forme ou un langage particulier.
Le bénéfice attendu est de pouvoir capitaliser la description de ta
solution et ainsi pouvoir passer d'une plate-forme à l'autre au fil des
évolutions.
On sait très bien qu'en informatique les langages et les plates-formes
changent très vite par des phénomènes de modes et des évolutions
technologiques. Alors que la solution à une préoccupation métier
(gestion de stock, de client, ou même le "métier" d'un wiki par exemple,...)
n'évolue de très peu.
L'apport des outils qui vont avec c'est de ne pas devoir se taper à la
main la mise en oeuvre de nos solutions génériques sur la nouvelle
plate-forme.
On peut voir un peu ça comme de l'idée des langages de programmation de
haut niveau : quand tu écris un programme en C tu peux obtenir de
l'assembleur pour différent processeurs sans modifier ton code.
Mais le MDA (Model Driven Architecture) c'est dépassé, la nouvelle
évolution c'est le MDE (Model driven Engineering) qui généralise l'idée
de capitaliser les modèles. Mais alors qu'a l'origine le MDA n'est
qu'une approche descendante (du modèle métier vers l'implantation)
l'approche MDE propose "toutes sortes" de manipulation sur les modèles
à tous les niveaux (composition, traduction, vérification,\ldots).
[^] # Re: Générateur de code OpenSource ?
Posté par Alexis Muller . En réponse à la dépêche Acceleo sort en version 1.0. Évalué à 3.
Je connais plutôt bien l'approche MDA (voir mon site web) et je pense
pouvoir apporter quelques précisions.
Pour résumer, l'idée de MDA c'est de décrire (à l'aide d'un modèle) une
solution à ton problème métier indépendamment des considération
techniques propre à une plate-forme ou un langage particulier.
Le bénéfice attendu est de pouvoir capitaliser la description de ta
solution et ainsi pouvoir passer d'une plate-forme à l'autre au fil des
évolutions.
On sait très bien qu'en informatique les langages et les plates-formes
changent très vite par des phénomènes de modes et des évolutions
technologiques. Alors que la solution à une préoccupation métier
(gestion de stock, de client, ou même le "métier" d'un wiki par exemple,...)
n'évolue de très peu.
L'apport des outils qui vont avec c'est de ne pas devoir se taper à la
main la mise en oeuvre de nos solutions génériques sur la nouvelle
plate-forme.
On peut voir un peu ça comme de l'idée des langages de programmation de
haut niveau : quand tu écris un programme en C tu peux obtenir de
l'assembleur pour différent processeurs sans modifier ton code.
Mais le MDA (Model Driven Architecture) c'est dépassé, la nouvelle
évolution c'est le MDE (Model driven Engineering) qui généralise l'idée
de capitaliser les modèles. Mais alors qu'a l'origine le MDA n'est
qu'une approche descendante (du modèle métier vers l'implantation)
l'approche MDE propose "toutes sortes" de manipulation sur les modèles
à tous les niveaux (composition, traduction, vérification,\ldots).