Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G....
Transcript of Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G....
![Page 1: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/1.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Services Web : De l’orchestration à lachorégraphie
Guy Tremblay
Université du Québec à Montréal (UQAM)http://www.info2.uqam.ca/~tremblay
LATECE(LAbo. sur les TEchnologies du Commerce Electronique)
http://www.latece.uqam.ca
16 mars 2007 / LIRMM
![Page 2: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/2.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Aperçu
Rappels : WSDL et WS-BPEL
Conversations, protocoles, collaborations
Interface dynamique d’un WS
Collaborations entre WS
Sommaire et perspectives
![Page 3: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/3.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Aperçu
Rappels : WSDL et WS-BPEL
Conversations, protocoles, collaborations
Interface dynamique d’un WS
Collaborations entre WS
Sommaire et perspectives
![Page 4: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/4.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description WSDL d’un service de baseI WSDL = Web Service Description LanguageI Spécification abstraite (interface)
I Service = un ou plusieurs ports (typés)I Port = une ou plusieurs opérationsI Opération = un ou deux messagesI Message = un ou plusieurs champs
I Spécification concrèteI Liaison = protocole utilisé et format des messagesI Port = adresse d’une liaison
![Page 5: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/5.jpg)
Exemple ordersProcess : Un processus pourgérer des commandesSource : http://www.it.uc3m.es/jaf/verbus
Les messages WSDL
<message name=" OrderMessage "><part name=" urgent " type="xsd :boolean "/><part name=" order " type="tns :Order "/>
</message>
<message name=" InvoiceMessage "><part name=" urgent " type="xsd :boolean "/><part name=" order " type="tns :Order "/><part name=" price " type="xsd :int "/>
</message>
![Page 6: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/6.jpg)
Exemple ordersProcess : Un processus pourgérer des commandesSource : http://www.it.uc3m.es/jaf/verbus
Les messages WSDL
<message name=" OrderMessage "><part name=" urgent " type="xsd :boolean "/><part name=" order " type="tns :Order "/>
</message>
<message name=" InvoiceMessage "><part name=" urgent " type="xsd :boolean "/><part name=" order " type="tns :Order "/><part name=" price " type="xsd :int "/>
</message>
![Page 7: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/7.jpg)
Exemple ordersProcess : Un processus pourgérer des commandesSource : http://www.it.uc3m.es/jaf/verbus
Les messages WSDL
<
message
name="
OrderMessage
"><part name="
urgent
" type="xsd
:boolean
"/><part name="
order
" type="tns
:Order
"/></message>
<
message
name="
InvoiceMessage
"><part name="
urgent
" type="xsd
:boolean
"/><part name="
order
" type="tns
:Order
"/><part name="
price
" type="xsd
:int
"/></message>
![Page 8: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/8.jpg)
Exemple ordersProcess : les portTypes
<portType name=" orderService "><operation name=" order ">
<input message=" OrderMessage "/><output message=" InvoiceMessage "/>
</operation></portType>
<portType name=" warehouse "><operation name=" order ">
<input message=" OrderMessage "/><output message=" InvoiceMessage "/>
</operation><operation name=" schedule ">
<input message=" OrderMessage "/></operation>
</portType>
<portType name=" warehouseCallback "><operation name=" receive_note ">
<input message=" InvoiceMessage "/></operation>
</portType>
![Page 9: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/9.jpg)
Exemple ordersProcess : les portTypes
<
portType
name="
orderService
"><
operation
name="
order
"><
input
message="
OrderMessage
"/><
output
message="
InvoiceMessage
"/></operation>
</portType>
<
portType
name="
warehouse
"><
operation
name="
order
"><
input
message="
OrderMessage
"/><
output
message="
InvoiceMessage
"/></operation><
operation
name="
schedule
"><
input
message="
OrderMessage
"/></operation>
</portType>
<
portType
name="
warehouseCallback
"><
operation
name="
receive_note
"><
input
message="
InvoiceMessage
"/></operation>
</portType>
![Page 10: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/10.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description BPEL d’un processus d’affaireI BPEL = Business Process Execution LanguageI Un processus est caractérisé par :
I Les opérations fournies aux/requises des partenairesI Un état interneI Un comportement (activité dynamique)
![Page 11: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/11.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Exemple ordersProcess : lespartnerLinkTypes
<plnk: partnerLinkType name=" orderLnk "><plnk: role name=" orderService ">
<plnk: portType name="tns: orderService "/></plnk:role>
</plnk:partnerLinkType>
<plnk: partnerLinkType name=" warehouseLnk "><plnk: role name=" orderService ">
<plnk: portType name="tns: warehouseCallback "/></plnk:role><plnk: role name=" warehouseService ">
<plnk: portType name="tns: warehouse "/></plnk:role>
</plnk:partnerLinkType>
![Page 12: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/12.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Exemple ordersProcess : lespartnerLinkTypes
<plnk:
partnerLinkType
name="
orderLnk
"><plnk:
role
name="
orderService
"><plnk:
portType
name="tns:
orderService
"/></plnk:role>
</plnk:partnerLinkType>
<plnk:
partnerLinkType
name="
warehouseLnk
"><plnk:
role
name="
orderService
"><plnk:
portType
name="tns:
warehouseCallback
"/></plnk:role><plnk:
role
name="
warehouseService
"><plnk:
portType
name="tns:
warehouse
"/></plnk:role>
</plnk:partnerLinkType>
![Page 13: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/13.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Exemple ordersProcess : les partnerLinks
<partnerLinks><partnerLink name=" ordering "
partnerLinkType="orderLnk"myRole="orderService" />
<partnerLink name=" warehouse "partnerLinkType="warehouseLnk"myRole="orderService"partnerRole="warehouseService "/>
</partnerLinks>
![Page 14: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/14.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Exemple ordersProcess : les partnerLinks
<partnerLinks><
partnerLink
name="
ordering
"
partnerLinkType="orderLnk"myRole="orderService"
/>
<
partnerLink
name="
warehouse
"
partnerLinkType="warehouseLnk"myRole="orderService"partnerRole="warehouseService
"/></partnerLinks>
![Page 15: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/15.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Partenaires : partnerLink vs. partnerI partnerLink ⇒ relation pour une conversation
entre deux partenairesI En général, deux partenaires peuvent entretenir
plusieurs relations de conversation différentesI partner = ensemble de relations avec un partenaire
Exemple de partenaires :
<partners ><partner name=" SellerShipper " ...>
<partnerLink name=" Seller "><partnerLink name=" Shipper ">
</partner>
...</partners>
![Page 16: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/16.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Partenaires : partnerLink vs. partnerI partnerLink ⇒ relation pour une conversation
entre deux partenairesI En général, deux partenaires peuvent entretenir
plusieurs relations de conversation différentesI partner = ensemble de relations avec un partenaire
Exemple de partenaires :
<partners ><
partner
name="
SellerShipper
" ...><
partnerLink
name="
Seller
"><
partnerLink
name="
Shipper
"></partner>
...
</partners>
![Page 17: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/17.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description du comportement (dynamique)Opérations typiques de processus séquentielscommuniquants
I <assign>
I <sequence> , <flow> , <switch> , <while>
I <receive> , <reply> , <invoke>
I <pick> , <wait>
I <throw> , <compensate> , <terminate>
I <scope>
Particularité du flow ⇒ ordre partiel d’exécution
![Page 18: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/18.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
En résuméI WSDL⇒ Service de base
= Description «syntaxique» des opérations= Signature, i.e., données reçues vs. résultats transmis
I WS-BPEL⇒ Service composite+ Description des opérations requises/fournies+ Description opérationnelle du comportement
+ Description du service en termes de protocoled’utilisation des opérations
![Page 19: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/19.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
En résuméI WSDL⇒ Service de base
= Description «syntaxique» des opérations= Signature, i.e., données reçues vs. résultats transmis
I WS-BPEL⇒ Service composite+ Description des opérations requises/fournies+ Description opérationnelle du comportement
+ Description du service en termes de protocoled’utilisation des opérations
![Page 20: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/20.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
En résuméI WSDL⇒ Service de base
= Description «syntaxique» des opérations= Signature, i.e., données reçues vs. résultats transmis
I WS-BPEL⇒ Service composite+ Description de l’interface (statique) en termes des
opérations requises/fournies+ Description opérationnelle du comportement
+ Description de l’interface (dynamique) du service entermes de protocole d’utilisation des opérations
![Page 21: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/21.jpg)
WSDL/WS-BPEL
process =partnerLink [1..*]
partnerLink =port (fourni) [0..1]port (requis) [0..1]
port =operation [1..*]
operation =message [1..2]
UML
component =port [0..*]
port =(prov.) interface [0..*](req.) interface [0..*]
interface =method [1..*]
method =argument [0..*]resultat [0..1]
![Page 22: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/22.jpg)
Exemple ordersProcess : Composant UML
![Page 23: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/23.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Aperçu
Rappels : WSDL et WS-BPEL
Conversations, protocoles, collaborations
Interface dynamique d’un WS
Collaborations entre WS
Sommaire et perspectives
![Page 24: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/24.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Conversation et protocole d’affaireI Un WS exporte généralement plusieurs opérationsI Ces opérations doivent être exécutées dans un
certain ordre
Exemple : Commande de billets de train SNCF
I Conversation = Séquence de messages échangésentre un client et un service
I Protocole = Règles qui décrivent les conversationslégales⇒ Rend explicite les contraintes d’utilisation= Protocole d’affaire
![Page 25: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/25.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Conversation et protocole d’affaireI Un WS exporte généralement plusieurs opérationsI Ces opérations doivent être exécutées dans un
certain ordre
Exemple : Commande de billets de train SNCF
I Conversation = Séquence de messages échangésentre un client et un service
I Protocole = Règles qui décrivent les conversationslégales⇒ Rend explicite les contraintes d’utilisation= Protocole d’affaire
![Page 26: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/26.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Conversation et protocole d’affaireI Un WS exporte généralement plusieurs opérationsI Ces opérations doivent être exécutées dans un
certain ordre
Exemple : Commande de billets de train SNCF
I Conversation = Séquence de messages échangésentre un client et un service
I Protocole = Règles qui décrivent les conversationslégales⇒ Rend explicite les contraintes d’utilisation= Protocole d’affaire
![Page 27: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/27.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Conversation et protocole d’affaireI Un WS exporte généralement plusieurs opérationsI Ces opérations doivent être exécutées dans un
certain ordre
Exemple : Commande de billets de train SNCF
I Conversation = Séquence de messages échangésentre un client et un service
I Protocole = Règles qui décrivent les conversationslégales⇒ Rend explicite les contraintes d’utilisation
= Protocole d’affaire
![Page 28: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/28.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Conversation et protocole d’affaireI Un WS exporte généralement plusieurs opérationsI Ces opérations doivent être exécutées dans un
certain ordre
Exemple : Commande de billets de train SNCF
I Conversation = Séquence de messages échangésentre un client et un service
I Protocole = Règles qui décrivent les conversationslégales⇒ Rend explicite les contraintes d’utilisation= Protocole d’affaire
![Page 29: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/29.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description statique vs. dynamique del’«interface» d’un service
I Description de l’interface statique d’un service
I Messages, opérations et portsI Partenaires (partnerLink )
I Description de l’interface dynamique d’un service
I Ordre légal d’exécution pour les opérationsspécifiques à un partenaire
⇒ Interface comportementale
I Ordre légal d’exécution pour l’ensemble desopérations (tous les partenaires)
⇒ Interface de fournisseur
[“Service-oriented Design: A Multi-viewpoint Approach”, Dijkmanet Dumas, 2004.]
![Page 30: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/30.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description statique vs. dynamique del’«interface» d’un service
I Description de l’interface statique d’un serviceI Messages, opérations et portsI Partenaires (partnerLink )
I Description de l’interface dynamique d’un service
I Ordre légal d’exécution pour les opérationsspécifiques à un partenaire
⇒ Interface comportementale
I Ordre légal d’exécution pour l’ensemble desopérations (tous les partenaires)
⇒ Interface de fournisseur
[“Service-oriented Design: A Multi-viewpoint Approach”, Dijkmanet Dumas, 2004.]
![Page 31: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/31.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description statique vs. dynamique del’«interface» d’un service
I Description de l’interface statique d’un serviceI Messages, opérations et portsI Partenaires (partnerLink )
I Description de l’interface dynamique d’un serviceI Ordre légal d’exécution pour les opérations
spécifiques à un partenaire
⇒ Interface comportementale
I Ordre légal d’exécution pour l’ensemble desopérations (tous les partenaires)
⇒ Interface de fournisseur
[“Service-oriented Design: A Multi-viewpoint Approach”, Dijkmanet Dumas, 2004.]
![Page 32: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/32.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description statique vs. dynamique del’«interface» d’un service
I Description de l’interface statique d’un serviceI Messages, opérations et portsI Partenaires (partnerLink )
I Description de l’interface dynamique d’un serviceI Ordre légal d’exécution pour les opérations
spécifiques à un partenaire⇒ Interface comportementale
I Ordre légal d’exécution pour l’ensemble desopérations (tous les partenaires)⇒ Interface de fournisseur
[“Service-oriented Design: A Multi-viewpoint Approach”, Dijkmanet Dumas, 2004.]
![Page 33: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/33.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description de collaborations entreplusieurs WS
I Certains processus complexes requièrent lacollaboration de plusieurs services
⇒ Demande de décrire :I les différents rôlesI les échanges de messages entre les entités jouant
ces rôlesI les contraintes sur l’ordre des échanges
I Chorégraphie = Description des interactions entreplusieurs partenaires, et ce d’un point de vue global
![Page 34: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/34.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description de collaborations entreplusieurs WS
I Certains processus complexes requièrent lacollaboration de plusieurs services
⇒ Demande de décrire :I les différents rôlesI les échanges de messages entre les entités jouant
ces rôlesI les contraintes sur l’ordre des échanges
I Chorégraphie = Description des interactions entreplusieurs partenaires, et ce d’un point de vue global
![Page 35: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/35.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description des protocolesI Un protocole doit permettre de décrire les
séquences légales d’actions (communications)
I Diverses «notations» possibles :I Diagrammes de séquencesI Diagrammes de communicationI Diagrammes d’activitésI Machines à états finisI Langages réguliers
I WS-BPEL (processus abstraits)I WS-CDL
![Page 36: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/36.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Description des protocolesI Un protocole doit permettre de décrire les
séquences légales d’actions (communications)
I Diverses «notations» possibles :I Diagrammes de séquencesI Diagrammes de communicationI Diagrammes d’activitésI Machines à états finisI Langages réguliers
I WS-BPEL (processus abstraits)I WS-CDL
![Page 37: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/37.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Aperçu
Rappels : WSDL et WS-BPEL
Conversations, protocoles, collaborations
Interface dynamique d’un WS
Collaborations entre WS
Sommaire et perspectives
![Page 38: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/38.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Interface comportementaleI Rôle = décrire le comportement d’un service
relativement à un partenaire spécifiqueI Donc : ne décrit qu’un unique rôle, caractérisé par
les envois/réceptions sur un seul partnerLink
![Page 39: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/39.jpg)
Exemple ordersProcess : Composant UML
![Page 40: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/40.jpg)
Exemple ordersProcess : Diagramme deséquence décrivant l’interface avec warehouse
![Page 41: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/41.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Expressions d’interface [Tremblay, Chae et Mili, 2005]
I Forme d’expressions régulières décrivant les tracespossibles (langage)
I Inspirée des path expressions [Campbell et Habermann]
I Décrit les messages reçus/envoyés du point de vued’un service spécifique
?m Réception de m
!m Invocation de m
!?m Invocation synchrone de m
m1; m2 Exécution m1suivi de m2
m1 [] m2 Choix entre m1et m2
m* Répétition (0, 1 ou plusieurs m)
![Page 42: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/42.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Expressions d’interface [Tremblay, Chae et Mili, 2005]
I Forme d’expressions régulières décrivant les tracespossibles (langage)
I Inspirée des path expressions [Campbell et Habermann]
I Décrit les messages reçus/envoyés du point de vued’un service spécifique
?m Réception de m
!m Invocation de m
!?m Invocation synchrone de m
m1; m2 Exécution m1suivi de m2
m1 [] m2 Choix entre m1et m2
m* Répétition (0, 1 ou plusieurs m)
![Page 43: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/43.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Exemple ordersProcess : Expressions d’interface
I Comportement de ordersProcess sur le lienordering (de type orderLnk ) :
?order; !order
I Comportement de ordersProcess sur le lienwarehouse (de type warehouseLnk ) :
!?order[]!schedule; (?receive_note [] !?order)
![Page 44: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/44.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Exemple ordersProcess : Expressions d’interface
I Comportement de ordersProcess sur le lienordering (de type orderLnk ) :
?!order
I Comportement de ordersProcess sur le lienwarehouse (de type warehouseLnk ) :
!?order[]!schedule; (?receive_note [] !?order)
![Page 45: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/45.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Exemple ordersProcess : Expressions d’interface
I Comportement de ordersProcess sur le lienordering (de type orderLnk ) :
?!order
I Comportement de ordersProcess sur le lienwarehouse (de type warehouseLnk ) :
!?order[]!schedule; (?receive_note [] !?order)
![Page 46: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/46.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Processus abstraits WS-BPELI WS-BPEL permet de spécifier des processus
concrets et exécutablesI WS-BPEL permet aussi de spécifier des processus
abstraits= Protocole d’utilisation d’un service≈ Diagramme d’activités= Description opérationnelle, mais non-exécutable
I Utilisation de valeurs opaques (non-déterministes)
![Page 47: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/47.jpg)
Exemple : Processus abstrait pour lien warehouse
ABSTRACT PROCESS ordersProcessBEGIN
order ← <opaque >IF order.urgent THEN
invoke warehouse::order( !order, ?invoice )ELSE
invoke warehouse:schedule( !order )PICK
- onMessage (receive_note)::receive receive_note( ?invoice )
- onAlarm (time-out)::invoke warehouse::order( !order, ?invoice )
ENDEND
END
![Page 48: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/48.jpg)
Interface de fournisseurI Rôle = décrire le comportement du service
relativement à l’ensemble de ses partenairesI Donc : décrit ce qui est visible sur l’ensemble
des ports
Exemple ordersProcess : Expressions d’interface(Note : wh = warehouse )
?ordering::order;(
!?wh::order[]!wh::schedule; (?wh::receive_note [] !?wh::order)
);!ordering:order
![Page 49: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/49.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Les behavior protocols de SOFAI SOFA = SOFtware Appliances = Plateforme pour
composants logicielsI Un composant est décrit par :
I Son frame = vue externe (boîte noire)I provides/requires-interfaces
I Son architecture = structure interne (boîte blanche)
I Le comportement d’une entité SOFA est décrit parun behavior protocol = expression-régulièredécrivant l’ensemble des traces (de communications)!m^ émission d’un appel de méthode?m^ réception d’un appel de méthode!m$ émission d’une réponse?m$ réception d’une réponse
![Page 50: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/50.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Les behavior protocols de SOFA (suite)I Différents “niveaux” de behavior protocol :
I Interface protocol = Comportement d’un composantau niveau d’une interface spécifique
I Port state machine = Comportement d’un composant(à la UML) au niveau d’un port (groupe d’interfacesrequises/fournies)
≈ interface comportementale
I Frame protocol = Comportement d’un composant auniveau de son frame (ensemble de toutes lesinterfaces requises/fournies du composant)
≈ interface de fournisseur
![Page 51: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/51.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Les behavior protocols de SOFA (suite)I Différents “niveaux” de behavior protocol :
I Interface protocol = Comportement d’un composantau niveau d’une interface spécifique
I Port state machine = Comportement d’un composant(à la UML) au niveau d’un port (groupe d’interfacesrequises/fournies)
≈ interface comportementale
I Frame protocol = Comportement d’un composant auniveau de son frame (ensemble de toutes lesinterfaces requises/fournies du composant)
≈ interface de fournisseur
![Page 52: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/52.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Les behavior protocols de SOFA (suite)I Différents “niveaux” de behavior protocol :
I Interface protocol = Comportement d’un composantau niveau d’une interface spécifique
I Port state machine = Comportement d’un composant(à la UML) au niveau d’un port (groupe d’interfacesrequises/fournies)≈ interface comportementale
I Frame protocol = Comportement d’un composant auniveau de son frame (ensemble de toutes lesinterfaces requises/fournies du composant)≈ interface de fournisseur
![Page 53: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/53.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Aperçu
Rappels : WSDL et WS-BPEL
Conversations, protocoles, collaborations
Interface dynamique d’un WS
Collaborations entre WS
Sommaire et perspectives
![Page 54: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/54.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Chorégraphie de collaborationsmulti-partenaires
I Chorégraphie = Description des interactions(collaborations), d’un point de vue global, entreplusieurs partenaires
= protocole d’affaire multi-partenaires
![Page 55: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/55.jpg)
Exemple : Un processus d’approvisionnement décritpar un diagramme de séquences UML[Adapté de “Structured Communication-Centered Programming forWS”, Carbone et al., 2007]
![Page 56: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/56.jpg)
Exemple : Un autre processus d’approvisionnementdécrit par un diagramme de séquences UML
[Adapté de “Structured Communication-Centered Programming forWS”, Carbone et al., 2007]
![Page 57: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/57.jpg)
Exemple : Un processus d’approvisionnement décritpar un diagramme de communications UML[Adapté de Carbone et al., 2007]
![Page 58: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/58.jpg)
Exemple : Un autre processus d’approvisionnementdécrit par un diagramme de communications UML
[Adapté de Carbone et al., 2007]
![Page 59: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/59.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
WS-CDLI WS-CDL = WS Choreography Description Language
WS-CDL is an XML-based language thatdescribes peer-to-peer collaborations ofparties by defining, from a global viewpoint,their common and complementaryobservable behavior.
[Web Services Choreography Description
Language Version 1.0, Dec. 2004]
I Notation inspirée du π-calcul [Milner]
![Page 60: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/60.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Éléments clés d’une description WS-CDLI role ≈ interface = ensemble d’opérationsI relation = lien d’interaction entre deux rôlesI interaction = échange d’information entre deux
rôles
I channel = mécanisme pour réaliser une interaction
I choreography = description de la dynamique d’unecollaboration
![Page 61: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/61.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Interactions et canaux de communicationI Une interaction est décrite par. . .
I Participants impliquésI Information échangéeI Canal utilisé pour échanger l’information
I Un canal est décrit par. . .I Rôle du récepteurI Action effectuée par le récepteur
(requête, réponse, requête–réponse)I Type du canal transmis (optionnel)
I Deux sortes de canaux :I Canal de service : canal public d’invocation de
serviceI Canal de session : canal privé spécifique à une
conversation
![Page 62: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/62.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Interactions et canaux de communicationI Une interaction est décrite par. . .
I Participants impliquésI Information échangéeI Canal utilisé pour échanger l’information
I Un canal est décrit par. . .I Rôle du récepteurI Action effectuée par le récepteur
(requête, réponse, requête–réponse)I Type du canal transmis (optionnel)
I Deux sortes de canaux :I Canal de service : canal public d’invocation de
serviceI Canal de session : canal privé spécifique à une
conversation
![Page 63: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/63.jpg)
Exemple[Adapté de “Structured Communication-Centered Programming for
WS”, Carbone et al., 2007]
![Page 64: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/64.jpg)
Exemple[Adapté de “Structured Communication-Centered Programming for
WS”, Carbone et al., 2007]
Buyer → Seller : quoteReq (newChannel c1);Seller → Buyer : c1<quote, ...>;{
{Buyer → Seller : c1<accept>;Seller → Shipper : deliveryReq (newChannel c2);Shipper → Seller : c2<details, ...>;Seller → Buyer : c1<details, ...>
}[]{
Buyer → Seller : c1<reject>}
}
![Page 65: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/65.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Chorégraphies, composants logiciels etconnecteurs
[“A Formal Basis for Architectural Connection”, Allen et Garlan, 1997]
I Architecture logicielle =I Ensemble de composants + Ensemble de
connecteursI Les connecteurs décrivent les interactions entre les
composants
I Connecteur = Ensemble de rôles + Gluespecification
I Rôle = décrit le comportement local d’un partenaire =obligations du composant relativement à l’interaction
I Glue = décrit comment ces comportements sontcombinés
![Page 66: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/66.jpg)
Chorégraphies, composants logiciels etconnecteurs (suite)
Processus d’approvisionnement
![Page 67: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/67.jpg)
Chorégraphies, composants logiciels etconnecteurs (suite)
Processus d’approvisionnement avec connecteur
![Page 68: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/68.jpg)
Processus d’approvisionnement en Wright[“A Formal Basis for Arch. Conn.”, Allen et Garlan, 1997]
connector B-Se-Sh-connector =role B =
quoteReq →quote →( accept →details B u reject) →B u §role Se =
let Accept = accept →deliveryReq →details S→details B inquoteReq →quote →(Accept [] reject) →Se [] §
role Sh =deliveryReq →details S→Sh [] §
glue =let Quote = B.quoteReq →Se.quoteReq →Se.quote →B.quote inlet Accept = B.accept →Se.accept inlet DelivReq = Se.deliveryReq →Sh.deliveryReq inlet Details = Sh.details S→Se.details S→Se.details B→B.details B inlet Reject = B.reject →Se.reject in
Quote →(Accept →DelivReq →Details u Reject) →glue u §
![Page 69: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/69.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Aperçu
Rappels : WSDL et WS-BPEL
Conversations, protocoles, collaborations
Interface dynamique d’un WS
Collaborations entre WS
Sommaire et perspectives
![Page 70: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/70.jpg)
Sommaire : Chorégraphie, interfaces(comportementales, de fournisseur),orchestration
![Page 71: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/71.jpg)
Sommaire : Chorégraphie, interfaces(comportementales, de fournisseur),orchestration
![Page 72: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/72.jpg)
Sommaire : Chorégraphie, interfaces(comportementales, de fournisseur),orchestration
![Page 73: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/73.jpg)
Sommaire : Chorégraphie, interfaces(comportementales, de fournisseur),orchestration
![Page 74: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/74.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Travaux en cours. . . et futurs
Vérification :I Est-ce qu’une orchestration (BPEL) respecte une
interface de fournisseur ?I Est-ce que des processus (BPEL) peuvent collaborer
pour réaliser une chorégraphie (CDL)?
Synthèse et génération :I Orchestration⇔ Proc. abstraits⇔ Expr. d’interfaceI Chorégraphie⇒ Proc. Abstraits⇒ Proc. concrets
CBSE vs. WS :I Connecteurs CBSE ?⇐⇒ Chorégraphies WS
![Page 75: Services Web : De l'orchestration à la chorégraphietremblay/orch-chor.pdf · 2007-03-16 · G. Tremblay Rappels WSDL WS-BPEL En résumé Conversations, protocoles, collaborations](https://reader030.fdocuments.fr/reader030/viewer/2022040409/5ec36ddf51cf037d4128c3c7/html5/thumbnails/75.jpg)
Services Web
G. Tremblay
RappelsWSDL
WS-BPEL
En résumé
Conversations,protocoles,collaborationsInteractions client/service
Interactions entre plusieursservices
InterfacedynamiqueInterface comportementale
Interface de fournisseur
Parenthèse sur SOFA
CollaborationsChorégraphie
Exemples
WS-CDL
Liens entre chorégraphieset composants logiciels
Sommaire
Questions? Commentaires? Remarques?
???