© 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter...

74
© 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM ([email protected] )
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter...

Page 1: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Business Process ManagementIndustry StandardsJena, June 2011

Dieter König, IBM ([email protected])

Page 2: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPM Industry Standards – Introduction

Business Process Execution Language (BPEL)

BPEL Extensions (BPEL4People, BPEL-SPE, BPELJ)

Service Component Architecture (SCA)

Business Process Model and Notation (BPMN)

BPMN mapping to BPEL

Business Process Management – Industry Standards

Page 3: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Brief History of Workflow Technology (no scientific rigor intended)

5

Document Routing/Case Processing

People Facing

1985

1990

2000

1995

2005

2010

BPR

Production WF

WF Automation

Transactional WF

WF-based Apps

WF Standardization Begins

Web Service Composition

WF use in EAI

Graphical Modeling

WF in eScience

Office Automation, Forms Processing,…

Mega Programming

Modeling/Execution Convergence

BPM as a Service

Page 4: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Workflow Language Genealogy

6

FDL

FDML W/XPDL

WSFL

BPEL

XLANG

BPML WSCI BPSS

WS-CDL

(IBM)

(IBM)

(IBM)

(Microsoft)

(WfMC) (bpmi.org) (SUN, SAP,Oracle)

(OASISebXML)

(W3C)

(IBM, Microsoft, BEA OASIS)

BPELJ

YAWLGSFL …

(Research Groups)

?…?BPEL4People BPEL-SPE

GPEL

BPMN 1.x(OMG)

Pi-Calculus++(Microsoft)

BPEL4Chor

-Calculus

PM-Graphs

Petri-Nets

BPMN 2.0(OMG)

BPELBPMN

Page 5: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

The WfMC Reference Model

Business Modeling

Workflow Enactment Engine

Administration,Auditing

Workflow Enactment Engine

WorklistApplication

WorklistProcessor

ApplicationInvocation

Application

Page 6: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SOA-View on the WfMC Reference Model

8

Process Modeling Tool

ProcessEngine

ManagementTool

ProcessEngine 2

Task ListClient

Task Manager Service Bus

Service

Conceptual Process Model

Logical Process Model

Page 7: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPM Industry Standards – Introduction

Business Process Execution Language (BPEL)

BPEL Extensions (BPEL4People, BPEL-SPE, BPELJ)

Service Component Architecture (SCA)

Business Process Model and Notation (BPMN)

BPMN mapping to BPEL

Business Process Management – Industry Standards

Page 8: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPEL Objectives

Standard language for expressing business processes– Leverage a common skill set and language

Integrated into the Web services stack– Expressed entirely in XML– Uses and extends WSDL 1.1– Uses XML Schema 1.0 for the data model

Portable across platform and vendor– Will run on any WS-BPEL-compliant engine

Interoperable– Layering on top of Web services stack

Page 9: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPEL in SOA – Abstract View

WS-BPEL describes in an SOA how your company performs its business processes– With WS-BPEL, it is straightforward to let your business partners and customers directly

participate in your business processes– With WS-BPEL, it is straightforward to tie in Web services as activities of your business

processes

WS-BPEL is a Recursive Aggregation Model for Web Services– Aggregation: a set of Web services can be tied into one or more new Web service by

means of a business process model – Recursive: these new Web services can again be tied into other new Web services

Page 10: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPEL Process Usage Patterns

Executable processes– Contain the partner’s business logic behind an external protocol

Abstract processes– Define the publicly visible behavior of some or all of the services an executable process

offers – Define a process template embodying domain-specific best practices

Page 11: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

WS-BPEL Language Constructs

WS-BPEL process definition

Recursive composition and partner links

Variables

Variable properties

Correlation sets

Basic and structured activities

Scopes

Compensation handling

Page 12: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Process Definition

process

imports

Declare dependencies on external XML Schema or WSDL definitions extensions

Declare namespaces of WS-BPEL extension

attributes and elements

variablesData holding state of a business process or exchanged with partners

partnerlinks

Relationships that a WS-BPEL process will employ in its behavior

correlationsets

Application data fields that together identify a

conversation

messageexchanges

Relationship between inbound and outbound

message activities

eventhandlers

Concurrently process inbound messages or timer alarms

faulthandlers

Deal with exceptional situations in a process

