MDA en action. Ingénierie logicielle guidée par les modèles

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

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

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

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

CC30 Certificat de compétence Conception, développement et animation de sites Web

Vérifier la qualité de vos applications logicielle de manière continue

Génie logiciel (Un aperçu)

Analyse,, Conception des Systèmes Informatiques

Documentation d information technique spécifique Education. PGI Open Line PRO

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

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

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

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

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

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

Expert technique J2EE

Paul FLYE SAINTE MARIE

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

Les nouvelles architectures des SI : Etat de l Art

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

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

Recommandations techniques

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

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

> + Consultant / Architecte JEE Indépendant. Fabien GUIBERT 34 ans, 11 ans d expérience d expérience COMPETENCES / DOMAINES METIERS

Déploiement et migration Windows 8 Méthodologie Compatibilité des applications ADK MDT 2012 ConfigMgr 2012 SCCM 2012 Windows Intune MDOP

Refonte front-office / back-office - Architecture & Conception -

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Objecteering. La convergence SOA, UML2, BPMN, EA, pour le développement guidé par le modèle.

THESE. DOCTORAT EN SCIENCES APPLIQUEES Spécialité : Informatique

DES SYSTÈMES D INFORMATION

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

Configuration système requise

Université Mohamed Khider Biskra. Faculté des sciences exactes et des sciences de la nature et de la vie. Département d Informatique.

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Exigences système Edition & Imprimeries de labeur

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

Introduction au génie logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Chef de projet / Architecte JEE 15 ans d expérience

Évaluation et implémentation des langages

Travaux pratiques Détermination de la capacité de stockage des données

Ingénieur Développement Nouvelles Technologies

Configuration matérielle et logicielle requise et prérequis de formation pour le SYGADE 6

Approche dirigée par les modèles pour la génération d une chorégraphie distribuée à partir d un processus d orchestration BPMN

Formation en Logiciels Libres. Fiche d inscription

Formation : Langues : Types d Intervention et Secteurs d Activité :

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

La clé de votre réussite, notre engagement!

Intégration d un ERP guidée par les modèles

Exigences système Edition & Imprimeries de labeur

MEGA Desktop Application Architecture Overview Guide Version MEGA 2009 SP4

Sécurité et mobilité Windows 8

Dossier de spécification Gestion des effectifs : Beaufour IPSEN Industrie TW52

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Le moteur de workflow JBPM

LICENCE PROFESSIONNELLE

Projet de développement

Générer du code à partir d une description de haut niveau

PROFIL DU CANDIDAT. Ingénieur Etudes confirmé JAVA ans d expérience

Purkinje Dossier Configuration requise. Version 5.11

Davi Trénou. Analyste/Développeur. Concepteur web. Consultant SAP Logan, H2K2B4 Montréal, QC, CA.

GPC Computer Science

CQP Développeur Nouvelles Technologies (DNT)

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Catalogue des Formations Techniques

Dispositif e-learning déployé sur les postes de travail

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

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

L'impact du langage UsiXML sur le e-commercee

Introduction à la conception de systèmes d information

Hébergement MMI SEMESTRE 4

Avantic Software Présentation de solutions GED pour mobiles (Gestion Electronique de Documents)

Visual Paradigm Contraintes inter-associations

Blueprint OneWorld v8.2a Configuration Recommandée

Symantec Backup Exec.cloud

SINUTRAIN. SINUMERIK Logiciel de formation et de programmation sur PC. Aperçu Octobre Valable du 1/10/2008 au 30/9/2009

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

Rapport de stage. Développement d un logiciel de vidéoconférence : Enjeux 3. Guillaume DOTT 2009

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

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

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

MITEL MICOLLAB CLIENT

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

Applications distribuées: le retour du client "riche"

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES


Logiciel (Système d impression directe)

Les salaires de L écosystème php en france. L Association Française des Utilisateurs de PHP (AFUP) le cabinet de recrutement spécialisé Agence-e

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

... Conseil. Exp er tise. I ngénierie. Formation

Le génie logiciel. maintenance de logiciels.

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Logiciel de gestion des équipements de test MET/TEAM. NOUVEAU logiciel convivial de gestion des ressources d étalonnage par navigateur

Manuel d utilisation Logiciel (Communications Utility)

Exigences système Commercial & Digital Printing

Transcription:

X a v i e r B l a n c MDA en action Ingénierie logicielle guidée par les modèles A télécharger gratuitement : IBM Rational Software Modeler* Objecteering/MDA Modeler* Spécifications de l OMG * En version d'évaluation

