L approche Model-Driven Architecture, crédible pour développer un progiciel de



Documents pareils
La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Conception, architecture et urbanisation des systèmes d information

MDA (Model Driven Architecture) principes et états de l art.

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

CORBA. (Common Request Broker Architecture)

CAHIER DES CLAUSES TECHNIQUES PARTICULIÈRES (CCTP) MISE EN PLACE ET MAINTENANCE D UN MOTEUR DE RECHERCHE

Les Architectures Orientées Services (SOA)

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia

La reconquête de vos marges de manœuvre

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

NFP111 Systèmes et Applications Réparties

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

SECTION 5 BANQUE DE PROJETS

Introduction à la conception de systèmes d information

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Business & High Technology

Les nouvelles architectures des SI : Etat de l Art

Cisco Unified Computing Migration and Transition Service (Migration et transition)

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise

Comment initialiser une démarche SOA

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

Ingénierie des Modèles. Méta-modélisation

Visual Paradigm Contraintes inter-associations

Nouvelles technologies pour l intégration : les ESB

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Sécurisation des architectures traditionnelles et des SOA

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

Master Informatique Aix-Marseille Université

Description de la formation

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Génie logiciel (Un aperçu)

Workflow et Service Oriented Architecture (SOA)

Tirez plus vite profit du cloud computing avec IBM

Spécification et transformation de langages de points de vue des systèmes répartis ouverts

Urbanisme du Système d Information et EAI

Bien architecturer une application REST

Etat de l art sur le développement logiciel dirigé par les modèles.

Les cinq raisons majeures pour déployer SDN (Software-Defined Networks) et NFV (Network Functions Virtualization)

Garantir une meilleure prestation de services et une expérience utilisateur optimale

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Master Data Management en Open Source C est le Bon Moment

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Introduction. Les articles de la presse spécialisée tendent à nous laisser penser que c est en effet le cas :

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

Analyse,, Conception des Systèmes Informatiques

INDUSTRIALISATION ET RATIONALISATION

Cours Bases de données

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement?

Patrons de Conception (Design Patterns)

IBM Business Process Manager

Livre Blanc. L hébergement à l heure du Cloud. Comment faire son choix?

Partie I Le Management des Systèmes d Information : un défi pour les PME

Stratégies gagnantes pour la fabrication industrielle : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants

Regard sur hybridation et infogérance de production

Rational Unified Process

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Mise en œuvre des serveurs d application

Groupe Eyrolles, 2004 ISBN :

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle


WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Nom de l application

Développement d un interpréteur OCL pour une machine virtuelle UML.

Conception des systèmes répartis

1.2 Genèse. 1.3 Version de Designer utilisée

Chapitre 1 : Introduction aux bases de données

Impartition réussie du soutien d entrepôts de données

URBANISME DES SYSTÈMES D INFORMATION

La gestion des données de référence ou comment exploiter toutes vos informations

UE 8 Systèmes d information de gestion Le programme

e-business, EAI et Business Intelligence Le triptyque gagnant profondément les structures des organisations et par conséquence

Évaluation et implémentation des langages

FICHE DE PRÉSENTATION DE LA SOLUTION

Prise en compte des ressources dans les composants logiciels parallèles

CA Automation Suite for Data Centers

Architectures d'intégration de données

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Business Process Execution Language

Technologie data distribution Cas d usage.

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Stratégies gagnantes pour les prestataires de services : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants

Transcription:

ÉCOLE DOCTORALE SYSTÈMES L approche Model-Driven Architecture, crédible pour développer un progiciel de gestion intégré Mémoire de DEA Systèmes Industriels Tuteur : Paul Gaborit Xavier Moghrabi Année universitaire : 2002-2003

Remerciements Je tiens à exprimer mes plus vifs remerciements à mon tuteur Franck Darras, doctorant à l École des Mines d Albi Carmaux, pour m avoir aidé à réaliser mon DEA. Il m a permis de trouver un sujet intéressant et m a fourni une partie des documents pour la bibliographie. Je remercie Paul Gaborit et Hervé Pingaud, enseignant-chercheurs au centre génie industriel de l École des Mines d Albi Carmaux, pour leurs conseils, le suivi de mon travail et les remarques formulées sur ce document. Je tenais à remercier Thomas Van Oudenhove de Saint Géry, camarade de classe à l École des Mines en option Génie des Systèmes d Information et futur doctorant dans cette école. Il m a fournit son modèle de document et son aide pour rédiger ce mémoire de DEA sous LATEX. Pour finir, je souhaite remercier la structure d accueil de mon stage qui m a donné l opportunité et libéré du temps pour la réalisation de ce travail. Pour des raisons de confidentialité, j ai préféré ne pas citer son nom mais les intéressés se reconnaîtront. Xavier Moghrabi Année universitaire : 2002-2003 i