primaryactivity

Perform the process logic – any number of activities may be recursively nested

XMLschemas

WSDLdefinitions

Page 13: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

process

partnerlink

Partner Links

WSDLport type

myRole

Provided port type

WSDLport type

partnerRole

Required port type

receive

Inbound request – service provided by the process

invoke

Outbound request – service required by the process

partner link type

Peer-to-peer conversational partner relationship

Page 14: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Variables

process

assign

xsl:transform

receive

request

response

invoke

request

reply

response

42

WSDLmessage

WSDLmessage

WSDLmessages

Variables defined using WSDL messages

42XMLschemas

XML Schemaelements / types

Variables defined using XML schema elements or types

Page 15: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Properties and Correlation Sets

How to identify stateful instances via stateless WS interfaces?

A process instance is assigned one or more keys– Business data is used as key, e.g., customerID– A key can be compound, e.g., (customerID, orderNumber)– WS-BPEL calls a key a correlation set – it is used to correlate an incoming

message with a process instance

Process 4(0123,15)

Process 3(0815,42)

Process 2(4711,37)

Process 1(0815,12)

0815 42

Message 2

customerID

orderNumber

4711 37

Message 1

Page 16: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPEL Basic Activities

process

receive reply

invokeInvoke a one-way or request-response operation

Do a blocking wait for a matching message to arrive / send a message in reply

validate

assignUpdate the values of variables or partner links with new data

Validate XML data stored in variables

throw

rethrow

Generate a fault from inside the business process

Forward a fault from inside a fault handler

exit

Immediately terminate execution of a business

process instance

compensate

compensateScope

Invoke compensation on all completed child scopes

in default order

Invoke compensation on one completed child scope

waitWait for a given time

period or until a certain time has passed

empty No-op instruction fora business process

extensionActivityWrapper for language

extensions

Page 17: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPEL Structured Activities

process

flowContained activities are executed in parallel, partially ordered through control links

sequenceContained activities are performed sequentially in lexical order

whileContained activity is repeated while a predicate holds

repeatUntilContained activity is repeated until a predicate holds

pick Block and wait for a suitable message to arrive

(or time out)

forEach Contained activity is performed sequentially or in parallel, controlled by a specified counter variable

if-elseif-else Select exactly one branch of activity from a set of

choices

scope Associate contained activity with its own local variables,

partner links, etc., and handlers

2. N.1. …

B C

A

c

c

c1 c2

2. N.1. …

… AM2M1

Page 18: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Scopes

process

scope

scope

scope

scopescope

scope

scope

Scopes provide a context which influences the execution behavior of its enclosed activities

Isolated scopes provide control of concurrent access to shared resources

scope

Local declarations – partner links, message exchanges, variables, correlation sets

Local handlers – event handlers, fault handlers, a termination handler, and a compensation handler

Compensation handler to undo persisted effects of

already completed activities

Termination handler to deal with forced scope termination

(external faults)

primary activity

scope

Page 19: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Compensation Handling

process

scope

invoke

invoke

invoke

faulthandler

compensatecompensation

handler

compensate

compensationhandler

compensationhandler

invoke

invoke

1. Do some work (successfully invoke two services)

2. Invoke another service (throws fault)

3. The fault triggersthe process-levelfault handler

4. Compensateprevious work

5. Propagatecompensation

6. Undo work(in reverse order)

Page 20: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation22

The Key Aspects of BPEL

Combination of two modeling paradigms

Avoided split of WF product market/industries

The runtime standard

Well defined syntax & operational semantics

(Certain degree of) portability across vendors

(High degree of) tool portability

Portability of skills

Page 21: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPM Industry Standards – Introduction

Business Process Execution Language (BPEL)

BPEL Extensions (BPEL4People, BPEL-SPE, BPELJ)

Service Component Architecture (SCA)

Business Process Model and Notation (BPMN)

BPMN mapping to BPEL

Business Process Management – Industry Standards

Page 22: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPEL4People & WS-HumanTask – Objectives

Integration of human-executed activities in Web services-based business processes

Integration of human-executed activities in SOA-based applications

Standard-based solution to support interoperability and portability scenarios

Page 23: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPEL4People Approach

BPEL4People– Definition of human interactions within WS-BPEL processes– Specification built on top of WS-BPEL 2.0

