Non-desynchronizable  Service Choreographies Gero Decker 1 , Alistair Barros 2 ,  Frank Michael Kraft 3 , Niels Lohmann 4 ...
Agenda <ul><ul><li>Modeling service choreographies </li></ul></ul><ul><ul><li>Synchronous / asynchronous communication </l...
Service Choreographies <ul><ul><li>Inter-organizational integration requires interaction contracts </li></ul></ul><ul><ul>...
Modeling Choreographies Interconnection Modeling
Modeling Choreographies Interconnection Modeling incompatible loops definition of process instantiation incompatible branc...
Modeling Choreographies Interaction Modeling atomic interactions decision ownership global control flow dependencies compl...
Modeling Choreographies <ul><ul><li>BPMN, BPEL4Chor </li></ul></ul><ul><ul><li>Send and receive as separate steps (asynchr...
Modeling Choreographies
Modeling Choreographies Does this choreography make sense  in an asynchronous world?
Modeling Choreographies   Synchronous vs. Asynchronous <ul><ul><li>Assumes asynchronous communication </li></ul></ul><ul><...
Studying the Desynchronized Net Deadlock
<ul><ul><li>Desynchronized Net </li></ul></ul>Desynchronizability Observable behavior model (role Z) <ul><ul><li>Interacti...
Desynchronizability Location of conflict transitions <ul><ul><li>The interaction model  </li></ul></ul><ul><ul><ul><li>wea...
Tooling Desynchronizability in IPNs <ul><ul><li>http://oryx-editor.org   </li></ul></ul>
Tooling Desynchronizability in IPNs <ul><ul><li>http://oryx-editor.org   </li></ul></ul>
Tooling Desynchronizability in BPMN 2.0 <ul><ul><li>http://oryx-editor.org   </li></ul></ul>
Tooling Desynchronizability in BPMN 2.0 <ul><ul><li>http://oryx-editor.org   </li></ul></ul>
Resolution Strategies in Practice (1/2) <ul><ul><li>Not a solution: Removing the possibility of cancellation </li></ul></u...
Resolution Strategies in Practice (2/2) <ul><ul><li>Solution 2: Precedence with Decision </li></ul></ul><ul><ul><ul><li>Pr...
Summary & Outlook <ul><ul><li>Interaction modeling eases choreography modeling  (but hides the challenges of asynchronous ...
Questions? <ul><ul><li>Mail  [email_address] </li></ul></ul><ul><ul><li>Tool  http://oryx-editor.org </li></ul></ul><ul><u...
Upcoming SlideShare
Loading in …5
×

Desynchronizable Choreographies

1,739 views
1,570 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,739
On SlideShare
0
From Embeds
0
Number of Embeds
423
Actions
Shares
0
Downloads
26
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Desynchronizable Choreographies

  1. 1. Non-desynchronizable Service Choreographies Gero Decker 1 , Alistair Barros 2 , Frank Michael Kraft 3 , Niels Lohmann 4 1 Hasso-Plattner-Institute, Potsdam, Germany 2 SAP Research, Brisbane, Australia 3 SAP AG, Walldorf, Germany 4 University of Rostock, Germany
  2. 2. Agenda <ul><ul><li>Modeling service choreographies </li></ul></ul><ul><ul><li>Synchronous / asynchronous communication </li></ul></ul><ul><ul><li>Desynchronizability </li></ul></ul><ul><ul><li>Resolution strategies </li></ul></ul><ul><ul><li>Conclusion </li></ul></ul>
  3. 3. Service Choreographies <ul><ul><li>Inter-organizational integration requires interaction contracts </li></ul></ul><ul><ul><ul><li>Defined set of interactions </li></ul></ul></ul><ul><ul><ul><li>Defined document structures / message types </li></ul></ul></ul><ul><ul><ul><li>Defined interaction behavior: constraints and obligations </li></ul></ul></ul><ul><ul><li>Choreographies as behavioral specification for services </li></ul></ul><ul><ul><ul><li>Starting point for adapting existing services </li></ul></ul></ul><ul><ul><ul><li>Starting point for implementing new services </li></ul></ul></ul>
  4. 4. Modeling Choreographies Interconnection Modeling
  5. 5. Modeling Choreographies Interconnection Modeling incompatible loops definition of process instantiation incompatible branching structures incompatible sequence flow abstraction level = messages
  6. 6. Modeling Choreographies Interaction Modeling atomic interactions decision ownership global control flow dependencies complex interactions global loops process instantiation unspecified
  7. 7. Modeling Choreographies <ul><ul><li>BPMN, BPEL4Chor </li></ul></ul><ul><ul><li>Send and receive as separate steps (asynchronous) </li></ul></ul><ul><ul><li>Let’s Dance, WS-CDL </li></ul></ul><ul><ul><li>BPMN 2.0 </li></ul></ul><ul><ul><li>Send and receive in one step (synchronous) </li></ul></ul>Interconnection Models Interaction Models
  8. 8. Modeling Choreographies
  9. 9. Modeling Choreographies Does this choreography make sense in an asynchronous world?
  10. 10. Modeling Choreographies Synchronous vs. Asynchronous <ul><ul><li>Assumes asynchronous communication </li></ul></ul><ul><ul><li>Assumes synchronous communication </li></ul></ul>Desynchronized Net Interaction Petri net
  11. 11. Studying the Desynchronized Net Deadlock
  12. 12. <ul><ul><li>Desynchronized Net </li></ul></ul>Desynchronizability Observable behavior model (role Z) <ul><ul><li>Interaction Model </li></ul></ul>Observable behavior model (role A) … Role projection Role projection Interconnection <ul><ul><li>Has final markings </li></ul></ul><ul><ul><li>Must weakly terminate </li></ul></ul><ul><ul><li>Must be realizable </li></ul></ul><ul><ul><li>Final markings are generated </li></ul></ul><ul><ul><li>Check for weak termination </li></ul></ul>
  13. 13. Desynchronizability Location of conflict transitions <ul><ul><li>The interaction model </li></ul></ul><ul><ul><ul><li>weakly terminates and </li></ul></ul></ul><ul><ul><ul><li>is realizable </li></ul></ul></ul><ul><ul><li> There exist choreography instances that end in final markings </li></ul></ul><ul><ul><li> Those transitions can be identified that lead to a deadlock </li></ul></ul><ul><ul><ul><li>“ Conflict transitions” </li></ul></ul></ul>
  14. 14. Tooling Desynchronizability in IPNs <ul><ul><li>http://oryx-editor.org </li></ul></ul>
  15. 15. Tooling Desynchronizability in IPNs <ul><ul><li>http://oryx-editor.org </li></ul></ul>
  16. 16. Tooling Desynchronizability in BPMN 2.0 <ul><ul><li>http://oryx-editor.org </li></ul></ul>
  17. 17. Tooling Desynchronizability in BPMN 2.0 <ul><ul><li>http://oryx-editor.org </li></ul></ul>
  18. 18. Resolution Strategies in Practice (1/2) <ul><ul><li>Not a solution: Removing the possibility of cancellation </li></ul></ul><ul><ul><li>Solution 1: Precedence </li></ul></ul><ul><ul><ul><li>Agreement on precedence relationships at design-time </li></ul></ul></ul><ul><ul><ul><li>Assumption: the services will notice that conflicting messages are present </li></ul></ul></ul><ul><ul><ul><li>Predefined behavior upon conflicting messages </li></ul></ul></ul><ul><ul><ul><li>a. Singular Interaction Partner Precedence </li></ul></ul></ul><ul><ul><ul><li>b. Type-based Precedence between Multiple Interactions </li></ul></ul></ul><ul><ul><ul><li>c. Situation-based Precedence between Multiple Interactions </li></ul></ul></ul>
  19. 19. Resolution Strategies in Practice (2/2) <ul><ul><li>Solution 2: Precedence with Decision </li></ul></ul><ul><ul><ul><li>Precedence relationships define who has the right to decide on the outcome upon conflicting messages </li></ul></ul></ul><ul><ul><li>Solution 3: Allowing Individual Decisions </li></ul></ul><ul><ul><ul><li>Upon conflicting messages each service decides how to handle this and tells the other services about the decision </li></ul></ul></ul><ul><ul><ul><li>Main problem: contradicting decisions </li></ul></ul></ul><ul><ul><li>Solution 4: Negotiation of Outcome </li></ul></ul><ul><ul><ul><li>Upon conflicting messages the conversation is suspended and a negotiation phase starts </li></ul></ul></ul>
  20. 20. Summary & Outlook <ul><ul><li>Interaction modeling eases choreography modeling (but hides the challenges of asynchronous communication) </li></ul></ul><ul><ul><li>Desynchronizability checking detects and locates errors </li></ul></ul><ul><ul><li>Resolution strategies have business impact  must be chosen on a business level! </li></ul></ul><ul><ul><li>Future work </li></ul></ul><ul><ul><ul><li>Formalization of resolution strategies </li></ul></ul></ul><ul><ul><ul><li>Declarative integration of resolution strategies </li></ul></ul></ul>
  21. 21. Questions? <ul><ul><li>Mail [email_address] </li></ul></ul><ul><ul><li>Tool http://oryx-editor.org </li></ul></ul><ul><ul><li>Blog http://bpmn.info </li></ul></ul>

×