Orchestre de services
-
Upload
luc-trudeau -
Category
Technology
-
view
106 -
download
0
description
Transcript of Orchestre de services
![Page 1: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/1.jpg)
BPELUn orchestre de services
Luc Trudeau
4 avril 2014
Cette presentation de Luc Trudeau est mise a disposition selon les termesde la licence Creative Commons Attribution 4.0 International.
![Page 2: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/2.jpg)
Business Process Execution Language (BPEL)Un langage standard (XML) permettant la composition de services.
Ref : Architecting Service-Oriented Systems, SEI, 2011
L. Trudeau BPEL (2/13)
![Page 3: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/3.jpg)
OrchestrationBPEL permet de definir un nouveau service compose qui orchestrel’execution de services.
Ref : http://soapatterns.org/design patterns/composition autonomy
L. Trudeau BPEL (3/13)
![Page 4: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/4.jpg)
Exemple d’orchestrationSupposons 3 services
Tambour (drumService)
Melodie (melodyService)
Harmonie (harmonyService)
L. Trudeau BPEL (4/13)
![Page 5: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/5.jpg)
Tambour (drum.wsdl)
Drum Service
Drum PortType (avec l’operation play)
L. Trudeau BPEL (5/13)
![Page 6: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/6.jpg)
Melodie (melody.wsdl)
Melody Service
Melody PortType (avec l’operation play)
L. Trudeau BPEL (6/13)
![Page 7: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/7.jpg)
Harmonie (harmony.wsdl)
Harmony Service
Harmony PortType (avec l’operation play)
L. Trudeau BPEL (7/13)
![Page 8: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/8.jpg)
Orchestre (Ochestra.wsdl)
Nous allons concevoir un service compose avec BPEL permettantd’orchestrer les services : tambour, melodie et harmonie.
Logique d’affaires
Il faut demarrer les services melodie et harmonie en meme temps,suivis du service tambour 5 secondes plus tard.
L. Trudeau BPEL (8/13)
![Page 9: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/9.jpg)
Etablir les liens avec les partenaires (PartnerLinks)
Dans ce contexte, il y a 4 partenaires :
Le client (celui qui execute le service compose)
Le service tambour
Le service melodie
Le service harmonie
<bpel:partnerLinks>
<bpel:partnerLink name="client" partnerLinkType="tns:
OrchestreService"
myRole="OrchestreServiceProvider" />
<bpel:partnerLink name="DrumServicePL"
partnerLinkType="tns:DrumServiceLT" partnerRole="
DrumServiceRole"></bpel:partnerLink>
...
</bpel:partnerLinks>
L. Trudeau BPEL (9/13)
![Page 10: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/10.jpg)
Processus BPEL
Eclipse BPEL Designer (http://www.eclipse.org/bpel/)
L. Trudeau BPEL (10/13)
![Page 11: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/11.jpg)
BPEL (XML)
Voici le XML correspondant a l’execution simultanee des services.
<bpel:flow name="StartTheMusic">
<bpel:invoke name="InvokeHarmony" partnerLink="
HarmonyServicePL" operation="play" portType="harmony:
Harmony" inputVariable="HarmonyServicePLRequest"
outputVariable="HarmonyServicePLResponse"/>
Ici, nous invoquons l’operation play avec comme parametre lavariable HarmonyServicePLRequest. Pour ce faire, nous utilisonsle lien vers un partenaire defini par HarmonyServicePL.L’operation play fait partie du portType Harmony qui est definidans le fichier harmony.wsdl.
L. Trudeau BPEL (11/13)
![Page 12: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/12.jpg)
BPEL (XML)
Invocation du service melodie
<bpel:invoke name="InvokeMelody" partnerLink="MelodyServicePL
" operation="play" portType="melody:Melody" inputVariable
="MelodyServicePLRequest" outputVariable="
MelodyServicePLResponse"/>
Souvenez-vous du PortType contenu dans melody.wsdl notezl’operation play (c’est celle qu’on invoque)
L. Trudeau BPEL (12/13)
![Page 13: Orchestre de services](https://reader033.fdocuments.in/reader033/viewer/2022052307/5492d368b47959654d8b46d2/html5/thumbnails/13.jpg)
BPEL (XML)
<bpel:sequence name="WaitForTheDrums">
<bpel:wait name="Wait">
<bpel:for>’PT5S’</bpel:for>
</bpel:wait>
<bpel:invoke name="InvokeDrum" partnerLink="DrumServicePL
" operation="play" portType="drum:Drum" inputVariable
="DrumServicePLRequest" outputVariable="
DrumServicePLResponse"></bpel:invoke>
</bpel:sequence>
</bpel:flow>
L. Trudeau BPEL (13/13)