WS-HumanTask– Definition of service-enabled human tasks and notifications– Coordination protocol used to control autonomy and life cycle of service-enabled human

tasks in an interoperable manner– Interoperable programming interface enabling task client applications to work with

human tasks

Page 24: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Human Task

Translation Process

receive document

automatictranslation

reply translation

manualtranslation

Web ServiceEndpoint

AbstractOrganizationalGroup

Page 25: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

People Resolution

Deployment Descriptor

Deployment Descriptor

brochure creation process

create

approve

revise

"authors"

"approvers"

DepartmentsDepartment1

Member1Member2...

Department2...

UsersGroup1

Member1Member2...

Group2...

RolesRole1

Member1Member2...

Role2...

Select staffWherequalification="tech writer"

Select staffWhereresponsibility="marketing"

Org Database

Page 26: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPEL4People & WS-HumanTask – Benefits

BPEL4People– Enable unified design tools for automated Web services-based business processes and

human-centric processes– Enable unified monitoring environments for automated Web services-based business

processes and human-centric processes– Interoperate and integrate with BPEL4People-aware environments

WS-HumanTask– Leverage UI technology that can consume and execute tasks from different task engines– Build and leverage vendor neutral task-aware applications– Interoperate and exchange work with other WS-HumanTask-aware environments

Page 27: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

WS-BPEL 2.0 Extension for Sub-Processes

Designing complex and large business processes requires a language that supports modularization and re-use, in a portable, interoperable way

Business processes need to invoke other business processes– Within the same process– Within the same infrastructure– Across infrastructures

Overall managed business process lifecycle– Across all involved sub-processes

BPEL today cannot do that

Page 28: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Sub-Process Types

Inline– Sub-process defined within same document as parent process

• New <subprocesses> element as container for inline sub-processes– Sub-process may access content of parent process

Local– Sub-process defined as standalone process but managed by same engine that manages

the parent process• Sub-processes can be called by name because it is known in the environment• Lifecycle of sub-process can be managed proprietarily

Remote– Sub-process and parent process are managed by separate engines (of possibly different

vendors)• Interoperability requires protocol to couple lifecycle of parent process and sub-

process

Page 29: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPELJ – WS-BPEL 2.0 Extension for Java

Add Java support to WS-BPEL 2.0 using the well-defined extension points of WS-BPEL 2.0

Standardize the proprietary Java capabilities most Java-based BPEL implementations have today

Provide Portability of BPEL processes that use Java across vendors

Page 30: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPELJ – Benefits

Portability between Java-based BPEL processes from different vendors

Enable Java and BPEL to cooperate by allowing sections of inline Java code to be included in BPEL process definitions, such as

– Loop conditions – Branching conditions – Variable initialization – Web service message preparation – Logic of business functions

Make it possible to use BPEL for orchestrating long-running interactions with Java components

Combine BPEL with Java transaction capabilities (JTA) (Atomic Scopes and Atomic Processes)

Page 31: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPM Industry Standards – Introduction

Business Process Execution Language (BPEL)

BPEL Extensions (BPEL4People, BPEL-SPE, BPELJ)

Service Component Architecture (SCA)

Business Process Model and Notation (BPMN)

BPMN mapping to BPEL

Business Process Management – Industry Standards

Page 32: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Technical Committees

Open CSA Member Section– Coordination between TCs

Technical Committees– SCA Assembly TC– SCA Bindings TC– SCA Policy TC– SCA J TC– SCA C-C++ TC– SCA BPEL TC

Page 33: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Assembly Model

Warehouse Service

WarehouseComposite

WarehouseBroker

Component

WarehouseComponent

Order Processing

Service

OrderProcessingComponent

Shipping Reference

External Warehouse

Reference

PaymentsComponent

PaymentService

AccountsCompositeExternalBanking

Reference

AccountsLedger

ComponentBPEL

Java EE

C++

SOAP/HTTP

JMS

RMI/IIOP

Mixed:- technologies- app locations

Multi-levelcomposition

Page 34: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Assembly – Component

Implementation - Java - WS-BPEL - Composite - …

Properties

Services

References

Page 35: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Assembly – Composite

Binding- Web Service- SCA- JCA- JMS- SLSB- …

Service- Java interface- WSDL PortType

Wire WireWire