MDA en action a r c h i t e c t e l o g i c i e l Quelles règles pour la création logicielle? Quelles méthodes, quels outils? L enjeu est de taille : garantir la souplesse et l interopérabilité des applications métier. Les modèles au service de la productivité et de la pérennité des développements Nouvelle approche d ingénierie logicielle élaborée par l OMG, MDA (Model Driven Architecture) prône l utilisation systématique de modèles dans toutes les phases du cycle de vie des applications informatiques, de l analyse et conception à la génération de code et au déploiement. Pour une meilleure productivité et une plus grande pérennité des développements, la logique métier d une application est modélisée indépendamment de toute plate-forme d exécution, un mécanisme de transformation de modèles permettant ensuite de produire automatiquement les modèles et le code spécifiques à chaque plateforme (J2EE,.NET, PHP ). Au sommaire Architecture MDA (CIM, PIM, PSM...) Pérennité des savoir-faire avec MDA. Modèles, métamodèles et métamétamodèles UML 2.0 OCL et AS Représentation des modèles en XML : XMI et DI Gains de productivité (frameworks et outils). Manipulation des modèles avec JMI et EMF Transformation de modèles Outils MDA : IBM Rational Software Modeler et Objecteering/MDA Modeler Prise en compte des plate-formes d exécution. MDA et les plates-formes d exécution La plate-forme J2EE La plate-forme PHP Étude de cas. L application PetStore : du modèle UML 2.0 à la génération de code J2EE et PHP 5 Annexe. Contenu des fichiers téléchargeables et procédures d installation. Conception : Nord Compo Mise en œuvre pratique de MDA, illustrée par une étude de cas Après une description détaillée des standards sur lesquels repose MDA, tels que UML, MOF, OCL et XMI, l ouvrage insiste sur les aspects pratiques de sa mise en œuvre. Il montre comment construire des transformations de modèles en Java à l aide de l API JMI et du framework EMF, et présente deux outils MDA du marché : IBM Rational Software Modeler et Objecteering/MDA Modeler. L ouvrage décrit enfin comment MDA prend en compte les plateformes d exécution, en détaillant plus particulièrement les environnements J2EE/EJB et PHP. Tous ces aspects de l approche MDA sont illustrés par une étude de cas, une application de commerce électronique développée simultanément en J2EE et en PHP. offert avec ce livre en téléchargelent gratuit : IBM Rational Software Modeler 6.0 (version d évaluation limitée à 30 jours, en français) Objecteering/MDA Modeler (version d évaluation, en anglais) Spécifications de l OMG : UML 2.0, OCL 2.0, DI, MOF 2.0, XMI 2.0, MDA Guide (documents en anglais au format pdf, OMG, 2005). CONFIGURATION REQUISE : Pentium IV à 1 GHz 512 Mo de RAM Windows XP Professionnel (SP 1/SP 2), Windows 2000 (SP 4) ou Windows Server 2003 Adobe Reader 6 Espace disque : 1,2 Go pour l installation de IBM Rational Software Modeler et 300 Mo pour l installation de Objecteering/MDA Modeler. Maître de conférences à l Université Pierre et Marie Curie (Paris 6), Xavier Blanc est responsable de l enseignement des techniques de modélisation en 3 e année de licence et en master d informatique. Il a commencé ses activités de recherche en ingénierie logicielle guidée par les modèles dès 1998 à EDF et est l un des membres fondateurs du groupe Meta qui organise depuis 1999 des séminaires sur ce thème. @ Sur le site www.editions-eyrolles.com Dialoguez avec l auteur Téléchargez le code source de l étude de cas du livre Xavier Blanc est représentant du LIP6 (Laboratoire d informatique de l Université Paris 6) à l OMG (Object Management Group) et participe au plus gros projet européen dédié à l approche MDA (projet IST ModelWare). Il dirige au sein de ce projet l élaboration du ModelBus, qui permettra l interopérabilité totale des outils de modélisation. Code éditeur : G11539 ISBN : 2-212-11539-3

Nous vous remercions pour l achat de ce livre électronique. La version papier de cet ouvrage étant accompagnée d un support physique, nous vous proposons de télécharger les fichiers depuis notre site, de manière à ce que vous puissiez pleinement profiter de votre achat. Xavier Blanc, Olivier Salvatori - MDA en action ISBN : 978-2-212-11539-0 Vous pouvez télécharger les fichiers présents sur le CD-ROM qui accompagne le livre papier à cette adresse : http://www.st1.eyrolles.com/9782212115390/mda-11539.zip Pour télécharger ces fichiers dans de bonnes conditions, veillez à le faire depuis un ordinateur de bureau. Évitez tout téléchargement depuis une tablette ou une liseuse. Pour toute remarque ou suggestion, merci d écrire à numerique@eyrolles.com www.editions-eyrolles.com www.editions-organisation.com Service numérique, 2012