Résumé Les systèmes d information sont de plus en plus complexes. Avec la multitude des technologies, les décideurs ne savent plus laquelle adoptée. Le Model-Driven Architecture est issu d un constat que chaque nouvelle évolution technologique entraîne un coût significatif. Proposée par l OMG, cette approche permet de pérenniser les systèmes d information en séparant les modèles métiers de ceux d implémentation. Des mécanismes de transformations sont prévus pour automatiser le passage et la construction. Cette approche, de plus haut niveau d abstraction, réduira les coûts de développement, facilitera les migrations technologiques, améliorera l interopérabilité entre les systèmes... Le MDA est conçu pour des systèmes à base de composants fonctionnant sur un middleware. L étude envisage la possibilité de l appliquer pour réaliser un progiciel de gestion d entreprise. Les problèmes de réalisation et d exploitation sont les mêmes que ceux énumérés précédemment. Le MDA est adapté car il dispose de méta-modèles verticaux adaptés à chaque domaine. De plus, des méthodes de développement permettent d intégrer cette démarche. Des applications expérimentales ont déjà été développées en utilisant le MDA et des outils compatibles MDA apparaissent. Pour prouver l efficacité du MDA en terme de productivité lors du développement, une société a réalisé une étude. Elle consistait à mettre en concurrence deux équipes de développement. Il s est avéré que l équipe utilisant MDA a mis 34 % de temps en moins. Cette norme pourra devenir un nouveau standard. Elle propose de nombreux atouts mais comporte encore des lacunes. Toutefois, le MDA n est pas encore finalisé. Les transformations de modèles et les générations de code ne sont pas encore entièrement automatisées. Xavier Moghrabi Année universitaire : 2002-2003 ii

Table des matières Remerciements Résumé Table des matières i ii iv Introduction 1 1 Une nouvelle approche dans la conception logicielle 2 1.1 Sujet de l étude.................................. 2 1.1.1 La problèmatique des ERP....................... 2 1.1.2 Un ERP à base de composants..................... 3 1.2 Présentation du MDA.............................. 6 1.2.1 Séparation entre la logique métier et la technologie.......... 6 1.2.2 L abandon de la concurrence des middleware............. 6 1.2.3 Une montée en abstraction....................... 7 1.2.4 Détail de l architecture du MDA.................... 8 1.3 L importance des modèles............................ 10 1.3.1 Les différents modèles du MDA..................... 10 1.3.2 La transformation des modèles..................... 11 1.3.3 Les profils UML............................. 12 1.4 Qu attendre de l approche MDA?........................ 13 1.4.1 Les forces................................. 13 1.4.2 les faiblesses............................... 15 1.5 Les standards de l OMG utilisés......................... 16 1.5.1 MOF : Meta Object Facility....................... 16 1.5.2 UML : Unified Modeling Language................... 16 1.5.3 CWM : Common Warehouse Metamodel................ 17 1.5.4 XMI : XML Metadata Interchange................... 17 2 L utilisation du MDA 18 2.1 L approche MDA est-elle adaptée à la réalisation d un ERP......... 18 2.1.1 Le MDA peut s appliquer à l ensemble de l industrie logicielle.... 18 2.1.2 Le MDA demande des moyens adaptés................. 20 2.1.3 Le MDA répond aux besoins de création et d intégration des ERP. 22 2.2 La méthode de développement......................... 23 2.2.1 La MDA face aux méthodes agiles................... 23 2.2.2 La révision du cycle en Y........................ 24 2.2.3 Une nouvelle implémentation du processus unifié : EUP....... 26 Xavier Moghrabi Année universitaire : 2002-2003 iii

2.3 Détail d un système d information utilisant la philosophie du MDA..... 27 2.3.1 Le système d information de la banque Wells Fargo.......... 27 2.3.2 L environnement des traitements.................... 28 2.3.3 Le développement à base de modèles.................. 29 2.3.4 Le MDA fournit une passerelle pour le futur.............. 31 3 Les perspectives de cette approche logicielle 32 3.1 Étude de productivité de la démarche MDA.................. 32 3.1.1 Les différences entre les approches MDA et traditionnelle...... 32 3.1.2 Description de l objectif de l étude................... 33 3.1.3 L analyse architecturale du système.................. 34 3.1.4 Les résultats quantitatifs........................ 36 3.1.5 Conclusion de l étude de productivité................. 36 3.2 Vers un nouveau standard de développement logiciel............. 37 3.2.1 L approche MDA, évolution ou révolution?.............. 37 3.2.2 Une approche de modélisation d un ERP où le MDA a sa place... 38 3.2.3 Le MDA présente des atouts pour s imposer comme un nouveau standard.................................. 41 Conclusion 43 Glossaire 44 Table des figures 46 Bibliographie 47 A Une architecture stratifiée 50 B Évolution hebdomadaire de l étude 52 C Glossaire des design pattern utilisés 56 Xavier Moghrabi Année universitaire : 2002-2003 iv

Introduction Depuis maintenant quelques années, de nouvelles architectures logicielles à base de composants émergent régulièrement. Ce qui à l origine devait permettre une réutilisabilité extrêmement importante se voit aujourd hui soumis aux modes et à des évolutions très importantes. Les entreprises ne veulent plus investir des sommes colossales pour suivre cette incessante remise en cause de leur système d information existant. Elles veulent pérenniser leurs architectures. L omg a mis à contribution son expérience dans les middleware avec Corba et dans la modélisation avec notamment uml pour élaborer une norme de méta-modélisation des architectures à base de composants : le Model-Driven Architecture - mda. Il définit une nouvelle approche orientée modèle dans laquelle les composants révèlent une sémantique indépendante de toute plateforme, permettant ainsi de mieux se concentrer sur la logique métier. Le mda définit des abstractions de services et de comportements communs aux middleware. Sachant que le mda se base sur des standards (uml, xmi,...) ou des travaux déjà très largement adoptés comme références (Profils uml, mof,...), la mise au point d un méta-modèle spécifié suivant cette norme permettra d automatiser la transformation vers des modèles spécifiques à des plate-formes particulières et la génération de code. La présente étude tente d appréhender cette nouvelle démarche dans la conception logicielle pour déterminer si elle est applicable pour réaliser d un progiciel de gestion intégré, également appelé erp. Pour cela, nous présenterons les principes du mda, examineront s il est adapté au développement d un erp et finirons par évoquer les perspectives du mda. NB : Les termes en petite majuscule (erp) sont définis dans le glossaire. Xavier Moghrabi Année universitaire : 2002-2003 1

