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
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
Modeling Coordination
                      Protocols



© Oliver Kopp                           3
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
Modeling Coordination Protocols – 2/4




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   5
Modeling Coordination Protocols – 3/4




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   6
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
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
Background




© Oliver Kopp                9
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
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
The Approach




© Oliver Kopp                  12
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
Participant




© Oliver Kopp                 14
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
WS-BA with Participant Completion




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   16
Implementation in BPEL




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   17
State Canceling




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   18
State Completed




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   19
State Active




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   20
State Active simplified




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   21
Coordinator




© Oliver Kopp                 22
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
Activation and Registration Services




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   24
Overview of the Coordinator




A Model-Driven Approach to Implementing Coordination Protocols in BPEL   presented by Oliver Kopp   25
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
Conclusion




© Oliver Kopp                27
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

A Model-Driven Approach to Implementing Coordination Protocols in BPEL

  • 1.
    1st International Workshopon 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.
    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.
    Modeling Coordination Protocols © Oliver Kopp 3
  • 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.
    Modeling Coordination Protocols– 2/4 A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 5
  • 6.
    Modeling Coordination Protocols– 3/4 A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 6
  • 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.
    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.
  • 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.
    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.
  • 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.
  • 15.
    Observations and BasicIdea 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.
    WS-BA with ParticipantCompletion A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 16
  • 17.
    Implementation in BPEL AModel-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 17
  • 18.
    State Canceling A Model-DrivenApproach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 18
  • 19.
    State Completed A Model-DrivenApproach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 19
  • 20.
    State Active A Model-DrivenApproach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 20
  • 21.
    State Active simplified AModel-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 21
  • 22.
  • 23.
    Observations and BasicIdea 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.
    Activation and RegistrationServices A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 24
  • 25.
    Overview of theCoordinator A Model-Driven Approach to Implementing Coordination Protocols in BPEL presented by Oliver Kopp 25
  • 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.
  • 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