La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Étude et applications de lapproche MDA pour des plates-formes de Services Web Présentée et soutenue par Denivaldo LOPES le 11 juillet 2005 Directeur.

Présentations similaires


Présentation au sujet: "1 Étude et applications de lapproche MDA pour des plates-formes de Services Web Présentée et soutenue par Denivaldo LOPES le 11 juillet 2005 Directeur."— Transcription de la présentation:

1 1 Étude et applications de lapproche MDA pour des plates-formes de Services Web Présentée et soutenue par Denivaldo LOPES le 11 juillet 2005 Directeur de Thèse : Pr. Jean BÉZIVIN Co-encadrant : Slimane HAMMOUDI Université de Nantes – LINA École Supérieure dÉlectronique de lOuest – ESEO

2 2 Étude et applications de lapproche MDA pour des plates-formes de Services Web Sommaire Introduction État de lart Approche MDA pour la plate-forme Services Web : modélisation Spécification de correspondances et définition de transformations Un outil pour la spécification de correspondances Conclusion

3 3 Introduction Contexte : Internet et Services Web Étude et applications de lapproche MDA pour des plates-formes de Services Web Internet/ Intranet Les services Web ! (XML, SOAP, WSDL et UDDI ) XML-RPC DCOM/COM+ CORBA-IIOP EDI-standards CORBA-IIOP DCOM/COM+ HTTP/HTML CGI RPC Java RMI EDI-standards CORBA-IIOP DCOM/COM+ Travel Agency Airlines RentCar Hotel Client - un intergiciel unificateur ? - interopérabilité sur lInternet ? ? ? ? ? ? ? ?

4 4 Internet et Services Web Étude et applications de lapproche MDA pour des plates-formes de Services Web WSDL Services Web SOAP est accédé en utilisant UDDI supporte la découverte de attaché à supporte la communication entre décrit Un service Web est « une manière standardisée dintégrer des applications basées sur le Web en utilisant les standards ouverts XML, SOAP, WSDL, UDDI et les protocoles de transport de lInternet.» (cf. Webopedia). XML comme la clé pour linteropérabilité.

5 5 Contexte - Introduction Un service Web est un Intergiciel de plus ! Je veux des solutions pour : - La complexité de développement, de maintenance et dévolution des systèmes. Internet et Services Web La solution est dutiliser des modèles dans tous les cycles de vie de développement des systèmes. Jai déjà entendu parler de cet histoire de modèles : OMT, Booch, UML, outils CASE Maintenant, cest différent. MDA ( Model Driven Architecture ) propose dutiliser des modèles pour implémenter des systèmes logiciels de A à Z.

6 6 Contexte : Architecture dirigée par les modèles (MDA)* Contexte - Introduction MOF Ecore Other metamodeling language Metamodel Infrastructure PIM Mapping Techniques PIM PSM PSM Mapping Techniques 1..* > Mapping from PSM to PSM Mapping from PIM to PIM > Refactoring from PSM to PIM Mapping from PIM to PSM PIM – Platform Independent Model PSM – Platform Specific Model * OMG, Model Driven Architecture (MDA) – ormsc/ , 2001.

7 7 Motivations Les services Web : -Avantage : intergiciel adapté à lInternet. -Inconvénient : faible niveau dabstraction. MDA : - Maîtrise de la complexité. - Guide le développement logiciel. - Assure linteropérabilité à un niveau dabstraction élevé. Problématique Comment valider MDA ? - Les services Web dans le contexte de MDA : modélisation. - La transformation de modèles métier en services Web. - Limpact du choix des langages de modélisation et des plates-formes cibles dans une approche MDA. Introduction