Chapitre 1 Une nouvelle approche dans la conception logicielle Cette première partie sert à présenter le sujet de l étude et l approche mda. L étude fera un état de l art sur cette approche pour présenter le mda. 1.1 Sujet de l étude La présente étude s intéresse au développement d un erp par une approche mda. Le développement de ce type de produit est un projet à long terme et conséquent pour une entreprise d une centaine d employés. 1.1.1 La problèmatique des ERP Le cycle de réalisation d un erp est un travail, de plusieurs dizaines d années.hommes, complexe car doit couvrir l ensemble des besoins de gestion des PME/PMI. Les technologies orientées objet seront sollicitées pour réaliser un produit bien conçu, évolutif, adaptable et maintenable. La recherche de ces caractéristiques est motivée par la longue durée de vie du progiciel et le souhait de répondre aux besoins de gestion spécifiques des clients. En effet, un erp a une durée d exploitation moyenne par le client de 8 ans. L éditeur souhaite, quant à lui, pouvoir vendre son produit aussi longtemps possible ce qui nécessite un besoin d évolutivité de la part du produit. De plus, l éditeur désire créer une seule version du progiciel qui pourra être spécialisée pour chaque client par la réalisation de programmes spécifiques et le paramétrage. Pour garantir cette évolutivité, le logiciel doit être indépendant des technologies. À l heure actuelle, pour réaliser un important projet logiciel avec des technologies orientées objet, trois plateformes technologiques de type middleware sont majoritairement utilisées : j2ee,.net et Corba. Ces technologies permettent de réaliser des applications complexes, flexibles et distribuées. Lors de la création d un produit, l équipe de développement doit choisir la technologie de l infrastructure. Ce choix est crucial pour la bonne finition du projet. Il se résume souvent à adopter une technologie dont la pérennité est fortement probable. En effet, la migration d une application vers une nouvelle technologie est très coûteuse. L approche mda a pour but de pallier à ce problème en proposant des modèles indépendants de la plate-forme technique qui permettront de générer rapidement et facilement Xavier Moghrabi Année universitaire : 2002-2003 2

des modèles spécifiques. Ensuite à partir de ces derniers, le code de l application serait créé. La possibilité d automatiser les opérations de transformation et génération se traduit par l apparition d outils. 1.1.2 Un ERP à base de composants Comme le concept de componentisation [1] est commun à diverses disciplines d ingénierie et aux industrie, Kumar et al. [2] ont proposé de concevoir un erp à base de composants pour répondre aux problématiques de variété et de complexité des fonctionnalités. Ce concept peut être utilisé pour concevoir les différents domaines fonctionnels d un erp comme des composants logiciels [3]. Définition de composant Selon la norme uml, un composant est une partie physique remplaçable d un système qui fournit la réalisation d un ensemble d interfaces et s y conforme. Dans un développement orienté composant, une application monolithique est découpée en un ensemble de composants, ce qui favorise sa réutilisation. Il suffit de modifier ou d ajouter un composant pour introduire une nouvelle fonction dans une application. L objectif est donc de réduire le coût du cycle de vie du logiciel. Les composants communiquent au moment de leur exécution pour concourir à l application utilisée, sur une même machine ou à travers un système distribué. Un composant logiciel se représente comme une brique réutilisable disponible sous forme binaire. Un système à base de composants est un assemblage de composants qui collaborent dans une architecture commune pour un objectif unique. Un composant est : un ou plusieurs objets (avec ses propriétés, méthodes et évènements) composés d interfaces, un ou plusieurs objets compilés et binaires, un ou plusieurs objets qui adhèrent à un modèle, utilisable indépendamment du langage, de sa localisation et de l application l utilisant, géré par le système. La caractéristique principale de l approche orientée composant est la collaboration des composants nommée par le concept d interopérabilité. L architecture est alors un réel assemblage avec des outils de haut niveau sans le souci du détail de l implémentation. L orb est le bus logiciel qui permet aux composants de collaborer sur l ensemble d un réseau. En fait, les composants ne collaborent pas directement en invoquant des méthodes à distance, ils le font par l intermédiaire de l orb. Le modèle de composant apporte un ensemble d objets et de méthodes (les transactions, la sécurité, la concurrence d accès, l indépendance à la localisation) sans ajout de code. Ainsi le développeur se concentre sur la partie métier car les services techniques sont pris en charge par l infrastructure. Intérêt d un progiciel à base de composants Le concept d erp à base de composants doit permettre de répondre et d améliorer les quatre critères définis par Sprott [1] soient : l intégration, l adaptabilité, Xavier Moghrabi Année universitaire : 2002-2003 3

