BPEL
Un orchestre de services
Luc Trudeau
4 avril 2014
Cette pr´esentation de Luc Trudeau est mise `a disposition selon le...
Business Process Execution Language (BPEL)
Un langage standard (XML) permettant la composition de services.
Ref : Architec...
Orchestration
BPEL permet de d´efinir un nouveau service compos´e qui orchestre
l’ex´ecution de services.
Ref : http://soap...
Exemple d’orchestration
Supposons 3 services
Tambour (drumService)
M´elodie (melodyService)
Harmonie (harmonyService)
L. T...
Tambour (drum.wsdl)
Drum Service
Drum PortType (avec l’op´eration play)
L. Trudeau BPEL (5/13)
M´elodie (melody.wsdl)
Melody Service
Melody PortType (avec l’op´eration play)
L. Trudeau BPEL (6/13)
Harmonie (harmony.wsdl)
Harmony Service
Harmony PortType (avec l’op´eration play)
L. Trudeau BPEL (7/13)
Orchestre (Ochestra.wsdl)
Nous allons concevoir un service compos´e avec BPEL permettant
d’orchestrer les services : tambo...
´Etablir les liens avec les partenaires (PartnerLinks)
Dans ce contexte, il y a 4 partenaires :
Le client (celui qui ex´ec...
Processus BPEL
Eclipse BPEL Designer (http://www.eclipse.org/bpel/)
L. Trudeau BPEL (10/13)
BPEL (XML)
Voici le XML correspondant `a l’ex´ecution simultan´ee des services.
<bpel:flow name="StartTheMusic">
<bpel:inv...
BPEL (XML)
Invocation du service m´elodie
<bpel:invoke name="InvokeMelody" partnerLink="MelodyServicePL
" operation="play"...
BPEL (XML)
<bpel:sequence name="WaitForTheDrums">
<bpel:wait name="Wait">
<bpel:for>’PT5S’</bpel:for>
</bpel:wait>
<bpel:i...
Upcoming SlideShare
Loading in...5
×

Orchestre de services

158

Published on

Une orchestre de services pour apprendre l'orchestration de service avec BPEL.

Attention! Peut contenir des traces de XML.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
158
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Orchestre de services

  1. 1. BPEL Un orchestre de services Luc Trudeau 4 avril 2014 Cette pr´esentation de Luc Trudeau est mise `a disposition selon les termes de la licence Creative Commons Attribution 4.0 International.
  2. 2. 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)
  3. 3. Orchestration BPEL permet de d´efinir un nouveau service compos´e qui orchestre l’ex´ecution de services. Ref : http://soapatterns.org/design patterns/composition autonomy L. Trudeau BPEL (3/13)
  4. 4. Exemple d’orchestration Supposons 3 services Tambour (drumService) M´elodie (melodyService) Harmonie (harmonyService) L. Trudeau BPEL (4/13)
  5. 5. Tambour (drum.wsdl) Drum Service Drum PortType (avec l’op´eration play) L. Trudeau BPEL (5/13)
  6. 6. M´elodie (melody.wsdl) Melody Service Melody PortType (avec l’op´eration play) L. Trudeau BPEL (6/13)
  7. 7. Harmonie (harmony.wsdl) Harmony Service Harmony PortType (avec l’op´eration play) L. Trudeau BPEL (7/13)
  8. 8. Orchestre (Ochestra.wsdl) Nous allons concevoir un service compos´e avec BPEL permettant d’orchestrer les services : tambour, m´elodie et harmonie. Logique d’affaires Il faut d´emarrer les services m´elodie et harmonie en mˆeme temps, suivis du service tambour 5 secondes plus tard. L. Trudeau BPEL (8/13)
  9. 9. ´Etablir les liens avec les partenaires (PartnerLinks) Dans ce contexte, il y a 4 partenaires : Le client (celui qui ex´ecute le service compos´e) Le service tambour Le service m´elodie 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)
  10. 10. Processus BPEL Eclipse BPEL Designer (http://www.eclipse.org/bpel/) L. Trudeau BPEL (10/13)
  11. 11. BPEL (XML) Voici le XML correspondant `a l’ex´ecution simultan´ee 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’op´eration play avec comme param`etre la variable HarmonyServicePLRequest. Pour ce faire, nous utilisons le lien vers un partenaire d´efini par HarmonyServicePL. L’op´eration play fait partie du portType Harmony qui est d´efini dans le fichier harmony.wsdl. L. Trudeau BPEL (11/13)
  12. 12. BPEL (XML) Invocation du service m´elodie <bpel:invoke name="InvokeMelody" partnerLink="MelodyServicePL " operation="play" portType="melody:Melody" inputVariable ="MelodyServicePLRequest" outputVariable=" MelodyServicePLResponse"/> Souvenez-vous du PortType contenu dans melody.wsdl notez l’op´eration play (c’est celle qu’on invoque) L. Trudeau BPEL (12/13)
  13. 13. 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)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×