service referrals in bpel-based choreographies
TRANSCRIPT
Gero Decker1, Oliver Kopp2, Frank Puhlmann1
Service Referrals inBPEL-based Choreographies
Second Young Researchers’ Workshop on Service Oriented ComputingYR-SOC 2007 – http://www.yrsoc.org
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 2
Agenda
Choreographies
BPEL-based Choreographies
Service Referrals in BPEL4Chor
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 3
The Reseller Choreography
Interaction modelInterconnection model
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 4
How to derive the orchestration?
OrchestrationChoreographyCustomer Reseller
Payment Org. Manufacturer
Place invoice req.
Place pro-duct req.
Choose manufacturer
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 5
Reseller Choreography in BPEL4Chor
Resellers's behavior:
<receive name="getOrder" />
<flow><invoke
name="PlaceInvoiceReq" /><invoke
name="PlaceProductReq" /></flow>
Behavior of the other participants specified analogous
Customer Reseller
Payment Org. Manufacturer
Send order
Receive invoice
Receive product
Place invoice req.
Place pro-duct req.
Send invoice
Send product
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 6
The interconnections
The interconnection is formedby links:
<messageLinkname="productRequestLink"sender="reseller"sendActivity=
"PlaceProductRequest"receiver="manufacturer" receiveActivity="getReq"messageName="productReq"
participantRefs="customer"/>
Customer Reseller
Payment Org. Manufacturer
Send order
Receive invoice
Receive product
Place invoice req.
Place pro-duct req.
Send invoice
Send product
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 7
The execution
<messageLinkname="productRequestLink"portType="man:manufacturerPT"operation="placeProductRequest"/>
<participantRef name="customer"WSDLproperty="msgs:customerProperty" />
Mapping message links to porttypes / operations"Grounding"
Customer Reseller
Payment Org. Manufacturer
Send order
Receive invoice
Receive product
Place invoice req.
Place pro-duct req.
Send invoice
Send product
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 8
The complete picture of BPEL4Chor
Presented by Oliver Kopp © 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
SY Sdef= (C j R j P j M)SY Sdef= (C j R j P j M)
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 10
The Customer
Customer Reseller
Payment Org. Manufacturer
Send order
Receive invoice
Receive product
Place invoice req.
Place pro-duct req.
Send invoice
Send product
Customer creates order and callback-channels ( )Uses public order channel “ ”
Cdef= (ºorder ; ic; pc)
ochorder ; ic; pci:(ic(invoice) jpc(product))
Cdef= (ºorder ; ic; pc)
ochorder ; ic; pci:(ic(invoice) jpc(product))
ococ
pcpc
icic
ococ
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 11
The Reseller
Customer Reseller
Payment Org. Manufacturer
Send order
Receive invoice
Receive product
Place invoice req.
Place pro-duct req.
Send invoice
Send product
Rdef= (ºinvoiceReq ; productReq)
oc(order ; ic; pc):(irchinvoiceReq; ici jprchproductReq; pci )
Rdef= (ºinvoiceReq ; productReq)
oc(order ; ic; pc):(irchinvoiceReq; ici jprchproductReq; pci )
Reseller sends customer’s callback-channelsUses public invoice and payment request channels
ococ
ircirc prcprc
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 12
The Manufacturer and the Payment Organization
Customer Reseller
Payment Org. Manufacturer
Send order
Receive invoice
Receive product
Place invoice req.
Place pro-duct req.
Send invoice
Send product
Pdef= (ºinvoice)
irc(invoiceReq; ic):ichinvoicei
Pdef= (ºinvoice)
irc(invoiceReq; ic):ichinvoicei
Receive the callback-channel via public channelCreate invoice/productUse the callback-channel to send invoice/product
Mdef= (ºproduct)
prc(productReq ; pc):pchproducti
Mdef= (ºproduct)
prc(productReq ; pc):pchproducti
ircirc prcprcicic
pcpc
Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 13
Summary
BPEL4Chor as interconnection modelLink passing mobility as first-class citizenPi-Calculus as formalism
Ongoing workComplete mapping: BPEL4Chor to pi-calculusInteraction models vs. interconnection modelsConformance