la facilité de mise à jour, la facilité de mise en œuvre. Un système à composants complètent les intérêts des techniques orientées objet classiques. Il les généralise en proposant : une encapsulation parfaite des objets, permettant d accroître la maintenabilité et l indépendance des différents composants ; une réutilisation complète des composants, qui permet un accès sans en avoir le code source et sans avoir à les intégrer dans le processus de compilation et d édition de liens. Mais les possibilité vont encore plus loin sur l indépendance des composants. Elle est telle que qu il est réalisable de : mettre à jour un composant dynamiquement, sans remettre en cause l ensemble du progiciel. En effet, les composants sont dans des processus séparés. Il est possible de mettre à jour l un d entre eux sans avoir à compiler, diffuser et réinitialiser l ensemble du progiciel. accroître les fonctionnalités d un progiciel dynamiquement, en y ajoutant des composants polymorphiques avec des composants déjà utilisés. Comme le système ne manipule les objets répartis que par l intermédiaire de leurs interfaces, tout objet respectant ces interfaces peut être utilisé indifféremment. L adjonction de nouveaux composants respectant ces interfaces peut donc élargir le champ d action du système. Elle lui permet de manipuler des objets dont l existence n était a priori même pas connue lors de la création du progiciel. répartir les composants sur différentes machines, et les faire communiquer de manière transparente via le réseau. Les objets répartis se placent donc au plus haut niveau de la programmation réseau, et permettent une abstraction complète de la notion d appel de méthode d un objet. Par ailleurs, la répartition des objets fournit une solution élégante au problème d équilibrage des charges dans un système complexe. Certains orb vont jusqu à autoriser le rééquilibrage des charges dynamiquement, en phase d exploitation. bénéficier de tous les avantages des architectures client/serveur. Cependant, les progiciels à composants vont plus loin, car ils permettent une finesse incroyable dans ce type d architecture. En effet, chaque objet est considéré comme un serveur par les programmes qui l utilisent. Inversement, un objet peut très bien être client d un autre objet. Il est donc tout à fait possible de centraliser les données dans des objets dédiés à cette tâche, et d assurer les services complexes comme la cohérence de ces données et leur redondance pour les systèmes à défaillance de panne. construire un erp de façon modulaire. L indépendance des composants permet de concevoir un progiciel où chacun des composants correspondrait à un module. assembler des composants hétérogènes interopérables. Des technologies permettent d assembler des composants hétérogènes (de langage et système d exploitation différents) permettent de construire un système d information d entreprise par assem- Xavier Moghrabi Année universitaire : 2002-2003 4

blage de composants provenant de différents éditeurs. L utilisateur pourrait choisir les composants les mieux adaptés à son besoin et les faire fonctionner ensemble. Tous ces avantages sont déjà très significatifs. Mais l étendu des possibilités des systèmes à composants est encore plus vaste que ces simples possibilités techniques. En effet, les services additionnels fournis par les orb permettent virtuellement de réaliser des systèmes très différents et d étendre les orb. Inconvénients d un progiciel à base de composants Si les avantages précédents sont issus de l aboutissement des principes objets, les inconvénients le sont hélas aussi. Ils sont classés en deux catégories : l utilisation exclusive des interfaces pour manipuler les objets répartis implique la définition et l implémentation complète de ces interfaces, donc une forte augmentation des frais de conception et de développement des programmes ; l augmentation du risque de faire une usine à gaz si la conception n est pas faite dans les règles de l art. Ces deux inconvénients relèvent de la conception, et montrent donc clairement qu il ne faut pas se lancer à l aveugle dans les technologies à composants. D autre part, d autres problèmes additionnels peuvent survenir. Leur importance relative est propre à chaque orb, mais on peut généralement signaler que : la réalisation d un composant est nettement plus compliquée que l écriture d une classe. Ce constat se traduit par un besoin d analystes et de développeurs expérimentés. les programmes sont plus lents à l exécution, en raison de l intervention de l orb dans la communication inter-objets. La localisation des différents objets doit être prise en compte dans la conception d une application, afin de réduire le temps des communications. la gestion des problèmes de communication peut être soit peu souple, si elle est complètement masquée par l orb, soit complexe, si l orb ne la prend pas du tout en charge. Il faut s attendre au fait que les communications peuvent être coupées. Ceci est vrai même lorsque les objets sont exécutés sur une même machine, car il suffit qu un processus se termine (volontairement ou non) pour que tous les objets qui sont dedans deviennent inaccessibles. Pour certaines applications, l abstraction fournie par l orb est suffisante, mais pour d autres, il est impératif de maîtriser les pertes de connexion au plus bas niveau. Tous les orb ne sont pas égaux quant à la capacité de personnalisation des traitements d erreurs. Sur ce dernier point, ce problème relève du choix technologique. Par ailleurs, les problèmes de communication entre objets soulignent plus une qualité qu un défaut des objets répartis. En effet, si un processus fait une faute, il n est responsable que de la mort de ses propres objets, pas de celle des objets des autres processus. Par conséquent, un système à composants est globalement plus stable qu une application monolithique, pour laquelle l ensemble des opérations se serait arrêté. Xavier Moghrabi Année universitaire : 2002-2003 5