8 8 Démarche transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE) Code source (Java), fichiers de déploiement, etc. Modèle Cible (dotNET) Code source (C#), fichiers de déploiement, etc. transformation modèle-vers-modèle Modèle Cible (SW) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE**) Code source (Java), fichiers de déploiement, etc. Modèle Cible (dotNET) Code source (C#), fichiers de déploiement, etc. transformation modèle-vers-modèle Modèle Cible (SW*) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code * SW – Services Web ** J2EE – Java + JWSDP ( Java Web Service Developer Pack )

9 9 Étude et applications de lapproche MDA pour des plates-formes de Services Web Sommaire Introduction État de lart : - Correspondance entre métamodèles - La transformation de modèles - Application de MDA pour la plate-forme des Services Web Approche MDA pour la plate-forme Services Web : modélisation Spécification de correspondances et définition de transformations Un outil pour la spécification de correspondances Conclusion

10 10 État de lart MDA et les différents sens du terme Mapping dans la littérature : - correspondance et transformation. - correspondance. - transformation. Lapplication de MDA à lélaboration de la plate- forme de services Web. Étude et applications de lapproche MDA pour des plates-formes de Services Web

11 11 ABBA 1 1 * domainrange relation element 1 AReIB ** * J. HAUSMANN et S. KENT. Visualizing Model Mappings in UML. SOFTVIS03. Correspondance entre métamodèles - État de lart Correspondance entre métamodèles «... we use the term mapping to address the general understanding of connection between models and refer to relation and pair whenever the distinction between definition and instance is suitable » *. J. H. Hausmann et S. Kent

12 12 État de lart La transformation de modèles En 2002, lOMG a présenté son RFP MOF 2.0 QVT pour stimuler la création dun langage de transformation normalisé. Langages de transformation : YATL (Yet Another Transformation Language) Université de Kent basé sur OCL ( Object Constraint Language ), hybride et modularité. BOTL (Basic Object-oriented Transformation Language) Université Technique de Munich bidirectionnel, purement déclaratif, sans modularité. ATL (Atlas Transformation Language) Université de Nantes. basé sur OCL, hybride et modularité.

13 13 WSDL État de lart Application de MDA pour la plate-forme des Services Web : Aspects statiques * David FRANKEL et John PARODI. Using Model-Driven Architecture TM to DevelopWeb Services. Rapport technique, IONA Technologies PLC, April Une correspondance entre un modèle métier en UML et WSDL * UML

14 14 Étude et applications de lapproche MDA pour des plates-formes de Services Web Sommaire Introduction État de lart Approche MDA pour la plate-forme Services Web : modélisation - Méthodologie - Architecture Type pour la transformation de modèles - Étude de cas modélisé en UML et EDOC - Métamodèles: Services Web et J2EE Spécification de correspondances et définition de transformations Un outil pour la spécification de correspondances Conclusion

15 15 Approche MDA pour la plate-forme Services Web : modélisation Le choix ou la création des métamodèles pour le PIM Le choix ou la création des métamodèles pour le PSM La spécification des correspondances entre les métamodèles du PIM et du PSM La génération de la définition de transformations Lapplication de la définition de transformations (PIM vers PSM) Compléter le PSM Générer le code source, scripts, fichiers de déploiement, etc (PSM vers code) [PSM est complet] [oui] [non] Méthodologie pour lapplication de la démarche MDA Étude et applications de lapproche MDA pour des plates-formes de Services Web

16 16 Méthodologie - Approche MDA pour la plate-forme Services Web Une architecture type pour la transformation de modèles transformation enginetarget Msource M source target MMM : metametamodelMM : metamodelM : model transformation program exec MMM conformsTo source MMtarget MM conformsTo +left mapping MM mapping M conformsTo +right generatedFrom conformsTo transformation M conformsTo transformation MM Spécification de correspondances Définition de Transformations +attrA11:Type1 +attrA12:Type2 A1 +attrA21:Type3 +attrA22:Type4 A2 +attrB11:Type5 +attrB12:Type6 B1 +attrB21:Type7 +attrB22:Type8 B2 A2B Aa2Bb Source metamodel Target metamodel Mapping Me source target Mapping Element composition

17 17 Le choix ou la création des métamodèles pour le PIM Le choix ou la création des métamodèles pour le PSM La spécification des correspondances entre les métamodèles du PIM et du PSM La génération de la définition de transformations Lapplication de la définition de transformations (PIM vers PSM) Compléter le PSM Générer le code source, scripts, fichiers de déploiement, etc (PSM vers code) [PSM est complet] [oui] [non] Méthodologie pour lapplication de la démarche MDA Étude et applications de lapproche MDA pour des plates-formes de Service Web UML et EDOC

18 18 Étude de cas : UML HotelService Hotel CarHire Bank AirLines Travel Agency TravelService AirLinesService RentingCarService BankService Customer Étude de cas : UML - Approche MDA pour la plate-forme Services Web travelagency +findTravel(travelReq:TravelReq):TravelList +reserveTravel(travelSel:TravelInf):Reserv +payTravel(payInf:PayInf):AckPay +cancelTravel(reservInf:Reserv):AckCancel ServiceTravelAg

19 19 Étude de cas : EDOC MakePayment Bank BuyTravel Customer MakePayment AirLines SellFlightTicket MakePayment CarHire RentCar MakePayment Hotel BookHotel BuyFlightTicket TravelAg RentCar BookHotel SellTravel MakePayment Le Community Process de lagence de voyages ( Notation CCA ) Étude de cas : EDOC - Approche MDA pour la plate-forme Services Web

20 20 Méthodologie pour lapplication de la démarche MDA Étude et applications de lapproche MDA pour des plates-formes de Services Web Le choix ou la création des métamodèles pour le PIM Le choix ou la création des métamodèles pour le PSM La spécification des correspondances entre les métamodèles du PIM et du PSM La génération de la définition de transformations Lapplication de la définition de transformations (PIM vers PSM) Compléter le PSM Générer le code source, scripts, fichiers de déploiement, etc (PSM vers code) [PSM est complet] [oui] [non] WSDL et J2EE (Java + JWSDP)

21 21 Les SW comme plate-forme cible - Approche MDA pour la plate-forme Services Web Un métamodèle de WSDL (fragment)

22 22 La plate-forme J2EE Un métamodèle de Java (fragment) JElement +name:String +visibility:Visibility +modifier:Modifier JPrimitiveType +type:TypeName JValue +value:String JParameter +result:Boolean JMember JavaPackage JField +isTransient:Boolean +isVolatile:Boolean +isFinal:Boolean JClass +isActive:Boolean JInterface JMethod +isNative:Boolean +isSinchronized:Boolean +body:String JClassifier * +nested super +sub 0..* +type +owner 0..* contents +implementedby +implements 0..* 0..1+owner 0..* +parameters +has +value members +throws La plate-forme J2EE - Approche MDA pour la plate-forme Services Web

23 23 La plate-forme J2EE - Approche MDA pour la plate-forme Services Web Un template et un métamodèle pour JWSDP (fragment) > Remote > WSInterface > WSOperation > WSClass > WSOperation > RemoteException Throws +jmethods 1..* +jmethods 1..* Template Métamodèle JWSDP WebApp DisplayName Description SessionConfig SessionTimeOut +displayName +description +sessionConfig +sessionTimeOut 0..1 web 0..1

24 24 Étude et applications de lapproche MDA pour des plates-formes de Service Web Sommaire Introduction État de lart Approche MDA pour la plate-forme Services Web : modélisation Spécification de correspondances et définition de transformations - UML vers Services Web - UML vers J2EE - EDOC vers Services Web - Comparaisons Un outil pour la spécification de correspondances Conclusion Le choix ou la création des métamodèles pour le PIM Le choix ou la création des métamodèles pour le PSM La spécification des correspondances entre les métamodèles du PIM et du PSM La génération de la définition de transformations Lapplication de la définition de transformations (PIM vers PSM) Compléter le PSM Générer le code source, scripts, fichiers de déploiement, etc (PSM vers code) [PSM est complet] [oui] [non] UML et EDOC WSDL et J2EE (Java + JWSDP)

25 25 transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE) Code source (Java), fichiers de déploiement et configuration Modèle Cible (dotNET) Code source (C#), fichiers de déploiement et configuration transformation modèle-vers-modèle Modèle Cible (SW) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code WSDL Spécification de correspondances et définition de transformations Étude et applications de lapproche MDA pour des plates-formes de Services Web SW – Services Web

26 26 UML vers Services Web UML vers Services Web - Spécification de correspondances … Me source target mapping element composition Class Service name:String Definition +owner Classifier ModelElement name:String Namespace +namespace 0..1 C2S n2n name n2o namespace owner

27 27 UML vers Services Web - Spécification de correspondances … module UML2WSDL; create OUT : WSDL from IN : UML; rule C2S{ from c : UML!Class to s : WSDL!Service( name <- 'Service' + c.name, owner <- c.namespace, port <- pt ), pt : WSDL!Port( name <- c.name + 'Port', binding <- bd, documentation <-'\t\t

28 28 transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE) Code source (Java), fichiers de déploiement et configuration Modèle Cible (dotNET) Code source (C#), fichiers de déploiement et configuration transformation modèle-vers-modèle Modèle Cible (SW) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code *** *** Générée à partir de modèle WSDL WSDLElementDocumentation Type Part Message Operation PortType Binding BindingOperation Port Service Definition +_targetNameSpace +name +types types +part 0..* +message 0..* +operation0..* +portType 0..* +type +binding 0..* +boperations 0..* +port 0..* +service 0..* document WSDL UML vers Services Web - Spécification de correspondances … SW – Services Web

29 29 UML vers Services Web - Spécification de correspondances … *** *** *** *** travelagency +findTravel(travelReq:TravelReq):TravelList +reserveTravel(travelSel:TravelInf):Reserv +payTravel(payInf:PayInf):AckPay +cancelTravel(reservInf:Reserv):AckCancel ServiceTravelAg

30 30 transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE) Code source (Java), fichiers de déploiement et configuration Modèle Cible (dotNET) Code source (C#), fichiers de déploiement et configuration Modèle Cible (SW) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code transformation modèle-vers-modèle UML vers J2EE - Spécification de correspondances … UML vers J2EE (Java + JWSDP) de manière progressive.

31 31 UML vers J2EE UML vers J2EE - Spécification de correspondances …

32 32 module UML2JAVAM; create OUT : JAVAM from IN : UML; rule C2Jc{ from c : UML!Class to jc : JAVAM!JClass( name <- c.name, visibility <- if c.visibility = #vk_public then #public else if c.visibility = #vk_private then #private else #protected endifendif, isActive <- c.isActive, jpackage <- c.namespace, super select(e|e.parent <> c)->size() > 0 then c.generalization -> select(e|e.parent <> c)-> first().parent else JAVAM!JClass endif, implements select(e|e.stereotype-> exists(e|e.name='realize'))->collect(e|e.supplier), *** ) } *** UML vers J2EE - Spécification de correspondances …

33 33 UML vers J2EE - Spécification de correspondances … Java metamodel Mapping JElement JPackage JClassifier JClass JInterface JPrimitiveType JMember JMethod +implemetedby +implements +nested +super 0..* * +throws JElement JPackage JClassifier JClass JInterface JPrimitiveType JMember JMethod +implemetedby +implements +nested +super 0..* * +throws P2P C2Cserv C2C I2I M2M M2Mt > Remote > WSInterface > WSOperation > WSClass > WSOperation > RemoteException Throws +jmethods 1..* +jmethods 1..* Template

34 34 module Java2Java; create OUT : JAVAMR from IN : JAVAM; uses strings; rule C2Cserv{ from c : JAVAM!JClass( c.name.startsWith('Service')) to jc : JAVAMR!JClass( name <- c.name, *** implements asSequence()->including(ITF) ), ITF : JAVAMR!JInterface( name <- 'ITF_'+c.name, super select(e|e.name='Remote')->first(), ) } rule M2Mt{ from m : JAVAM!JMethod (m.owner.name.startsWith('Service')) to jm : JAVAMR!JMethod( name <- m.name, throws select(e|e.name='RemoteException')->first() ), ***} *** UML vers J2EE - Spécification de correspondances … > Remote > WSInterface > WSOperation > WSClass > WSOperation > RemoteException Throws +jmethods 1..* +jmethods 1..* Template

35 35 transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE) Code source (Java), fichiers de déploiement et configuration Modèle Cible (dotNET) Code source (C#), fichiers de déploiement et configuration transformation modèle-vers-modèle Modèle Cible (SW) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code // CLASS package travelagency; public class ServiceTravelAg implements travelagency.ITF_ServiceTravelAg { public Reserv reserveTravel(TravelInf travelSel) throws java.rmi.RemoteException { //Type your code here } *** } // INTERFACE package travelagency; public interface ITF_ServiceTravelAg extends java.rmi.Remote { public Reserv reserveTravel(TravelInf travelSel) throws java.rmi.RemoteException; ***} Générée à partir de Java model+ JWSDP API JElement JPackage JClassifier JClass JInterface JPrimitiveType JMember JField JValue JMethod +implemetedby +implements +type +nested +super 0..* * UML vers J2EE - Spécification de correspondances …

36 36 // CLASS package travelagency; public class ServiceTravelAg implements travelagency.ITF_ServiceTravelAg { public Reserv reserveTravel(TravelInf travelSel) throws java.rmi.RemoteException { ***} public TravelList findTravel(TravelReq travelReq) throws java.rmi.RemoteException { ***} public AckCancel cancelTravel(Reserv reservInf) throws java.rmi.RemoteException { ***} public AckPay payTravel(PayInf payInf) throws java.rmi.RemoteException {***} **** } // INTERFACE package travelagency; public interface ITF_ServiceTravelAg extends java.rmi.Remote { public Reserv reserveTravel(TravelInf travelSel) throws java.rmi.RemoteException; public TravelList findTravel(TravelReq travelReq) throws java.rmi.RemoteException; public AckCancel cancelTravel(Reserv reservInf) throws java.rmi.RemoteException; public AckPay payTravel(PayInf payInf) throws java.rmi.RemoteException; } UML vers J2EE - Spécification de correspondances … travelagency +findTravel(travelReq:TravelReq):TravelList +reserveTravel(travelSel:TravelInf):Reserv +payTravel(payInf:PayInf):AckPay +cancelTravel(reservInf:Reserv):AckCancel ServiceTravelAg > Remote > WSInterface > WSOperation > WSClass > WSOperation > RemoteException Throws +jmethods 1..* +jmethods 1..* Template

37 37 transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE) Code source (Java), fichiers de déploiement et configuration Modèle Cible (dotNET) Code source (C#), fichiers de déploiement et configuration transformation modèle-vers-modèle Modèle Cible (SW) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code - profil UML pour EDOC - métamodèle EDOC EDOC vers Services Web - Spécification de correspondances … SW – Services Web

38 38 EDOC vers Services Web EDOC vers Services Web - Spécification de correspondances … UML profile for ECAWSDL metamodelMapping WSDLElementDocumentation Type Part Message Operation PortType Binding BindingOperation Port Service Definition +_targetNameSpace +name +types types +part 0..* +message 0..* +operation0..* +portType0..* +type +binding 0..* +boperations 0..* +port 0..* +service 0..* Package > Class De2T > DataType > Attribute > Class > Class > Class > Class > Classifier > Class +owner +feature 1..* > Class +type +ports 1..* P2D A2P Pc2S F2M O2O P2PB

39 39 module EDOCprof2WSDL; create OUT : WSDL from IN : UML; -- helpers helper context UML!Class def: getEDOCProtocolPort(): Sequence(UML!Class) = UML!AssociationEnd.allInstances()->select(e|e.participant=self)-> collect(x|x.association)->first().connection-> select(y|y.participant <> self)-> select(z | z.participant.hasStereotype('ProtocolPort') and z.participant.inheritInterface())-> collect(e|e.participant); rule Pc2S{ from c : UML!Class (c.hasStereotype('ProcessComponent') and c.hasAssocResponds()) to s : WSDL!Service( name <- c.name, owner <- c.namespace, port <- c.getEDOCProtocolPort() *** ) } *** EDOC vers Services Web - Spécification de correspondances …

40 40 transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE) Code source (Java), fichiers de déploiement et configuration Modèle Cible (dotNET) Code source (C#), fichiers de déploiement et configuration transformation modèle-vers-modèle Modèle Cible (SW) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code EDOC vers Services Web - Spécification de correspondances … SW – Services Web

41 41 EDOC vers Services Web - Spécification de correspondances … EDOC-CCA metamodel WSDL metamodelMapping

42 42 EDOC vers Services Web - Spécification de correspondances … module EDOC2WSDL; create OUT : WSDL from IN : EDOC; rule Pc2S{ from pc : EDOC!ProcessComponent to sv: WSDL!Service( name <- pc.name, owner <- pc.namespace, port select(e|e.oclIsKindOf(EDOC!ProtocolPort)) ) } module EDOCprof2WSDL; create OUT : WSDL from IN : UML -- helpers helper context UML!Class def: getEDOCProtocolPort(): Sequence(UML!Class) = UML!AssociationEnd.allInstances()->select(e|e.participant=self)-> collect(x|x.association)->first().connection-> select(y|y.participant <> self)-> select(z | z.participant.hasStereotype('ProtocolPort') and z.participant.inheritInterface())-> collect(e|e.participant); rule Pc2S{ from c : UML!Class (c.hasStereotype('ProcessComponent') and c.hasAssocResponds()) to s : WSDL!Service( name <- c.name, owner <- c.namespace, port <- c.getEDOCProtocolPort() *** ) }*** profil UML pour EDOC vers WSDL Instructions: allInstances = 1 select = 3 collect = 2 first =1 Total = 7 Métamodèle EDOC-CCA vers WSDL Instructions: select = 1 oclIsKindOf = 1 Total = 2

43 43 transformation modèle-vers-code Modèle Source (UML ou EDOC) Modèle Cible (J2EE) Code source (Java), fichiers de déploiement et configuration Modèle Cible (dotNET) Code source (C#), fichiers de déploiement et configuration transformation modèle-vers-modèle Modèle Cible (SW) Code source (XML) « document WSDL » « document BPEL » PSM PIM Code UML vers Services Web - Spécification de correspondances … Générée à partir de modèle WSDL WSDLElementDocumentation Type Part Message Operation PortType Binding BindingOperation Port Service Definition +_targetNameSpace +name +types types +part 0..* +message 0..* +operation0..* +portType 0..* +type +binding 0..* +boperations 0..* +port 0..* +service 0..* document WSDL *** - profil UML pour EDOC - métamodèle EDOC SW – Services Web

44 44 *** *** *** **** EDOC vers Services Web - Spécification de correspondances … > BuySellTravel > SellTravel > TravelAg > FindTravel +findTravel > FindTravelCall > FindTravelResponse > FindTravelCall > FindTravelResponse

45 45 Spécification de correspondances et définition de transformations Comparaisons UML (version 1.4) EDOC (profil UML) EDOC (métamodèle) WSDL normalcomplexe**simple BPEL complexe*-- J2EE (Java + JWSDP) normalcomplexe**simple dotNET (C# + API) normal-- PIM PSM * Lutilisation de profils (valeurs marquées) utilisation de filtres et requêtes plus complexes. ** Lutilisation de profils (stéréotypes) utilisation de filtres et requêtes plus complexes. Spécification de correspondances et définition de transformation : PIM vers PSM Les deux plates-formes sont similaires pour le processus de transformation Un intergiciel de plus EDOC (métamodèle) est plus adapté pour modéliser un métier et puis le transformer en services Web

46 46 Étude et applications de lapproche MDA pour des plates-formes de Services Web Sommaire Introduction État de lart Approche MDA pour la plate-forme Services Web : modélisation Spécification de correspondances et définition de transformations Un outil pour la spécification de correspondances - Fondements pour la spécification de correspondances - Métamodèle de correspondance - MMT (Mapping Modeling Tool) - Applications aux services Web : UML2WSDL - Apports de notre outil Conclusion

47 47 Spécification de Correspondances Définition de Transformations 0..* 1 +spec Un outil pour la spécification de correspondances Générée à partir de UML metamodel WSDL metamodel Mapping WSDLElementDocumentation Type Part Message Operation PortType Binding BindingOperation Port Service Definition +_targetNameSpace +name +types types +part 0..* +message 0..* +operation0..* +portType0..* +type +binding 0..* +boperations 0..* +port 0..* +service 0..* ModelElement Namespace Package AssociationEnd Class Interface Attribute Operation Method Parameter DataType +specification +method ModelElement Namespace Package AssociationEnd Class Interface Attribute Operation Method Parameter DataType +specification +method C2S P2Part O2O M2Bo Dt2T P2D A2T module UML2WSDL; create OUT : WSDL from IN : UML; rule C2S{ from c : UML!Class to s : WSDL!Service( name <- 'Service' + c.name, owner <- c.namespace, port <- pt ),*** } *** Étude et applications de lapproche MDA pour des plates-formes de Services Web

48 48 Soit M1(s)/Ma,M2(s)/Mb, et C MaMb/Mc où: M1 est un modèle du système s créé en utilisant le métamodèle Ma. M2 est un modèle du même système s créé en utilisant le métamodèle Mb. C MaMb/Mc est un modèle de correspondances entre Ma et Mb créé en utilisant le métamodèle Mc. Alors la transformation peut être définie comme la fonction suivante : Un outil pour la spécification de correspondances Fondements pour la spécification de correspondances M C MMM source MMtarget MM mapping MM mapping M transformation MM transformation M conformsTo +left +right generatedFrom conformsTo

49 49 Un outil pour la spécification de correspondances Métamodèle de correspondance +name:EString Element +version:EString +note:EString Definition +filter:oclExpression Left +lastupdate:EString +lastnote:EString +lastversion:EString Historic +path:EString MetaModelHandler Right +converter:oclExpression TypeConverter +path:EString +type:EString ElementHandler > oclExpression +bidirectional:EBooleanObject +note:EString +filter:oclExpression Correspondence +left +right1..* +handler 0..* +nested +enclosing +correspondence +nested +left +right +handlers 1..* typeconverterRL +typeconverterLR +definition 0..* 1..*

50 50 Génère la définition de transformation à partir dun modèle de correspondance Génère une représentation textuelle simplifiée du modèle de correspondances. Crée un modèle de correspondance Vérifie la conformité de ce modèle de correspondance avec son métamodèle. Loutil est basé sur EMF (Eclipse Modeling Framework) MMT (Mapping Modeling Tool) Un outil pour la spécification de correspondances

51 51 MMT (Mapping Modeling Tool) - Un outil pour la spécification de correspondances

52 52 module UML2JAVAM; create OUT : JAVAM from IN : UML; rule C2Jc{ from c : UML!Class (c.namespace <> 'service') to jc : JAVAM!JClass( name <- c.name, visibility <- if c.visibility = #vk_public then #public else if c.visibility = #vk_private then #private else #protected endifendif, isActive <- c.isActive, jpackage <- c.namespace, super select(e|e.parent <> c)->size() > 0 then c.generalization -> select(e|e.parent <> c)-> first().parent else JAVAM!JClass endif, implements select(e|e.stereotype-> exists(e|e.name='realize'))->collect(e|e.supplier), *** ) } *** Généré manuellement Généré automatiquement Un outil pour la spécification de correspondances

53 53 Un outil pour la spécification de correspondances MMT(Mapping Modeling Tool) Applications aux Services Web : UML2WSDL Vérifie la conformité de ce modèle de correspondance avec son métamodèle. Génère une représentation textuelle simplifiée du modèle de correspondances. Crée un modèle de correspondance Génère la définition de transformation à partir dun modèle de correspondance

54 54 Un outil pour la spécification de correspondances Applications aux Services Web : UML2WSDL module UML2WSDL; create OUT : WSDL from IN : UML; rule C2S{ from c : UML!Class to s : WSDL!Service( name <- 'Service' + c.name, owner <- c.namespace, port <- pt ), pt : WSDL!Port( name <- c.name + 'Port', binding <- bd, documentation <-'\t\t

55 55 Un outil pour la spécification de correspondances Apports de notre outil La séparation de préoccupations: - La spécification de correspondances est un PIM. - La définition de transformations est un PSM. « Lindépendance » dun langage de transformation. Un atout pour lévolution et la préservation de la logique métier (i.e. modèle de correspondances) : - Un modèle de correspondance peut évoluer si les métamodèles changent. Une approche plus intuitive et plus simple que le codage direct de définition de transformations.

56 56 Étude et applications de lapproche MDA pour des plates-formes de Services Web Sommaire Introduction État de lart Approche MDA pour la plate-forme Services Web : modélisation Spécification de correspondances et définition de transformations Un outil pour la spécification de correspondances Conclusion - Contribution - Perspectives

57 57 Approche conceptuelle et expérimentale de MDA pour les services Web : - Méthodologie et architecture type. - Métamodèles : services Web (WSDL, BPEL), J2EE et dotNET. - Des spécifications de correspondances et des définitions de transformations. - Une étude de limpact dun langage de modélisation (UML x EDOC) ou dune plate-forme (J2EE x dotNET). - MMT (outil pour la création de correspondances et la génération de définition de transformations). Conclusion Étude et applications de lapproche MDA pour des plates-formes de Services Web

58 58 Conclusion Perspectives Létude dautres langages tel que UEML, et dautres plates- formes JXTA. Lutilisation daction semantics. La distance sémantique entre métamodèles doit être plus étudiée. Lintégration des algorithmes de schema matching dans notre outil MMT. Lintroduction dun mécanisme dextension dans notre métamodèle de correspondance. Une étude plus détaillée entre les différents types de relations entre les éléments de correspondances.

59 59 Publications Approche MDA pour le développement dapplications internet sur des plates- formes services web : Modélisation, transformation et prototypage, Revue dIngénierie des Systèmes dInformation, Hermes science publications, juillet, Generating Transformation Definition from Mapping Specification: Application to Web Service Platform, The 17th Conference on Advanced Information Systems Engineering (CAiSE05), LNCS 3520, , Porto, Portugal, June 13-17, Mapping Specification in MDA: From Theory to Practice, First International Conference Interoperability of Enterprise Software and Applications (INTEROP- ESA05), Publisher Springer, Switzerland, February , B2B Applications, BPEL4WS, Web Services and dotNET in the context of MDA, International Conference on Enterprise Integration and Modelling Technology (ICEIMT04), Canada, Toronto, October 9-11, Étude et applications de lapproche MDA pour des plates-formes de Services Web

60 60 Publications Applying MDA Approach for Web Service Platform, The 8th International IEEE Enterprise Distributed Object Computing Conference (EDOC04), Monterey, USA, September 20-24, Applying MDA Approach to B2B Applications: A Road Map, Workshop on Model Driven Development (WMDD04) - at ECOOP 2004, Oslo, Norway, June 15, An Experiment in Mapping Web Services to Implementation Platforms, Research Report, RR-IRIN , France, March Web Services in the Context of MDA, The 2003 International Conference on Web Services (ICWS03), Las Vegas, USA, June 23-26, 2003.

61 61 Étude et applications de lapproche MDA pour des plates-formes de Service Web Merci de votre attention! Denivaldo Lopes home-page:


Télécharger ppt "1 Étude et applications de lapproche MDA pour des plates-formes de Services Web Présentée et soutenue par Denivaldo LOPES le 11 juillet 2005 Directeur."

Présentations similaires


Annonces Google