L'avenir des architectures dirigées par les modèles

Retour à Concepts

Ce texte est un extrait en traduction libre de l'article rédigé par Norton D., Cearley D., McCoy D. "Model-Driven Architectures", in Gartner Research: Hype Cycle for Application Development, 2007, ID Number G00147982 (29 June 2007) , pp. 22-23.


Définition

Le terme Model-Driven Architecture (architecture pilotée par les modèles) est une marque déposée de l'OMG (Object Management Group). Ce terme décrit l'approche proposée par l'OMG de séparer les fonctions d'affaires de leur implantation technologique (voir www.omg.org/mda). L'idée générale derrière cette approche et les autres approches pilotées par modèles, ou MDA (model-driven approach), est :

  • de permettre le développement de fonctions d'affaires en suivant des modèles standards, tels que le UML (Unified Modeling Language) dans le cas de l'OMG;
  • de permettre aux modèles de demeurer indépendants des contraintes et exigences des plateformes de développement;
  • d'instancier ces modèles en applications spécifiques en fonction du choix de la plateforme de développement cible.

Les termes "piloté par les modèles", "basé sur des modèles", et autres formes similaires, comme dans l'expression "génie logiciel piloté par les modèles", signifient que la création de modèles (au sens large) est une étape préalable qui guide les efforts subséquents. Le terme englobe aujourd'hui tout un ensemble d'approches. À titre d'exemple, SODA (service-oriented development of applications) est un développement d'applications axé sur les services, et BPM (business process modeling) définit un processus de gestion d'affaires basé sur des composants métiers réutilisables.

Justification d'adoption rapide

Les standards de base tels que UML sont bien établis. Cependant, les MDA les plus complètes sont moins matures que les standards qui les sous-tendent en termes de soutien par les éditeurs de logiciel et de leur utilisation dans le cycle de conception, de développement et de déploiement. L'approche pilotée par modèles représente un objectif de longue date du développement logiciel, et a déjà connue plusieurs incarnations et vagues de Hype Cycle (par exemple, le génie logiciel assisté par ordinateur). Le but demeure toujours le même: dans une première étape, créer un modèle d'un nouveau système; dans une deuxième étape séparée et grandement simplifiée, convertir le modèle en système. Comme toujours, la majorité des grandes idées mettent du temps à se faire accepter et font face à de nombreux obstacles. Une nouvelle vague de Hype Cycle sur les approches pilotées sur les modèles est sur le point de déferler.

Conseils

Les architectes de systèmes d'entreprise devraient sérieusement évaluer les conséquences d'implanter des solutions d'architecture non conformes aux normes MDA. Cependant, la plupart des vendeurs y adhéreront, du moins partiellement, à travers leurs outils et par des extensions aux meilleures pratiques qui surpassent les normes MDA. Les organisations qui implantent les AOS (architecture orientée services) devraient sérieusement porter attention aux normes MDA et évaluer l'acquisition d'outils pour automatiser les règles et modèles. Ces outils comprennent les technologies ARAD (architected rapid application development) et AMD (architected model-driven), et les moteurs de règles qui supportent la génération de code et les implantations de liaison tardive (late-binding) sans génération de code. La technologie AMD est principalement adaptée pour les projets complexes nécessitant un degré élevé de réutilisation des services d'affaires, pour lesquels une période importante est réservée à l'analyse des processus d'affaires et à la conception. Toutefois, aucune organisation compétente ne voudrait effectuer exclusivement du développement AMD car le temps et les coûts additionnels consacrés aux étapes d'analyse et de conception ne seraient rentables ni en termes de coûts, ni en termes d'agilité, pour des projets de développement d'applications devant supporter des contraintes de budget ou de temps. La solution idéale consiste à amalgamer les méthodes et outils AMD, ARAD et RAD (rapid application development).

Impacts

Les MDA permettent d'abord de se concentrer sur les règles d'affaires, ensuite sur la technologie. Les concepts focalisent l'attention sur la modélisation: règles d'affaires, rôles d'affaires, interactions d'affaires, etc. L'instanciation de ces modèles d'affaires dans des applications ou des composants découle du modèle d'affaires. En renforçant l'attention sur le modèle d'affaires, et en couplant les concepts de MDA et de SOA, le système qui en résulte est intrinsèquement plus flexible et adaptable. Si l'architecture pilotée par les modèles de l'OMG ou les nombreuses MDA finissent par gagner l'acceptation générale, l'impact sur l'architecture logicielle sera majeur. Tous les secteurs profiteraient de ce paradigme.