1.2 Présentation du MDA La naissance du mda a été motivée par la complexification des systèmes d information et des forts coûts de migration technologique. L omg propose ainsi de monter le niveau d abstraction pour s affranchir des contraintes technologiques. 1.2.1 Séparation entre la logique métier et la technologie L histoire des systèmes d information a connu de nombreuses évolutions que ce soit au niveau des langages de programmation (procéduraux et fonctionnels, évènementiels, orientés objet, services web...), des middleware (propriétaires, Corba, DCOM/COM+, RMI...) ou des méthodes de conception (SADT, Merise, les méthodes orientées objet...). De plus, la diversité des solutions pour résoudre un même problème ne cesse d augmenter [4]. Dans ce contexte, les chefs d entreprise ne veulent plus investir dans un middleware dont la pérennité est courte. Avec Corba, l omg pensait fournir une norme suffisamment puissante et ouverte pour répondre à tous les besoins. Le consortium pensait que Corba deviendrait ainsi le middleware standard universel à l instar d uml comme formalisme de modélisation. Cependant des architectures différentes se succédèrent, obligeant les entreprises à former leurs ingénieurs et à remettre à jour leurs applications. Lors d une migration d une infrastructure vers une nouvelle technologie, la logique métier de l application reste globalement la même. Il est donc évident de tenter de différencier l architecture technique dépendant de la technologie utilisée de celle de la logique métier. L intérêt est de favoriser l évolutivité, la réduction de coût et l interopérabilité. Pour aller dans ce sens, les grandes compagnies informatiques ont ressenti le besoin de standardiser les différentes tentatives. Elles ont donc logiquement chargé le consortium de l omg de la mission de définir une norme indépendante d un middleware particulier. 1.2.2 L abandon de la concurrence des middleware La nouvelle orientation de l omg, le mda, a été rendue publique en novembre 2000. Il s agit d un constat réalisé douze ans après la création de l omg. La recherche de l interopérabilité entre systèmes d information ne peut être atteinte uniquement grâce à la standardisation des infrastructures de middleware, mais par une approche beaucoup plus globale où la notion de modèle devient essentielle et centrale [5]. Pour résumé, on serait tenté de dire que l omg déclare terminée la guerre des middleware. Des acteurs divers proposent des middleware hétérogènes auxquels ils sont attachés. Par conséquent, il ne servirait à rien d essayer d imposer un ultime middleware. Cette analyse de la situation n est pas nouvelle puisque l omg avait défini des ponts pour passer de Corba vers d autres plate-formes. Toutefois, selon ce groupe, cette solution ne pouvait représenter un objectif réaliste de long terme, ni être à la base d une stratégie [6]. Xavier Moghrabi Année universitaire : 2002-2003 6

1.2.3 Une montée en abstraction Aujourd hui la nouvelle stratégie mda se démarque de l ancienne, Object Management Architecture - oma, en se positionnant clairement à un niveau d abstraction supérieur et en mettant le projecteur non plus sur les approches à objets mais sur les approches à modèles de composants [7]. Le but est de favoriser l élaboration de modèles de plus haut niveau d abstraction et les approches de transformation vers les plate-formes techniques. Ceci signifie qu il sera possible de définir un modèle métier totalement indépendant des plate-formes techniques et de générer du code spécifique à la plate-forme d implémentation. L iniative mda repose sur un changement de paradigme important dans le domaine du génie logiciel. La rapidité de cette évolution s explique par trois facteurs au moins. Le premier facteur est la nécessité de découpler les éléments considérés stables dans la logique métier, de l évolution des supports technologiques informatiques. Cette évolution dont on a accepté le caractère non conjoncturel, inéluctable et perpétuel ne va pas se ralentir. Toutefois, elle ne doit pas pénaliser la capitalisation logicielle du savoir et du savoir-faire de l entreprise. L objectif est donc clair même si les stratégies pour l atteindre ne sont pas totalement explicitées. Le deuxième facteur concerne la relative incapacité de la technologie orientée objet à tenir ses promesses. La complexité croissante des déploiements logiciels basés sur les formes modernes de composants comme les ejb est contraire aux espoirs de simplification conceptuelle des promesses de la technologie. Le recours à des expédients technologiques (cas d utilisation, patterns de conception, programmation orientée aspect,...) ne fait que renforcer le constat que la technologie orientée objet n est pas le remède miracle du génie logiciel [8]. Le troisième facteur est l urgence de stopper l empilement des technologies. Les systèmes d information sont parfois composés d une mosaïque hétéroclite de technologies, pour lesquelles il est nécessaire de conserver des compétences associées pour des raisons de maintenance. Cette situation s étend au fur et à mesure que les systèmes s agrandissent. La parade à cette accumulation de surcouches technologiques consiste à remplacer les approches interprétatives par des approches transformationnelles capables de générer des systèmes plus légers, moins gourmands en ressources et plus finement adaptés aux besoins réels des applications. L approche interprétative reconnaît que les individus ont un rôle très actif dans la construction des systèmes informatiques alors que l approche transformationnelle réduit leur rôle grâce à une automatisation de la construction. Desmond D Souza [9] a identifié trois dimensions dans l architecture des modèles représentant une entreprise : la dimension horizontale : au sein d une même entreprise cohabitent différentes vues partielles du système. Chacune correspond à un domaine différent avec ses objectifs propres et sa terminologie particulière. Chacune se traduit par des modèles particuliers, et éventuellement des méta-modèles spécifiques. le dimension verticale : au sein d un même domaine, on peut trouver différents niveaux d abstraction. la dimension des variantes : au sein de cette architecture peuvent cohabiter différentes versions de modèles. Elles représentent le système tel qu il a été, tel qu il est, tel qu il sera ou tel qu il pourrait être. Xavier Moghrabi Année universitaire : 2002-2003 7

