Web Service Choreography Configurations for BPMN
-
Upload
oliver-kopp -
Category
Technology
-
view
1.375 -
download
0
description
Transcript of 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/
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)
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
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
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
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)
7
BPEL4Chor
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
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
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
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
12
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
Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 14
BPEL basic activities
Basic activities distinguished by marking
Presented by Oliver Kopp © Kerstin Pfitzner, Gero Decker, Oliver Kopp, Frank Leymann 15
BPEL4Chor data types
Rendering of the different variable types of BPEL
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
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
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
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.
...
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
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
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