Many-to-Many: Interactions in Artifact-Centric Choreographies

474 views
434 views

Published on

A talk given by Dirk Fahland at the 3rd Central European Workshop on Services and their Composition (ZEUS'11) in Karlsruhe, February 22, 2011. The talk explains behavioral phenomena in services choreographies where several service instances interact with each other.

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
474
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Many-to-Many: Interactions in Artifact-Centric Choreographies

  1. 1. Dirk FahlandMassimiliano de LeoniBoudewijn F. van DongenWil M.P. van der Aalst<br />Many-to-Many:Interaction in Artifact Choreographies<br />ZEUS 2011, February, Karlsruhe<br />
  2. 2. PAGE 1<br />A process that needs multiple instances<br />1<br />2<br />
  3. 3. PAGE 2<br />A process that needs multiple instances<br />2<br />1<br />complex relations between service instances<br />
  4. 4. PAGE 3<br />A process that needs multiple instances<br /><br />2<br />1<br />
  5. 5. PAGE 4<br />A process that needs multiple instances<br /><br />2<br />1<br />
  6. 6. PAGE 5<br />A process that needs multiple instances<br /><br /><br />2<br />1<br /><br />complex relations between service instances<br />
  7. 7. Data<br />each process is founded in its data objects<br />an order<br />a delivery tour<br />the data-objects can be in complex relations<br />PAGE 6<br />The reason of complex relations<br />+<br />order<br />delivery tour<br />*<br />*<br />follow-up<br />*<br />
  8. 8. encapsulate each class of data objects in a service<br />service behavior = data object life-cycle<br />service interface = retrieve data, update data, …<br />delivery tour<br />order<br />PAGE 7<br />Artifacts<br />life-cycle<br />life-cycle<br />+<br />order<br />delivery tour<br />*<br />*<br />follow-up<br />*<br />
  9. 9. wiring:relations between service instances (= objects)<br />cardinality constraints expresshow many instances interact with each other<br />PAGE 8<br />Choreography inherits relations<br />delivery tour<br />order<br />+<br />*<br />life-cycle<br />life-cycle<br />*<br />+<br />*<br />order<br />delivery tour<br />*<br />+<br />*<br />follow-up<br />*<br />
  10. 10. PAGE 9<br />Formal notation: Proclets<br />
  11. 11. order 1<br />order2<br />PAGE 10<br />Example execution<br />create<br />create<br />delivery1<br />load<br />split<br />split<br />3<br />1<br />2<br />
  12. 12. PAGE 11<br />Many instances talking to each other<br />
  13. 13. Artifacts<br />a service instance encapsulates a data object<br />relations between data objects<br />complex communications between service instances<br />Two research problems<br />addressing instances: correlation<br />completing artifact choreographies<br />PAGE 12<br />New Paradigm<br /> New Problems<br />
  14. 14. a set of corresponding communication events<br />between a fixed set of instances<br />C1: order1, delivery1<br />C2: order2, delivery1, delivery2<br />C3: order1, delivery2<br />conversations can overlap<br />PAGE 13<br />Conversation<br />
  15. 15. conversation = a set of related interaction events<br />correlation: mechanism to define whether an event is part of a specific conversation<br />key-based correlation: data-fields of the event<br />same value  same conversation(e.g. orderID, deliveryID)<br />available in BPEL and BPMN 2.0 <br />PAGE 14<br />Correlation<br />
  16. 16. <receive partnerLink="Buyer" portType="SP:PurchasingPT“operation="PurchaseRequest" variable="PO"><correlations><correlation set="PurchaseOrder" initiate="yes" /></correlations> <br /></receive> <br />... <br /><invoke partnerLink="Buyer" portType="SP:BuyerPT„ operation="PurchaseResponse" inputVariable="POResponse"><correlations><correlation set="PurchaseOrder" initiate="no" /> <correlation set="Invoice" initiate="yes" /></correlations> <br /></invoke><br />PAGE 15<br />Correlation Handling in WS-BPEL<br />incoming message: service instance now participates in the conversation C defined by PurchaseOrder<br />outgoing message part of conversation C<br />and initiates a new conversation C2<br />[wsbpel-v2.0-OS, page 81]<br />
  17. 17. BPEL<br />expresses correlation on a per-message basis<br />two correlation patterns require more<br />multiple consumption:one send event several receive events in different instances<br />dynamic list ofcorrelation values<br />PAGE 16<br />Artifacts Require Stronger Correlation<br />
  18. 18. atomic consumption:several send events indifferent instances one receive event<br />dynamic list of sendevents<br />correlation values notknown to receiver<br /> OR-join problem<br />PAGE 17<br />Artifacts Require Stronger Correlation<br />PAGE 17<br />
  19. 19. Artifacts<br />a service instance encapsulates a data object<br />relations between data objects:<br />complex communications between service instances<br />Two research problems<br />addressing instances: correlation<br />completing artifact choreographies<br />PAGE 18<br />Two Research Problems<br />
  20. 20. PAGE 19<br />Intuitively not allowed<br />incompleteconversation<br />
  21. 21. describe interaction between service instances<br />from start to completion<br />proposal: specify as an artifact again<br />PAGE 20<br />Specify conversations<br />
  22. 22. Replace channels with conversation artifact<br />composition: synchronous, dynamic<br />PAGE 21<br />Refine choreography<br />
  23. 23. Given:<br />artifact choreography with asynchronous channels<br />correlation specification<br />and desired properties, e.g.goal states per artifact + “no messages in channels”<br />Wanted:<br />conversation artifacts s.t.<br />the composition satisfies the desired properties and<br />artifacts fit correlation specification(e.g. each conversation artifact implements associated correlation properties)<br />PAGE 22<br />New problem: choreography completion<br />
  24. 24. Processes in reality are driven by data objects<br />Artifacts: each service instance encapsulates a data objects<br />Choreography: wiring reflects object relations<br />Two new problems<br />More involved correlation: which events belong to one conversation?<br />Choreography completion: find the conversation protocol s.t. the choreography has desired properties<br />PAGE 23<br />Take home points<br />
  25. 25. Dirk Fahlandhttp://about.me/dirk.fahlandhttp://acsiproject.eu<br />Many-to-Many:Interaction in Artifact-Choreographies<br />

×