chapter 15 the business process execution language

20
a university for the world real R W W L L L Y Y Y A A © 2009, www.yawlfoundation.org Y Y Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed

Upload: althea

Post on 24-Feb-2016

79 views

Category:

Documents


0 download

DESCRIPTION

Chapter 15 The Business Process Execution Language. Chun Ouyang Marlon Dumas Petia Wohed. Outline. Introduction Web Services Business Process Execution Language (BPEL) Overview of BPEL Through the YAWL prism The Order Fulfillment process in BPEL Workflow patterns support - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 15 The Business Process Execution Language

a university for the worldreal R

WW LLLYYY AA

© 2009, www.yawlfoundation.org YYY

Chapter 15The Business Process Execution

LanguageChun OuyangMarlon DumasPetia Wohed

Page 2: Chapter 15 The Business Process Execution Language

a university for the worldreal R

2WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

Outline• Introduction

– Web Services Business Process Execution Language (BPEL)

• Overview of BPEL– Through the YAWL prism– The Order Fulfillment process in BPEL

• Workflow patterns support– Original control-flow patterns– Pattern-based comparison: BPEL vs. YAWL

• Summary– Differences between BPEL and YAWL

Page 3: Chapter 15 The Business Process Execution Language

a university for the worldreal R

3WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

Introduction• Standardization efforts towards the definition of

languages for capturing business processes• BPEL is a language for defining executable business

processes• BPEL “competes” with YAWL?

– Different motivation and design leads to profound differences between them

– The intention is not to claim one outperforms the other, but to look into the differences between them

• Focus on differences between BPEL and YAWL in terms of modeling constructs

Page 4: Chapter 15 The Business Process Execution Language

a university for the worldreal R

4WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

Overview of BPEL• BPEL is used to specify business collaborations and to

implement them as composite Web services– Capture business logic and behavior of service interactions– Support service composition at executable level

• BPEL draws upon concepts and constructs from imper-ative programming languages, and extends them with those related to Web services and business processes

– Messaging: send, receive, send/receive– Concurrency: block-structured parallel execution, race

conditions, event-action rules– XML typing: XML Schema, WSDL, XPath, XSLT

• BPEL evolution– BPEL 1.1 and BPEL 2.0

Page 5: Chapter 15 The Business Process Execution Language

a university for the worldreal R

5WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL Process Definition• BPEL defines an executable process by specifying

– Activities and their execution order– Partners interacting with the process– Data necessary for and resulting from the execution– Messages exchanged between the partners– Fault handing in case of errors and exceptions

• Example: a simplified structure of a BPEL process

Page 6: Chapter 15 The Business Process Execution Language

a university for the worldreal R

6WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL Activities• Basic activities

– invoke: invoking operations offered by partner Web services – receive: waiting for messages from partner Web services– reply: for capturing interactions – wait: delaying the process execution– assign: updating variables– throw: signaling faults– rethrow: propogating the faults that are not solved– compensate: triggering a compensation handler– empty: doing nothing– exit: ending a process immediately

Page 7: Chapter 15 The Business Process Execution Language

a university for the worldreal R

7WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL Activities (cont’d)• Structured activities

– sequence: activities being executed sequentially – flow: activities being executed in parallel– if: capturing conditional routing– pick: capturing race conditions– while: structured looping

• Condition is evaluated at the beginning of each iteration

– repeatUntil: structured looping • Condition is evaluated at the end of each iteration

– forEach: executing multiple instancesof an activity with synchronisation

– scope: grouping activities into blocks• Fault handler• Event handler• Compensation handler

Page 8: Chapter 15 The Business Process Execution Language

a university for the worldreal R

8WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

Example: Order Fulfillment Process

In YAWL In BPEL

Page 9: Chapter 15 The Business Process Execution Language

a university for the worldreal R

9WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

Example (cont’d): Ordering Subprocess

Page 10: Chapter 15 The Business Process Execution Language

a university for the worldreal R

10WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

Example (cont’d): Carrier Appointment

Order preparation phase

Page 11: Chapter 15 The Business Process Execution Language

a university for the worldreal R

11WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL Control Links• BPEL activities are blocked-structured constructs• Control links allow the definition of directed acyclic

graphs of activities– Link one activity (X) to another activity (Y)– Join condition– Transition condition

• Restrictions of using control links– Not to form a loop– Not to cross the boundary of a loop– Etc.

Page 12: Chapter 15 The Business Process Execution Language

a university for the worldreal R

12WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

Workflow Patterns Support• Workflow patterns

– Control-flow patterns– 20 original control-flow patterns

• Comparison between BPEL and YAWL in terms of their support for control-flow patterns

– 20 original control-flow patterns are used

• YAWL supports 19 patterns• BPEL 2.0 supports 16 patterns

– BPEL 1.1 supports 13 patterns

Page 13: Chapter 15 The Business Process Execution Language

a university for the worldreal R

13WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL vs. YAWL: Basic Control Flow Patterns

Page 14: Chapter 15 The Business Process Execution Language

a university for the worldreal R

14WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL vs. YAWL: Advanced Branching & Synchronization Patterns

Page 15: Chapter 15 The Business Process Execution Language

a university for the worldreal R

15WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL vs. YAWL: Advanced Branching & Synchronization Patterns

Page 16: Chapter 15 The Business Process Execution Language

a university for the worldreal R

16WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL vs. YAWL: Multiple Instance (MI) Patterns

Page 17: Chapter 15 The Business Process Execution Language

a university for the worldreal R

17WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL vs. YAWL: State-based Patterns

Page 18: Chapter 15 The Business Process Execution Language

a university for the worldreal R

18WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL vs. YAWL: Iteration & Termination Patterns

Page 19: Chapter 15 The Business Process Execution Language

a university for the worldreal R

19WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

BPEL vs. YAWL: Cancellation Patterns

Page 20: Chapter 15 The Business Process Execution Language

a university for the worldreal R

20WW LLLYYY AA

YYYYY

© 2009, www.yawlfoundation.org

SummaryDifferences between BPEL and YAWL:• Nature of modeling constructs:

– block-structured vs. graph-oriented • Focus on capturing business processes:

– message exchange vs. interrelated tasks• Support for human tasks

– separate extensions vs. part of the core system • Formal semantics

– lack of formal semantics vs. sound mathematical foundation• Graphical notation

– lack of a standardised graphical notation vs. one unique graphical notation

• Tool Support– a number of tools developed by IT industry player vs. a single system

mainly developed by academia