service referrals in bpel-based choreographies

13
Gero Decker 1 , Oliver Kopp 2 , Frank Puhlmann 1 Service Referrals in BPEL-based Choreographies Second Young Researchers’ Workshop on Service Oriented Computing YR-SOC 2007 – http://www.yrsoc.org

Upload: oliver-kopp

Post on 03-Jul-2015

417 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Service Referrals in BPEL-based Choreographies

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

Page 2: Service Referrals in BPEL-based Choreographies

Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 2

Agenda

Choreographies

BPEL-based Choreographies

Service Referrals in BPEL4Chor

Page 3: Service Referrals in BPEL-based Choreographies

Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 3

The Reseller Choreography

Interaction modelInterconnection model

Page 4: Service Referrals in BPEL-based Choreographies

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

Page 5: Service Referrals in BPEL-based Choreographies

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

Page 6: Service Referrals in BPEL-based Choreographies

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

Page 7: Service Referrals in BPEL-based Choreographies

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

Page 8: Service Referrals in BPEL-based Choreographies

Presented by Oliver Kopp © Gero Decker, Oliver Kopp, Frank Puhlmann 8

The complete picture of BPEL4Chor

Page 9: Service Referrals in BPEL-based Choreographies

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)

Page 10: Service Referrals in BPEL-based Choreographies

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

Page 11: Service Referrals in BPEL-based Choreographies

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

Page 12: Service Referrals in BPEL-based Choreographies

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

Page 13: Service Referrals in BPEL-based Choreographies

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