Aujourd’hui nous travaillons au niveau du code et nous voyons de plus en plus de logiciels et d’outils permettant de modéliser la conception et de générer le code.

Egalement les applications développées deviennent de plus en plus conséquentes en lignes de codes et gagnent également en complexité (maintenabilité, fonctionnement, etc…).

Du coup, cela laisse réfléchir vers quoi tout cela va nous mener et également sur l’avenir du métier de développeur.

Je pense que ce métier va ‘orienter progressivement vers l’abstraction et la modélisation et pour être plus précis le MDA (Model Driven Architecture).

L’OMG (Object Management Group) qui a notamment déposé l’UML, prépare actuellement le futur standard MDA.

En gros, je ferai une analogie (basique) avec l’arrivée d’outils comme DreamWeaver qui permet de concevoir les pages HTML en mettant le moins possible les mains dans le code généré.

Petite présentation succincte du MDA :

Exemple de modèles MDA

Exemple de modèles MDA

Dans le schéma précédant, le niveau d’abstraction s’accroit de la droite vers la gauche.

Le MDA se décompose en 4 couches :

  • Le CIM (Computationnal Independent Model) : Représente le modèle métier de plus haut niveau. Utilise un langage procédural spécialisé métier, éventuellement dérivé du MOF (Meta-Object Facility).
  • Le PIM (Platform Independent Model) : Modèle objet du système, indépendant de toute plateforme. En général s’appuie sur l’UML ou versions dérivées.
  • Le PSM (Platform Specific Model) : Modèle objet du système, spécifique d’une plateforme.
  • Le PSM projette le PIM sur une plateforme spécifique.
  • Le modèle de code : Représente le code déployable, habituellement sous forme de langage de haut niveau : PHP, Java, C++, C#, CORBA, .Net, …).

Aujourd’hui nous travaillons principalement au niveau du modèle de code et petit à  petit nous nous orienterons vers le PSM, le PIM est plutôt orienté maître d’oeuvre, le CIM restera selon moi pour la maîtrise d’ouvrage et l’assistance à la maîtrise d’ouvrage.

Attention toutefois, le PSM peut très bien être utilisé par l’architecte d’applications, je parle ici du PSM pour la partie logique de l’application et permettant une organisation plus cohérente du code.

Quels outils ?

Je ne vais pas en faire une liste exhaustive mais voici 2 qui attirent mon attention :

Sous Eclipse il y a un plug-in Open Source s’appelant Acceleo.

Enterprise Architect de Sparx System, est également un outil très réputé, à voir donc.

Conclusion :

Ce standard n’en est qu’à  ses débuts, beaucoup d’acteurs interagissent et les entreprises s’immisçant dans la discussion de ce futur standard, rien n’est donc encore définitif.

Mais je conseille vivement de se tenir informer, les choses peuvent aller très vite.

Commentaires fermés

Comments are closed.