Fig. 1.1 Description du méta-modèle mda Une problèmatique du mda concerne l organisation des modèles et donc des métamodèles. En effet, les différents domaines ne sont pas totalement disjoints. Il existe de nombreuses relations entre eux. Il est donc nécessaire d expliciter ces relations, et ce de plus haut niveau d abstraction afin de faciliter l interopérabilité. 1.2.4 Détail de l architecture du MDA Le mda est un méta-modèle de composants. Comme précisé auparavant, il ne spécifie pas une nouvelle architecture middleware mais définit une représentation de l architecture abstraite et indépendante de la plate-forme technique, tout en lui associant une multitude de services métiers. La figure 1.1, à la page 8, présente une description du métamodèle du mda [10]. Les termes pim, psm, expliqués dans le section suivante, représentent des modèles respectivement indépendant et spécifique à la plate-forme technique. Le pim, le psm et les techniques de mappage sont basés sur un méta-modèle représenté de préférence avec les standards définis par l omg (uml, mof, cwm et xmi). L objectif du mda est la création d une représentation uml de la logique métier et de lui associer des caractéristiques mda. Des outils devraient permettre de générer automatiquement des composants en fonction de l architecture à composants choisie (ejb, Corba,.net ou services web). Un travail de finalisation sera nécessaire pour affiner le modèle obtenu en fonction du contexte choisi. La migration d une application d une infrastructure à une autre consiste ainsi à demander, du modèle mda de la logique métier, une génération du modèle spécifique à la nouvelle infrastructure cible. L automatisation de la génération devra permettre de réduire la durée et les coûts de migration. De plus, un éditeur pourra envisager plus facilement d éditer un logiciel pour les plate-formes techniques supportées par le mda. Xavier Moghrabi Année universitaire : 2002-2003 8

Fig. 1.2 Vue globale de l achitecture du mda La figure 1.2, de la page 9, représente une vision globale du mda [11]. Le noyau de l architecture de mda est basé sur des standards de l omg tels que uml, mof, cwm et xmi. Plusieurs modèles types du noyau existent et l omg les nomme des profils uml. Chaque profil répond à un besoin précis. Par exemple, l un d entre eux représente le système de l entreprise avec sa structure de composants et des interactions transactionnelles ; un autre, un système en temps réel avec des besoins spéciaux de contrôle de ressources... Grâce aux technologies du noyau, les architectes pourront représenter les modèles du système. L anneau autour représente les technologies middleware. Nous y retrouvons les standards actuels tels que les ejb, Corba,.net et les Services Web. L architecture technique doit contenir des composants. Un modèle spécifique à la plateforme doit être réalisé. Il est également représenté par le formalisme uml mais selon un profil spécifique à la plate-forme cible. L anneau extérieur au cercle représente les services. Ceux-ci permettent de gérer les fonctionnalités de base du système comme les transactions, la persistance, la sécurité, les évènements ou les répertoires. Enfin, une couche spécifique au domaine d application se situe à la périphérie du noyau en englobant le tout. Ce sont les profils uml qui permettent de définir cette couche et proposent des frawework spécifiques au domaine d application du système. Xavier Moghrabi Année universitaire : 2002-2003 9

1.3 L importance des modèles 1.3.1 Les différents modèles du MDA L omg définit dans son guide sur le mda quatre modèles standards [12]. CIM Le cim est l abréviation anglaise de Computation Independent Model. Les exigences du système sont modélisées dans ce modèle qui décrit la situation dans laquelle le système sera utilisé. Un tel modèle est parfois appelé Business Model ou Domain Model (c est-à-dire un modèle de l entreprise). Il ne montre pas les détails de la structure du système. Typiquement ce modèle est indépendant de l implémentation du système. Le cim correspond à la modélisation de l entreprise sans parler encore de système informatique. Il montre le système au sein de l environnement dans lequel il opèrera. Il aide ainsi pour représenter ce que le système devra exactement faire. Il se révèle utile, non seulement comme une aide pour comprendre le problème, mais aussi comme une source du vocabulaire partagé avec d autres modèles. Dans la spécification mda, les exigences du cim doivent pouvoir est suivies à la construction des autres modèles (pim et psm) qui les implémentent et vice versa. Le cim est constitué de deux modèles uml, des points de vue de l entreprise et des informations. Le cim joue un rôle important pour combler le fossé entre les experts, du métier et des exigences, et les experts de la conception des artéfacts, qui ensemble satisfont les exigences métier. PIM Le terme pim est l acronyme de l anglissisme Platform Independent Model soit le modèle indépendant de la plate-forme. Cela signifie que ce type de modèle n a pas de dépendance avec la plate-forme technique. Il décrit le système mais ne montre pas les détails de son utilisation sur la plate-forme. Le pim représente ainsi la logique métier, spécifique au système, mais indépendant de la technique et de la technologie. Le pim correspond à la modélisation du système de manière indépendante à la plate-forme. Ce modèle est concrètement représenté par un diagramme de classes en uml. Le pim donne une sémantique aux classes à l aide de stéréotypes selon le méta-modèle mda et les profils uml. PSM Le psm, pour Platform Specific Model, est, quant à lui, un modèle dépendant de la plate-forme technique. Ce type de modèle sert essentiellement de base à la génération de code exécutable. Ce modèle, produit à partir d une transformation du pim, est un modèle du même système que le pim mais spécifié par rapport à la plate-forme. Il décrit aussi comment ce système utilisera la plate-forme choisie. Un psm peut fournir plus ou moins de détails selon son but. Un psm peut être une implémentation, s il fournit toutes les informations utiles pour construire le système. D autre part, un psm peut ressembler à un pim pour définir un niveau d abstraction intermédiaire entre le pim et le psm d implémentation. Xavier Moghrabi Année universitaire : 2002-2003 10