CHEZ LE MÊME ÉDITEUR Dans la collection Architecte logiciel F. VALLÉE. UML pour les décideurs. N 11621, 2005, 300 pages. P. ROQUES, F. VALLÉE. UML 2 en action. De lʼanalyse des besoins à la conception J2EE. N 11462, 3 e édition, 2004, 380 pages + poster. J.-L. BÉNARD, L. BOSSAVIT, R. MÉDINA, D. WILLIAMS. Gestion de projet Extreme Programming. N 11561, 2002, 300 pages. Modélisation et méthodes logicielles P. ROQUES. UML 2 par la pratique, 3 e édition. Cours et exercices. N 11480, 2004, 340 pages. P.-A. MULLER, N. GAERTNER. Modélisation objet avec UML. N 11397, 2 e édition 2000, 520 pages (réédition au format semi-poche). P. ROQUES. UML : modéliser un site e-commerce. N 11070, 2002, 168 pages. A. COCKBURN. Rédiger des cas dʼutilisation efficaces. N 9288, 2001, 320 pages. I. JACOBSON, G. BOOCH, J.RUMBAUGH. Le Processus unifié de développement logiciel. N 9142, 2000, 487 pages. R. PAWLAK, J.-P. RETAILLÉ, L. SEINTURIER. Programmation orientée aspect pour Java/J2EE. N 11408, 2004, 460 pages. B. MEYER. Conception et programmation orientées objet. N 9111, 2000, 1223 pages. Développement Java/J2EE,.NET et PHP K. DJAFAAR. Eclipse et JBoss. Développement dʼapplications J2EE professionnelles, de la conception au déploiement N 11406, 2005, 656 pages + CD-Rom. J. MOLIÈRE. Cahier du programmeur J2EE. Conception et déploiement J2EE 1.4. N 11574, 2005, 234 pages. R. FLEURY. Cahier du programmeur Java/XML. Méthodes et frameworks : Ant, Junit, Eclipse, Struts-Stxx, Cocoon, Axis, Xerces, Xalan, JDom, XIndice N 11316, 2004, 228 pages. J. WEAVER, K. MUKHAR, J. CRUME J2EE 1.4. N 11484, 2004, 666 pages. J. GOODWILL. Jakarta Struts. N 11231, 2003, 354 pages. L. MAESANO, C. BERNARD, X. LEGALLES. Services Web en J2EE et.net N 11067, 2003, 1088 pages. D. LANTIM..NET par Dick Lantim. G11200, 2003, 564 pages. E. DASPET, C. PIERRE DE GEYER. PHP 5 avancé. N 11323, 2004, 784 pages. S. MARIEL. Cahier du programmeur PHP 5. PHP objet et XML. N 11234, 2004, 288 pages.

ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com IBM et Rational sont des marques déposées de International Business Machines Corp. aux États-Unis et dans d autres pays. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de lʼéditeur ou du Centre Français dʼexploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. Groupe Eyrolles, 2005, ISBN : 2-212-11539-3

À ma femme Virginie et à mon fils Arthur

Remerciements Je tiens à remercier ici tous ceux qui m ont aidé directement et indirectement à rédiger cet ouvrage : Marie-Pierre Gervais, pour son soutien, sa vision académique qu elle sait partager, ses précieux conseils de fond et de forme et toutes les heures qu elle a bien voulu passer à me relire, sans lesquels cet ouvrage n aurait sans doute jamais vu le jour. Philippe Desfray, pour son regard profondément novateur sur MDA qu il a bien voulu partager avec moi, sa disponibilité, sa confiance et les précieux conseils qu il a su me prodiguer. Les membres français de l OMG, pour m avoir intégré à leurs meetings et pour les discussions fructueuses que nous avons eues. Les membres du groupe Ingénierie des modèles de l Observatoire français des techniques avancées (OFTA) pour les travaux de synthèse que nous avons menés. Les membres du groupe Meta, pour toutes les réunions passionnantes que nous avons eues depuis plus de quatre ans et qui donnent toujours lieu à des débats plus qu enrichissants. Serge Bonnaud, pour son accueil et pour les efforts qu il a déployés pour que ce projet voie le jour. Jean-François Perrot et Gilles Blain, qui m ont initié à l ingénierie logicielle guidée par les modèles, pour leur ouverture d esprit, la démarche scientifique qu ils ont su m apporter et l expérience qu ils m ont chaleureusement transmise. Salim Bouzitouna, Prawee Sriplakich, Reda Bendraou, Grégory Jevardin De Fombelle, Samir Ammour et Maher Lamari, pour leur curiosité et leurs idées neuves. Régis Blanc et Frédéric Vigouroux, pour leurs précieux conseils en PHP. Les membres du thème SRC, pour le soutien chaleureux qu ils m ont accordé et leurs éclairages scientifiques sur des domaines tels que les techniques formelles.