ComponentA

ComponentB

Propertysetting Reference

- Java interface- WSDL PortType

Binding- Web Service- SCA- JCA- JMS- SLSB- …

Page 36: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Assembly – Deployment

Service

Composite X Composite Z

ImplementationImplementation

Wire

SCA Domain

Reference

Composite Y

ComponentB

ComponentA

WireWire

Composite AComposite B

… …

Page 37: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Bindings

Binding specifications– Web services, JMS, JCA– Potential additional binding specifications

• HTTP with REST and other patterns• FTP, SMTP, others

Composite

Hire

Security

Payroll

Web service binding

JCA binding

JMS binding

EIS

Messaging System

Page 38: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Policy-Framework

Intents – Abstract QoS requirements– Intents for security, reliability and transactionality– SCA Implementations can define other intents

Policy sets – Map intents to policies

Usage of intents and policy sets– Interaction policies– Implementation policies

Page 39: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Java

Component implementation types– Java POJOs (implementation.java)– Spring Beans (implementation.spring)– EJB (implementation.ejb)

Common annotations and API– Metadata service contracts based on Java interfaces– Metadata component type information– Metadata container-component implementation contract– Asynchronous interactions and callbacks– APIs (few) for accessing assembly information

Page 40: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Java Component

@Remotable public interface AccountService{

public AccountReport getAccountReport( String customerID );

}

public class AccountServiceImpl implements AccountService {

@Property private String currency = "USD";

@Reference private AccountUpgradeService accountUpgradeService; @Reference private StockQuoteService stockQuoteService; public AccountReport getAccountReport( String customerID ) { ... } ...}

Page 41: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA C / C++

Component implementation types– C++ classes (implementation.cpp)– Set of C functions (implementation.c)

Annotations and API– Metadata service contracts– Metadata component type information– Metadata container-component implementation contract– Asynchronous interactions and callbacks– APIs (few) for accessing assembly information

Page 42: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA BPEL

Component implementation type– WS-BPEL 2.0 business process (implementation.bpel)– Optionally support BPEL4WS 1.1 processes

Use cases– Use any valid WS-BPEL 2.0 process definition as the implementation of a component

within SCA– Use WS-BPEL to implement any SCA Component Type that uses only WSDL interfaces

to define services and references• Optionally use SCA specific extensions within the process definition

– Create a WS-BPEL process definition that uses SCA extensions and generate an SCA Component Type and use that type within an SCA assembly

Page 43: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA BPEL Component

Implementation - Java - WS-BPEL - Composite - …

WS-BPEL Process

Services

References

Properties

… …

Page 44: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

wire

wire

SCA Services and References

WS-BPEL Process

flow

Service

A Reference

B

partnerLink A(myRole)

partnerLink B(partnerRole)

invoke

reply

receive

wire wire

Service

AReference

B

Mapping between SCA service and myRole side of a BPEL partner link

Mapping between SCA reference and partnerRole

side of a BPEL partner link

Page 45: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

SCA Properties

WS-BPEL Process

flow

propertycurrency

variablecurrency

sca:property="yes"

. . .

. . .

Mapping between SCA property and a BPEL

variable defined with the same name and type

Page 46: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Complementary Technologies

Similarities between SCA and WS-BPEL– Formal language based on XML– Describe a business service implemented by composing together other business

services – Describe service interactions types by WSDL port types

SCA describes the structure of an application – Components within the business application– Services offered by components – Service references components depend on– Connections between components– Endpoint addresses and communication methods– Policies applied to components and to the connections between them

WS-BPEL describes the logic of a business process– Sequences of operations which are performed to execute an individual business process– Services provided and consumed through partnerLinks – abstract interfaces which must

be connected to actual endpoints and communication methods through configuration

Page 47: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPM Industry Standards – Introduction

Business Process Execution Language (BPEL)

BPEL Extensions (BPEL4People, BPEL-SPE, BPELJ)

Service Component Architecture (SCA)

Business Process Model and Notation (BPMN)

BPMN mapping to BPEL

Business Process Management – Industry Standards

Page 48: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation50

BPMN 1.x Filled a Gap

BPEL focused on language syntax and operational semantics– It sacrificed time-to-market and ignored visual representations by will– When looking back this was a BIG mistake!– BPEL turned out to be too difficult for mere mortals