Fig. 1.3 Exemple d utilisation des modèles du mda pour réaliser une application Un psm d implémentation fournit un large éventail d informations tels que le code du programme, les types pour l implémentation, les programmes liés et les spécifications, les descripteurs de déploiement, et d autres formats de spécification. PDM Ce modèle est désigné par l acronyme pdm pour Plateform Description Model. Il correspond à un modèle de transformation du pim vers un psm d implémentation. L architecte doit choisir une ou plusieurs plate-formes pour l implémentation du système avec les qualités architecturales désirées. Ce modèle propre à la plate-forme est utile pour la transformation du pim en psm. La démarche mda est ainsi basée sur le détail des modèles dépendant de la plate-forme. Il représente les particularités de chaque plate-forme. Il devrait être fourni par le créateur de la plate-forme. La figure 1.3, de la page 11, représente un ordre d intervention de ces modèles dans la création d une application. L annexe A organise et structure tous ces modèles grâce à une Architecture à quatre niveaux définie par l omg. 1.3.2 La transformation des modèles Le mappage est utilisé pour les transformations suivantes [11]. Xavier Moghrabi Année universitaire : 2002-2003 11

PIM vers PIM Ces transformations interviennent quand un modèle est agrandi, réduit ou spécialisé pendant le cycle de développement sans aucune information dépendante de la plate-forme. Le fait de masquer quelques éléments afin de s abstraire de détails fonctionnels est typiquement une transformation pim vers pim. Un des mappages les plus évidents est la transformation du modèle d analyse à celui de conception. Ces mappages sont généralement reliés à un affinage du modèle. Ces transformations ne sont pas toujours automatisables. PIM vers PSM Ces transformations s effectuent quand le pim est suffisamment défini pour être transposé dans l infrastructure d exécution. La projection est basée sur les caractéristiques de la plate-forme technique. La description des caractéristiques doit être réalisée par le pdm (et éventuellement un profil pour décrire les concepts de la plate-forme). La transposition d un modèle de composants logiques à un modèle de composants existants (tels que les ejb du framework j2ee ou CCM de Corba) est un mappage de pim vers psm. L opération consiste à ajouter des informations propres à la plate-forme technique. Ces transformations ont donc pour but d être fortement automatisées. PSM vers PSM Ces transformations sont utilisées lors des phases de déploiement, d optimisation ou de reconfiguration. Une fois empaquetés, l intégration des composants peut être réalisée en spécifiant l initialisation des données, les machines cibles, la génération du conteneur et la configuration... Ces mappages sont généralement dus à un affinage du modèle. PSM vers PIM Ces transformations s effectuent pour construire un modèle d abstraction pim à partir d un système existant dépendant d une plate-forme. Cette procédure correspond ainsi à du reverse engineering. Elle est assez difficile à réaliser et est difficilement entièrement automatisable. Cette transformation est pourtant nécessaire pour toute migration d un système existant vers l approche mda. 1.3.3 Les profils UML Les profils uml jouent un rôle important dans le mda du fait des mappages entre modèles. Pour implémenter le mappage, le mécanisme a besoin de connaître les méta-modèles d entrée, ceux de sortie et les règles de mappage. Les règles de transformation peuvent être réalisées à l intérieur des outils uml (par exemple en utilisant un système de script) ou par des outils externes (par exemple en travaillant sur des fichiers xmi). La figure 1.4, page 13, présente un exemple de mappage de pim vers psm en utilisant le profil de l omg de l Enterprise Distributed Object Computing - EDOC [11]. Ce profil doit permettre de définir un système d information d entreprise à base de composants distribués. C est grâce à ce profil que les composants d entreprise doivent être définis. D autres profils sont en cours de définition. Le profil Enterprise Application Integration - EAI permettra de concevoir des systèmes fortement couplés. Le profil permet de représenter les communications asynchrones et les envois de messages, quelque soit la plate-forme (pim). Le profil Scheduling - SCH servira à l ordonnancement. Il est typiquement utilisé pour la Xavier Moghrabi Année universitaire : 2002-2003 12

Fig. 1.4 Un exemple de méta-modèle en mda modélisation des applications temps réels, quelque soit la plate-forme (pim). Une architecture à base de composants est décrite en utilisant le profil EDOC sur la figure 1.4, de la page 13. Ce profil spécifie également les règles de mappages standards entre EDOC et les modèles de composants standards comme les ejb. Le mappage de EDOC à ejb n est pas un profil en lui-même, mais peut être associé à la notion de profil car on connaît les modèle et méta-modèle d entrée et de sortie. Les règles et techniques standards de spécification pour aller d un modèle à un autre sont ainsi définies. Actuellement, un effort important est à fournir pour transformer complètement le pim vers un psm. Nous pouvons espérer que l intégralité de cette phase sera automatisée dans les années à venir (2008) [13]. 1.4 Qu attendre de l approche MDA? Cette approche constitue un pas majeur dans le domaine du génie logiciel. Le principal intérêt des chefs d entreprise est de savoir la valeur ajoutée apportée par le mda. 1.4.1 Les forces Une multitude d avantages est attendue par les entreprises et les organisations de standardisation qui travaillent sur le mda. Dans les paragraphes suivants, nous en illustrerons trois. Xavier Moghrabi Année universitaire : 2002-2003 13