Préface Dans notre quête de la puissance d expression des langages informatiques et du gain de productivité des développements, chaque décennie apporte son lot de techniques nouvelles, qui viennent se compléter les unes les autres. Ainsi avons-nous vu apparaître les langages symboliques, la programmation fonctionnelle, la programmation structurée, les SGBD, les machines abstraites, les L4G, la programmation par objets, les design patterns, les infrastructures de type CORBA, J2EE ou.net et la programmation par composants. Les modèles ont suivi une évolution parallèle aux langages et ont été étendus, étoffés et complétés pour offrir une capacité de représentation des problèmes et solutions au niveau le plus abstrait. UML et sa dernière version UML2.0 offrent ainsi une panoplie très complète de techniques de modélisation, permettant de représenter tout type de système et d application logicielle. L apport de MDA est de permettre d exploiter ces modèles pour simuler, estimer, comprendre, communiquer et produire. Le présent ouvrage présentera de nombreux exemples illustrant l aspect production, en montrant comment un modèle peut être exploité pour produire différents codes. Le code ne devient dès lors qu une conséquence, une dérivation mécanique du modèle. MDA contient en germe une progression considérable de la productivité et de la puissance d expression des développements logiciels. Initiée en 1999 par l OMG, l approche MDA se répand dans le monde du développement logiciel et constitue une évolution importante des pratiques de développement d applications. Il manquait à ce jour un livre de référence, permettant au plus grand nombre de comprendre et mettre en œuvre les technologies MDA, pour que MDA ne soit plus considéré comme réservé à un cercle de spécialistes. Xavier Blanc a depuis toujours travaillé dans le domaine de MDA. Nous avons travaillé ensemble dans des projets de recherche liés à MDA, dans des actions de standardisation à l OMG et actuellement sur le plus gros projet de recherche logiciel européen, appelé Modelware, aussi dédié aux extensions des technologies MDA à mettre en œuvre. Combinant une recherche permanente sur MDA à une expérience professionnelle industrielle et à un poste d enseignement à l Université Paris-VI, Xavier Blanc a pu transmettre dans ce livre une partie de son savoir, appuyé par son expérience pratique et une précieuse approche pédagogique.

X MDA en action MDA en action est à ce jour le livre que je recommande à tous ceux qui veulent connaître ce que sont l approche et les technologies MDA et qui veulent voir des cas pratiques de mise en œuvre. L approche MDA sera-t-elle une évolution majeure de notre décennie informatique? Je vous en laisse juge. On ne saurait trouver meilleure source pour instruire ce passionnant dossier que le présent ouvrage. Philippe DESFRAY, directeur R&D de Softeam

Table des matières Avant-propos................................................ Objectifs de l ouvrage........................................ Organisation de l ouvrage.................................... À qui s adresse l ouvrage..................................... XIX XX XX XXI CHAPITRE 1 L architecture MDA........................................... 1 Les modèles................................................ 1 Le modèle d exigences CIM (Computation Independent Model)....... 3 Le modèle d analyse et de conception abstraite PIM (Platform Independent Model)................................. 3 Le modèle de code ou de conception concrète PSM (Platform Specific Model).................................... 4 Transformation des modèles................................... 5 Architecture générale de l approche MDA....................... 6 Technologies de modélisation................................. 7 Le formalisme de modélisation MOF (Meta Object Facility)......... 7 Le métamodèle UML........................................ 9 Modélisation de la transformation de modèles avec QVT............ 11 Liens vers XML et Java avec XMI, JMI et EMF................... 12 L étude de cas PetStore....................................... 13 Avantages attendus de MDA.................................. 16 Pérennité des savoir-faire..................................... 17 Gains de productivité........................................ 19 Prise en compte des plates-formes d exécution.................... 20 Synthèse................................................... 21

XII MDA en action PARTIE I Pérennité des savoir-faire...................................... 23 CHAPITRE 2 Modèles et niveaux méta.................................... 25 Les métamodèles............................................ 25 Exemples de métamodèles.................................... 26 Exemple de métamodèle MOF1.4.............................. 30 Les niveaux méta............................................ 36 Entités à modéliser.......................................... 36 Les modèles............................................... 37 Les métamodèles........................................... 38 MOF1.4................................................... 38 L architecture à quatre niveaux de MDA......................... 40 Métamodèles et typage des modèles............................ 41 Liens entre métamodèles..................................... 42 L architecture MOF2.0 de l OMG............................. 43 UML2.0 Infrastructure....................................... 43 UML2.0 Superstructure...................................... 44 MOF2.0................................................... 45 Architecture et niveaux....................................... 46 Synthèse.................................................... 46 CHAPITRE 3 UML2.0....................................................... 49 Les objectifs d UML2.0...................................... 50 La RFP UML2.0 Superstructure................................ 50 Le métamodèle UML2.0 Superstructure........................ 52 Architecture............................................... 52 La relation PackageMerge.................................... 55 Le paradigme composant..................................... 57 Déploiement............................................... 62