Your SlideShare is downloading. ×
Service Referrals in BPEL-based Choreographies
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Service Referrals in BPEL-based Choreographies

331
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Second Young Researchers’ Workshop on Service Oriented Computing YR-SOC 2007 – http://www.yrsoc.org Service Referrals in BPEL-based Choreographies Gero Decker1, Oliver Kopp2, Frank Puhlmann1
  • 2. Agenda Choreographies BPEL-based Choreographies Service Referrals in BPEL4Chor Presented by Oliver Kopp 2 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 3. The Reseller Choreography Interconnection model Interaction model Presented by Oliver Kopp 3 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 4. How to derive the orchestration? Choreography Orchestration Customer Reseller Choose manufacturer Place Place pro- invoice req. duct req. Payment Org. Manufacturer Presented by Oliver Kopp 4 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 5. Reseller Choreography in BPEL4Chor Resellers's behavior: Customer Reseller <receive name=quot;getOrderquot; /> Send order <flow> Place Place pro- invoice req. duct req. <invoke name=quot;PlaceInvoiceReqquot; /> <invoke name=quot;PlaceProductReqquot; /> Receive invoice </flow> Receive Send Send product Behavior of the other invoice product participants specified analogous Payment Org. Manufacturer Presented by Oliver Kopp 5 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 6. The interconnections The interconnection is formed Customer Reseller by links: <messageLink Send order name=quot;productRequestLinkquot; Place Place pro- invoice req. duct req. sender=quot;resellerquot; sendActivity= quot;PlaceProductRequestquot; receiver=quot;manufacturerquot; Receive invoice receiveActivity=quot;getReqquot; messageName=quot;productReqquot; Receive Send Send product invoice product participantRefs=quot;customerquot; /> Payment Org. Manufacturer Presented by Oliver Kopp 6 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 7. The execution Mapping message links to porttypes / operations quot;Groundingquot; <messageLink Customer Reseller name=quot;productRequestLinkquot; portType=quot;man:manufacturerPTquot; Send operation=quot;placeProductRequestquot; order Place Place pro- /> invoice req. duct req. <participantRef name=quot;customerquot; WSDLproperty= quot;msgs:customerPropertyquot; /> Receive invoice Receive Send Send product invoice product Payment Org. Manufacturer Presented by Oliver Kopp 7 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 8. The complete picture of BPEL4Chor Presented by Oliver Kopp 8 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 9. Reseller Choreography in Pi-Calculus Pi-Calculus because of link-passing mobility The complete system consists of the four participants executing in parallel def SY S = (C j R j P j M ) Presented by Oliver Kopp 9 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 10. The Customer Customer creates Customer Reseller oc order and callback- channels ( ) Send order Uses public order Place Place pro- invoice req. duct req. channel “oc ” def C = (ºorder ; ic; pc) ic Receive ochorder; ic; pci: invoice (ic(invoice) j Receive Send Send product pc(product)) invoice product pc Payment Org. Manufacturer Presented by Oliver Kopp 10 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 11. The Reseller Reseller sends Customer Reseller customer’s callback- oc channels Send order Uses public invoice and Place Place pro- invoice req. duct req. payment request channels prc irc Receive def R = (ºinvoiceReq; productReq) invoice oc(order ; ic; pc): Receive (irchinvoiceReq; ici j Send Send product invoice product prchproductReq; pci ) Payment Org. Manufacturer Presented by Oliver Kopp 11 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 12. The Manufacturer and the Payment Organization Receive the callback- Customer Reseller channel via public channel Create invoice/product Send Use the callback-channel to order Place Place pro- invoice req. duct req. send invoice/product def P = (ºinvoice) prc irc irc(invoiceReq; ic): ic Receive ichinvoicei invoice Receive def Send Send product M = (ºproduct) invoice product prc(productReq; pc): pc pchproducti Payment Org. Manufacturer Presented by Oliver Kopp 12 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 13. Summary BPEL4Chor as interconnection model Link passing mobility as first-class citizen Pi-Calculus as formalism Ongoing work Complete mapping: BPEL4Chor to pi-calculus Interaction models vs. interconnection models Conformance Presented by Oliver Kopp 13 © Gero Decker, Oliver Kopp, Frank Puhlmann