Des systèmes interopérables favorisant l hétérogénéité des plate-formes Aujourd hui, les groupes industriels essayent de créer des systèmes d information ou d autres applications informatiques sur une seule plate-forme particulière. Bien que beaucoup d industriels possèdent un middleware dominant leur système informatique, chez aucun d entre eux une unique plate-forme ne peut gérer l ensemble de l interopérabilité du réseau. Ainsi, dans le but d accroître leur cible, les éditeurs de logiciels peuvent rendre rapidement disponible leurs produits pour différentes plate-formes et en développant l interopérabilité avec les systèmes existants grâce à la démarche de mda. De plus, comme le mda prévoit des passerelles favorisant l interopérabilité d une plateforme à une autre, les industries peuvent combiner plus facilement des systèmes hétérogènes. Cela permettra à toutes les entreprises d utiliser des standards pour à la fois les transactions internes ou interentreprises [14]. Le choix de la plate-forme technique la mieux adaptée Les logiciels du marché sont le plus souvent destinés à une plate-forme technique donnée. L utilisateur doit ainsi se soumettre à cette contrainte ou refuser d utiliser le logiciel. Les éditeurs adoptant le mda pourraient proposer à leurs clients ce choix. Par exemple, des logiciels de conception et réalisation assistées par ordinateur (CAD/CAM : Computer Aided Design/Manufacturing) et de gestion des données produits (PDM : Product Data Management) nécessitent un couplage fort. L utilisateur décide qu ils fonctionneront sur Corba, la plate-forme pour laquelle ils ont déjà été conçus. De l autre côté, il souhaite ajouter une application qui concerne l ensemble de l entreprise, la gestion de la chaîne logistique (SCM : Supply Chain Management). Il choisit de l implémenter en services web pour l avantage de cette technologie en terme d interopérabilité avec des applications externes. En effet, cette plate-forme fournit la possibilité d intégrer cette application dans d autres. En utilisant le mda, un tel environnement ne pose pas de problèmes à être implémenté et déployé. En fait, beaucoup d industries auront besoin d exposer une partie de leurs applications à des partenaires extérieurs qui ne possèdent pas le même système informatique. Les services web représentent une technologie intéressante sur ce point et le mda fournira l architecture qui convient [14]. Un développement plus rapide et des logiciels de meilleure qualité Le modèle pim du mda spécifie seulement les fonctionnalités métier et le comportement de l application, sans se soucier de l aspect spécifique à la plate-forme. En travaillant dans cette optique, les architectes et les concepteurs peuvent se focaliser exclusivement sur le détail de la logique métier. Ils travailleront le modèle jusqu à obtenir exactement ce qui est spécifié dans le cahier des charges. Ils mettront ainsi une charge de travail conséquente sur la production de ce modèle car il est à la base de la génération des modèles spécifiques à la plate-forme technique. Si un aspect de l implémentation ne fonctionne pas correctement, il est facile de savoir s il s agit d une erreur comportementale sur le modèle métier ou d une faute dans le code. De plus, l approche de l omg vise automatiser la production de code à partir des Xavier Moghrabi Année universitaire : 2002-2003 14

modèles psm. Le processus de développement est accéléré par l utilisation d outils. Ces derniers permettent de réaliser automatiquement les mappages du pim vers le psm, laissant aux concepteurs le soin de s attacher sur les détails. Ensuite, ils permettent de générer automatiquement le code à partir du psm. La migration vers une autre technologie est ainsi plus aisée et rapide [14]. 1.4.2 les faiblesses Bien que cette approche soit intéressante, il existe plusieurs défis potentiels auxquels l omg devra s attaquer. L utilisateur actuel du mda doit en être conscient. La question sur les outils L idée de mda est de générer (presque) automatiquement les modèles psm depuis les pim. Toutefois, ceci ne pourrait être possible seulement pour quelques rares environnements techniques. Le problème est que la technologie sous-jacente change trop rapidement, mais le temps que les mappages automatiques soient en place pour une plate-forme, la technologie risque de changer. De plus, la démarche mda devrait être adaptée à plusieurs plate-formes. Les vendeurs ne pourront fournir des outils pour toutes les plateformes et ils devront en choisir quelques unes. Ainsi, un utilisateur qui acquérrait un outil mda se limiterait à travailler sur les plate-formes supportées. Il ne serait pas possible d intégrer des plate-formes hétérogènes. Chaque éditeur d outil respectera le mda à sa propre manière à l instar des outils Corba. La norme Corba est très complète pour bâtir une architecture distribuée, toutefois beaucoup d outils supportant Corba n étaient pas aussi complets et les éditeurs implémentaient leur propre version de la norme. Le résultat était que différents orb Corba fonctionnaient mal ensemble. Ainsi le même scénario peut se répéter avec les outils mda. Les outils seront hétérogènes et le passage d un modèle d un outil à un autre pourrait être délicat malgré l utilisation de xmi. Ce type de problème est d ailleurs souvent favorisé par le leader du marché. Dans le passé, de nombreuses stratégies d intégration d outils ont échoué lamentablement, pourquoi en serait-il différent avec le mda [15]? Le MDA est trop compliqué Une hypothèse fondamentale de la démarche mda est que les développeurs aient des compétences significatives en modélisation. Toutefois cette vision idéaliste reste loin de la réalité. La plupart des développeurs créent rarement et difficilement des diagrammes uml. Ils ne savent pas forcément ce que représentent les neuf diagrammes d uml [15]. La difficulté d une approche par modèles ne permettra qu à un faible pourcentage des développeurs d avoir les compétences pour modéliser complètement des systèmes. Le mda nécessite l implication de professionnels de la modélisation. Ces personnes sont rares dans les petites structures ou chez les industriels. Cette limitation risque de définir le mda comme une approche destinée aux gros projets. Cette remarque peut faire penser à l évolution de Corba, une norme complète pour bâtir des systèmes distribués. Toutefois cette norme est très compliquée à mettre en œuvre et la répartition des implémentations Corba diminue au profit de technologies plus simples tels que.net ou j2ee. Xavier Moghrabi Année universitaire : 2002-2003 15