Web Service Choreography Configurations for BPMN

22
Kerstin Pfitzner 1 , Gero Decker 2 , Oliver Kopp 1 , Frank Leymann 1 Web Service Choreography Configurations for BPMN Third International Workshop on Engineering Service-Oriented Applications: Analysis, Design and Composition WESOA’07 – http://wesoa07.googlepages.com/

description

Choreography Configurations for BPMN 1.x

Transcript of Web Service Choreography Configurations for BPMN

Page 1: Web Service Choreography Configurations for BPMN

Kerstin Pfitzner1, Gero Decker2, Oliver Kopp1, Frank Leymann1

Web Service Choreography Configurations for BPMN

Third International Workshop on Engineering Service-Oriented Applications:Analysis, Design and Composition

WESOA’07 – http://wesoa07.googlepages.com/

Page 2: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 2

Motivation

BPMN

BPEL4Chor

set of abstractBPEL processes

transformation

transformationinstead of manual steps

configurationsneeded

set of executableBPEL processes

executable completion(manual work)

Page 3: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 3

Agenda

Orchestrations and Choreographies

BPEL4ChorExtensions for BPEL to model choreographies

Configurations for BPMN to support modeling BPEL4Chor

Page 4: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 4

Bookshop orchestrationSupplierClient Book shop

send not found

send response

select cheapest supplier

price receivedno price received

update suppliers

data

Not found request

price

De facto standards:BPMN, BPEL

Page 5: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 5

The bookshop choreography - pure BPMNSupplierClient

send price request

Book shop

send not found

send response

select cheapest supplier

price receivedno price received

update suppliers

data

Not found request

price

calculate price

book not found book found

reply not found

reply

De facto standard:BPMN

Page 6: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 6

Other languages to model choreographies

Interaction model (simplified)

Interconnection model

Let’s Dance,WS-CDLBPEL4Chor

SupplierClient

send price request

Book shop

send not found

send response

select cheapest supplier

price receivedno price received

update suppliers

data

Not found request

price

calculate price

book not found book found

reply not found

reply

for each element in S (concurrent) (bs)

Response

Supplier(S)

Book shop(bs)

Order

Client(c)

Book shop (bs)

Price Request

Book shop(bs)

Supplier (S)

Offer

Book shop (bs)

Client(c)

Page 7: Web Service Choreography Configurations for BPMN

7

BPEL4Chor

Page 8: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 8

BPEL4Chor

Includes all features of BPEL 2.0, e.g.Event handlerTermination handlerUses abstract BPEL

Plus choreography informationNotion of participantsMultiplicity of participantsParticipant references

Page 9: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 9

BPEL4Chor Participant Behavior Descriptions

<sequence><invoke

wsu:id=“sendPriceRequest” />

<pick><onMessage wsu:id=“receivePrice” />

<onMessagewsu:id=“receiveNotFound” />

</pick></sequence>

Client

send price request

Book shop

send not found

send response

select cheapest supplier

price receivedno price received

update suppliers

data

Not found request

price

Page 10: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 10

BPEL4Chor Participant Topologies<topology name=“bookshop" …>

<participantTypes><participantType

name=“BookShop" participantBehaviorDescription=“mychor:BookShop" /> <participantType name=“Supplier“ … /> …

</participantTypes>

<participants><participant name=“b"

type=“BookShop" /><participantSet name=“suppliers”

type=“Supplier”<participant name=“currentSupplier” />

</participantSet>…

SupplierClient Book shop

Page 11: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 11

BPEL4Chor Participant Topologies

<messageLinks><messageLinksender=“c“sendActivity=“sendPriceRequest”receiver=“BookShop“receiveActivity=“getOrder”messageName=“order" /> …

</messageLinks>

Client

send price request

Book shop

send not found

send response

select cheapest supplier

price receivedno price received

update suppliers

data

Not found request

price

Page 12: Web Service Choreography Configurations for BPMN

12

Configurations for BPMN

Page 13: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 13

What is missing in BPMN?

Features of BPEL 2.0Event handlerTermination handler

BPMN: only termination of transactional sub-processes

Certain choreography informationMultiplicity of participantsParticipant references

Page 14: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 14

BPEL basic activities

Basic activities distinguished by marking

Page 15: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 15

BPEL4Chor data types

Rendering of the different variable types of BPEL

Page 16: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 16

Reference passing

There exist only one instance of ZThis instance is created by XThe reference to Z needs to be passed to Y

Page 17: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 17

Pool sets and references

Pool sets contain multiple instances of one participantSender and receiver have to be specified, if there are multiple instances of them

Page 18: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 18

Iteration over a participant set

Specification ofSet to iterate onName of the current participant reference

Page 19: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 19

BPEL handlers

Different handlers distinguished by markingEvent HandlerFault HandlerTermination HandlerCompensation Handler

... ... ...

invokesynch.

...

Page 20: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 20

Bookshop choreography / configured BPMNSupplierClient

send price request

Bookshop

send not found

send not found

select cheapest supplier

price receivedno price received

update suppliers

data

request price

calculate price

book not found book found

suppliers

currentsupplier

reply not found

reply

not found

Page 21: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 21

Transform configured BPMN to BPEL4Chor

Extending existing transformationOuyang et al.: Pattern-based translation of BPMN process models to BPEL web services

Adopting restrictions:Exclusion of e.g.

Ad-hoc or transactional sub-processesEnd-events with triggersTasks of type user, script, abstract, manual reference, non-typed

Excluded support of arbitrary cyclesBPMN configuration respected in the mapping

Page 22: Web Service Choreography Configurations for BPMN

Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 22

Summary

BPEL4Chor as choreography extension of BPELMultiple participants of one type

Configurations of BPMN to fully support modeling of BPEL4ChorOngoing work

Implementation of mapping of configured BPMN to BPEL4ChorInteraction models vs. interconnection models

Future workEvaluation