BPMN 1.x filled this gap– Non-IT experts could communicate about business processes– Big progress in BPM technology

Page 49: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Chasm between BPMN 1.x and BPEL

BPEL processes are modeled with their future execution in mind– This has not been often the case in the past for BPMN

But more and more, BPMN users wanted their processes to be executed– Wide-spread support of BPEL in workflow engines required to map BPMN to BPEL– But BPMN and BPEL metamodels are quite different– Thus, mapping is not straightforward, even complex

Problem: How to bridge this chasm?

51

Page 50: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Options to Bridge the Chasm

Standardize a visual representation for BPEL– Can be done as proven by the many graphical tools for BPEL

But BPMN contains a bunch of constructs without BPEL counterparts– Corresponding BPEL extensions are required– Very time consuming! (see BPEL4People…)– But users ask for a solution asap!– This was not practical

Thus, way chosen is to make (significant subset of) BPMN 2.0 more compatible with BPEL

52

Page 51: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Most Important Additions of BPMN 2.0

Clear operational semantics

“Native” XML exchange format

Event & exception handlers (BPEL compliant)

Choreography extensions

Pattern-based mapping to BPEL (subset of BPMN)

Effectively, BPMN 2.0 contains a significant subset isomorphic to BPEL Visual rendering of BPEL!

53

Page 52: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

The Price to Pay

Complexity of BPMN 2.0 has increased significantly!– Well, ensuring executability is always complex!

Only a subset of BPMN 2.0 can be mapped to BPEL in a straightforward manner– Possible to model BPMN processes that have no canonical representation in BPEL

Some features have no runtime environment yet– E.g. corresponding domain is out of scope of BPEL at all (see BPEL4Chor)– New middleware has to be developed

54

Page 53: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Resulting Viewpoints

Viewpoint 1:– Subset of BPMN 2.0 is isomorphic to BPEL– Canonically transformed to BPEL and can be executed in BPEL engines– Corresponding subset is a visual layer on top of BPEL

Viewpoint 2:– BPMN 2.0 is a process language with well-defined operational semantics imprinted by

BPEL– It is possible to build a BPMN 2.0 engine without the need to use a separate BPEL

engine

55

Page 54: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPM Lifecycle: Where BPMN Fits

56

Modeling

IT Refinement

Deployment

Execution

Monitoring

KPIs

Execution

New in 2.0!(but this is optional)

Analysis

Page 55: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

The BPM Modeling Space

Description/InsightContract

SimulationExecution

Multi-Party Interactions (Choreography)

Single-Party Behavior (Orchestration)

Executable process

Fully specified process with enough information for automatic execution(or simulation)

CollaborationConversationChoreography

Definition of externally observable behavior of an interaction

Abstract processPublic process

Definition of process, its activities and its interactions – may be incomplete / not sound

Page 56: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPMN 1.1

Description/InsightContract

SimulationExecution

Multi-Party Interactions (Choreography)

Single-Party Behavior (Orchestration)

Executable process

Fully specified process with enough information for automatic execution(or simulation)

CollaborationConversationChoreography

Definition of externally observable behavior of an interaction

Abstract processPublic process

Definition of process, its activities and its interactions – may be incomplete / not sound

+ Notation– Interchange– Semantics+ Available

Page 57: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

WS-BPEL 2.0

Description/InsightContract

SimulationExecution

Multi-Party Interactions (Choreography)

Single-Party Behavior (Orchestration)

Executable process

Fully specified process with enough information for automatic execution(or simulation)

CollaborationConversationChoreography

Definition of externally observable behavior of an interaction

Abstract processPublic process

Definition of process, its activities and its interactions – may be incomplete / not sound

– Notation+ Interchange+ Semantics+ Available

Page 58: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPMN 2.0

Description/InsightContract

SimulationExecution

Multi-Party Interactions (Choreography)

Single-Party Behavior (Orchestration)

Executable process

Fully specified process with enough information for automatic execution(or simulation)

CollaborationConversationChoreography

Definition of externally observable behavior of an interaction

Abstract processPublic process

Definition of process, its activities and its interactions – may be incomplete / not sound

+ Notation+ Interchange+ Semantics– Available

Page 59: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPMN 2.0 Conformance Classes

