28
Oliver Kopp, Branimir Wetzstein, Ralph Mietzner, Stefan Pottinger, Dimka Karastoyanova, Frank Leymann Institute of Architecture of Application Systems [email protected] A Model-Driven Approach to Implementing Coordination Protocols in BPEL 1st International Workshop on Model-Driven Engineering for Business Process Management (MDE4BPM 2008)

A Model-Driven Approach to Implementing Coordination Protocols in BPEL

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: 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

[email protected]

A Model-Driven Approach to ImplementingCoordination Protocols in BPEL

1st International Workshop on Model-Driven Engineeringfor Business Process Management (MDE4BPM 2008)

Page 2: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Agenda

BackgroundCoordination in a Web Service WorldTransaction Research Roadmap of the IAAS

The Approach

Conclusion and Outlook

Page 3: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

© Oliver Kopp 3

Modeling Coordination Protocols

Page 4: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Modeling Coordination Protocols – 1/4

4

Describe states and transitions of one participant

Page 5: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Modeling Coordination Protocols – 2/4

5

Page 6: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Modeling Coordination Protocols – 3/4

6

Page 7: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Modeling Coordination Protocols – 4/4: WS-BA

7

Coordination Protocol Graph

CPG

Page 8: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

WS-Coordination

Web Services Coordination (WS-Coordination) Version 1.1

One coordinator for many participants

8

Page 9: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

© Oliver Kopp 9

Background

Page 10: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Research at IAAS

Aim: Describe any coordination protocol by BPELRania Khalaf’s protocol for split loops and scopesSupporting Business Process Fragmentation While Maintaining Operational Semantics: A BPEL Perspective, Dissertation, University of StuttgartAuctions – e.g., multiple round sealed auctionF. Leymann and S. Pottinger: Rethinking the Coordination Models of WS-Coordination and WS-CF, ECOWS’05

Mapping of OASIS-BTP and WS-CAF toWS-Coordination (Master’s Thesis)

Replacement of BPEL’s WS-BA transaction behavior by arbitrary transaction behavior

Externalization of BPEL’s transaction behaviorS. Pottinger, R. Mietzner and F. Leymann:Coordinate BPEL Scopes and Processes by Extending the WS-Business Activity Framework, CoopIS 2007

10

Page 11: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Why BPEL?

BPEL is on a higher level than usual programming languagesBPEL has native support for

ConcurrencyForward and backward recovery

Fault handler to catch fault and do alternative actionPhoenix behavior: If BPEL engine crashes, the state before the crash is restored

ScalabilityBPEL is supported by the most important vendors

IBM, Oracle, Microsoft, Sun, …

11

Page 12: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

© Oliver Kopp 12

The Approach

Page 13: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Overview

13

CPG (Coordination Protocol Graph) • Domain-specific Language• Platform-Independent Model• Marking: WSDL names

Abstract Coordinator

Process Model

Abstract Participant Process Model

WSDL Definitions

ExecutableCoordinator

Process Model

ExecutableParticipant Process Model

• Automatic generation from CPG• Abstract BPEL processes• WSDL interfaces for coordinator and

participant process

• Manual refinement from abstract BPELprocesses

• Replacing opaque tokens withconcrete BPEL code

Page 14: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

© Oliver Kopp 14

Participant

Page 15: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Observations and Basic Idea

Participant is in one state at a timeBPEL supports graph-based programmingA CPG is a graph

Translate Graph Structure as Close as Possible to BPEL

“Element Preservation Strategy” inJ. 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

15

Page 16: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

WS-BA with Participant Completion

16

Page 17: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Implementation in BPEL

17

Page 18: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

State Canceling

18

Page 19: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

State Completed

19

Page 20: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

State Active

20

Page 21: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

State Active simplified

21

Page 22: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

© Oliver Kopp 22

Coordinator

Page 23: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Observations and Basic Idea

Coordinator has to hold state for each participantParticipant can register at any timeNot specified how to end coordination

Impossible to keep graph-structureGenerate code for managing

ActivationRegistrationEnd of Coordination

Use Event-Condition-Action idea

23

Page 24: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Activation and Registration Services

24

Page 25: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Overview of the Coordinator

25

Page 26: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Reaction to message “fail”

If sending participant in state “Active”Set flag “failed” to trueFor all participants in state “Active”

Send “Cancel”

For all participants in state “Completed”Send “Compensate”

Send “Failed”Else

Fail came from Canceling or CompensatingNo action required

26

Page 27: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

© Oliver Kopp 27

Conclusion

Page 28: A Model-Driven Approach to Implementing Coordination Protocols in BPEL

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

Conclusion and Outlook

MDA approach for WS-CoordinationGenerated BPEL SkeletonsParticipant easy to completeCoordinator less easy to complete

LoopsJussi Vanhatalo, Hagen Völzer, Jana Koehler. The Refined Process Structure, BPM 2008W. 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 HierarchySupport of mixed protocols at a coordinator

WS-BA and WS-AT28