A Model-Driven Approach to Implementing Coordination Protocols in BPEL

839 views

Published on

A first approach to transform coordination protocol graphs to WS-BPEL

Published in: Technology
  • Be the first to comment

  • Be the first to like this

A Model-Driven Approach to Implementing Coordination Protocols in BPEL

  1. 1. 1st International Workshop on Model-Driven Engineering for Business Process Management (MDE4BPM 2008) A Model-Driven Approach to Implementing Coordination Protocols in BPEL Oliver Kopp, Branimir Wetzstein, Ralph Mietzner, Stefan Pottinger, Dimka Karastoyanova, Frank Leymann Institute of Architecture of Application Systems kopp@iaas.uni-stuttgart.de
  2. 2. Agenda Background Coordination in a Web Service World Transaction Research Roadmap of the IAAS The Approach Conclusion and Outlook A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 2
  3. 3. Modeling Coordination Protocols © Oliver Kopp 3
  4. 4. Modeling Coordination Protocols – 1/4 Describe states and transitions of one participant A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 4
  5. 5. Modeling Coordination Protocols – 2/4 A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 5
  6. 6. Modeling Coordination Protocols – 3/4 A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 6
  7. 7. Modeling Coordination Protocols – 4/4: WS-BA Coordination Protocol Graph CPG A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 7
  8. 8. WS-Coordination Web Services Coordination (WS-Coordination) Version 1.1 One coordinator for many participants A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 8
  9. 9. Background © Oliver Kopp 9
  10. 10. Research at IAAS Aim: Describe any coordination protocol by BPEL Rania Khalaf’s protocol for split loops and scopes Supporting Business Process Fragmentation While Maintaining Operational Semantics: A BPEL Perspective, Dissertation, University of Stuttgart Auctions – e.g., multiple round sealed auction F. Leymann and S. Pottinger: Rethinking the Coordination Models of WS-Coordination and WS-CF, ECOWS’05 Mapping of OASIS-BTP and WS-CAF to WS-Coordination (Master’s Thesis) Replacement of BPEL’s WS-BA transaction behavior by arbitrary transaction behavior Externalization of BPEL’s transaction behavior S. Pottinger, R. Mietzner and F. Leymann: Coordinate BPEL Scopes and Processes by Extending the WS- Business Activity Framework, CoopIS 2007 A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 10
  11. 11. Why BPEL? BPEL is on a higher level than usual programming languages BPEL has native support for Concurrency Forward and backward recovery Fault handler to catch fault and do alternative action Phoenix behavior: If BPEL engine crashes, the state before the crash is restored Scalability BPEL is supported by the most important vendors IBM, Oracle, Microsoft, Sun, … A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 11
  12. 12. The Approach © Oliver Kopp 12
  13. 13. Overview • Domain-specific Language CPG (Coordination Protocol Graph) • Platform-Independent Model • Marking: WSDL names Abstract Abstract WSDL • Automatic generation from CPG Coordinator Participant Definitions • Abstract BPEL processes Process Process • WSDL interfaces for coordinator and Model Model participant process Executable Executable • Manual refinement from abstract BPEL Coordinator Participant processes Process Process • Replacing opaque tokens with Model Model concrete BPEL code A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 13
  14. 14. Participant © Oliver Kopp 14
  15. 15. Observations and Basic Idea Participant is in one state at a time BPEL supports graph-based programming A CPG is a graph Translate Graph Structure as Close as Possible to BPEL “Element Preservation Strategy” in J. Mendling, K.B. Lassen, and U. Zdun. On the Transformation of Control Flow between Block- Oriented and Graph-Oriented Process Modeling Languages. IJBPIM, 3(2), September 2008. No loops A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 15
  16. 16. WS-BA with Participant Completion A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 16
  17. 17. Implementation in BPEL A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 17
  18. 18. State Canceling A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 18
  19. 19. State Completed A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 19
  20. 20. State Active A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 20
  21. 21. State Active simplified A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 21
  22. 22. Coordinator © Oliver Kopp 22
  23. 23. Observations and Basic Idea Coordinator has to hold state for each participant Participant can register at any time Not specified how to end coordination Impossible to keep graph-structure Generate code for managing Activation Registration End of Coordination Use Event-Condition-Action idea A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 23
  24. 24. Activation and Registration Services A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 24
  25. 25. Overview of the Coordinator A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 25
  26. 26. Reaction to message “fail” If sending participant in state “Active” Set flag “failed” to true For all participants in state “Active” Send “Cancel” For all participants in state “Completed” Send “Compensate” Send “Failed” Else Fail came from Canceling or Compensating No action required A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 26
  27. 27. Conclusion © Oliver Kopp 27
  28. 28. Conclusion and Outlook MDA approach for WS-Coordination Generated BPEL Skeletons Participant easy to complete Coordinator less easy to complete Loops Jussi Vanhatalo, Hagen Völzer, Jana Koehler. The Refined Process Structure, BPM 2008 W. Zhao, R. Hauser, K. Bhattacharya, B. R. Bryant, F. Cao. Compiling business processes: untangling unstructured loops in irreducible flow graphs. International Journal of Web and Grid Services, 2006 Support of Coordinator Hierarchy Support of mixed protocols at a coordinator WS-BA and WS-AT A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 28

×