Process Modeling Conformance– Support modeling of processes and collaborations– Corresponds roughly to the BPMN 1.1 set of capabilities

Choreography Modeling Conformance– Support modeling of choreographies

Process Execution Conformance– Support execution of BPMN processes according to defined execution semantics

BPEL Process Execution Conformance– Support execution of BPMN processes by mapping to BPEL as per the defined BPMN-

BPEL mapping.

Page 60: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

All BPMN Graphical Artifacts

62

Multi-Instance

Loop

~Ad-hoc

Subprocess

Task

User Task

Business Rule Task

Manual Task

Service Task

Script TaskReceive Task Send Task

(Embedded) Subprocess

Call Task

General

Terminate Link

Fault Handler

Compensation Handler

Compensation Task

Error

Compensation

Multiple Handler

Multiple Handler

Multiple

Message Handler

Timeout Handler

Message

Message Handler

Timeout Handler

Timer

Transaction

Call Subprocess DatastoreData Object

Data Association

Input Output

Group Textannotation

Assocation

Communication Conversation

Conversation Link

Pa

rtic

ipan

t

Lane

Lane

Message FlowMessage

Choreography TaskChoreography Subprocess

Resource Model

ServiceModel

Sequence Flow Inclusive

Event

Complex

Exclusive Parallel

Data Model

Cancel

Escalation Handler

Escalation

Escalation Handler

Conditional Handler

Conditional Handler

Conditional

Signal Handler

Signal

Signal Handler

Activities

Gateways & Sequence Flow

Data

EventsEvent

Subprocesses

Artifacts

Collaboration

Choreography

Page 61: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Structure of a BPMN Process

Lanes

Activities– Structured – Atomic Tasks

Events– Inbound– Outbound

Ordering– Sequence Flow– Gateways–“Adornments”

Pro

cess

Org

Un

it2

Org

Un

it1

Page 62: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Choreography

Page 63: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Execution Semantics

Page 64: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation66

Soundness

A process is sound if and only if it has

– No deadlock(a join cannot get enough tokens)

– No lack of synchronization(an edge carries two or more tokens)

BPMN does not require processes to be sound

Lack of synchronization

Deadlock

Page 65: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPM Industry Standards – Introduction

Business Process Execution Language (BPEL)

BPEL Extensions (BPEL4People, BPEL-SPE, BPELJ)

Service Component Architecture (SCA)

Business Process Model and Notation (BPMN)

BPMN mapping to BPEL

Business Process Management – Industry Standards

Page 66: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation68

BPMN – Mapping to BPEL – Basic Principle

A (recursive) function [..] is specified that allows to map a subset of BPMN to BPEL

This map is specified by describing:– [t] for all elementary BPMN tasks t that can be mapped to BPEL– [e] for all elementary BPMN events e that can be mapped to BPEL– [s] for all BPMN structures s that have a straight-forward mapping to BPEL

This constructively defines the BPMN subset that can be mapped, as well as the associated map [..] itself

Page 67: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Mapping Tasks

69

<receive name="[Task-name]" createInstance="[instantiate? 'yes':'no']" partnerLink="[Task-serviceRef]" portType="[Task-operation-interface]" operation="[Task-operation]"></receive>

[ ] =Receive

Task

<invoke name="[Task-name]" partnerLink="[Task-serviceRef]" portType="[Task-operation-interface]" operation="[Task-operation]"></invoke>

[ ] =SendTask [ ] =

NoneTask

<empty name="[Task-name]"></empty>

Page 68: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Mapping Task Input / Output

70

Page 69: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Mapping Sequences

71

Page 70: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Mapping If-Then-Else

72

Page 71: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Mapping Parallel

73

Page 72: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Mapping Flow

74

Page 73: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

Mapping Subprocesses

75

Page 74: © 2011 IBM Corporation Business Process Management Industry Standards Jena, June 2011 Dieter König, IBM (dieterkoenig@de.ibm.com)dieterkoenig@de.ibm.com.

© 2011 IBM Corporation

BPM Industry Standards – Introduction

Business Process Execution Language (BPEL)

BPEL Extensions (BPEL4People, BPEL-SPE, BPELJ)

Service Component Architecture (SCA)

Business Process Model and Notation (BPMN)

BPMN mapping to BPEL

Business Process Management – Industry Standards