30
18/05/2015 1 Jonas Anseeuw, Gregory Van Seghbroeck, Bruno Volckaert, Filip De Turck BPMN Extensions for Decentralized Execution and Monitoring of Business Processes

BPMN Extensions for Decentralized Execution and Monitoring of Business Processes

Embed Size (px)

Citation preview

18/05/2015 1

Jonas Anseeuw, Gregory Van Seghbroeck, Bruno Volckaert, Filip De Turck

BPMN Extensions for

Decentralized Execution and

Monitoring of Business Processes

Business Process as a Service (BPaaS)

a novel cloud paradigm

BPaaS

SaaS

PaaS

IaaS

Extending SaaS with BPO

Example: simulation workflow

Outsourced process (SaaS)

On premise, in-house processes

Computational service

Outsourced service (SaaS)

Virtual Test

Process

Hiring

Process

Design data Product data Simulation data

Engineering

Teams

execute

results

On premise, in-house processes

Virtual

Test

Process

Design

Process

Design data Product data Simulation data

Engineering

Teams

execute

results

BPO

Workflow data

Computational

service

update

launch

update

launch

Workflow as a Service

Simulation

Workflow

BPO results in decentralized workflows

Business Workflow

Simulation Workflow Simulation Workflow

Company B Company C

Company A

Business process modeling languages

must be extended

to support decentralized workflows

Business Process Execution Language (BPEL)

Business Process Model and Notation (BPMN)

Web Service Choreography Description

Language (WS-CDL)

Extending BPMN 2.0

using its extensibility mechanism

Correlation & monitoring extensions

Extensions backwards compatible with current

specification

BPMN Extensions for Decentralized

Execution and Monitoring of Business

Processes

1. Choreography Development Cycle

2. Correlation extensions

3. Monitoring extensions

BPMN Extensions for Decentralized

Execution and Monitoring of Business

Processes

1. Choreography Development Cycle

2. Correlation extensions

3. Monitoring extensions

Choreography Development Cycle

Model

Choreography

Stub

Extraction

Validated

model

Public

Requirements

Model individual

process

Privaterequirements

Each partner

Partner’s

EPP

Execute

choreographyDeploy

ValidateChoreography

Validate

Choreography

Monitor

Choreography

Model Choreography (I)

1. Define choreography

+ Participants

Model

Choreography

Stub

Extraction

Validated

model

Public

Requirements

Model individual

process

Private

requirements

Each partner

Partner’s

EPP

Execute

choreographyDeploy

Validate

Choreography

Validate

Choreography

Monitor

Choreography

1. Define choreography

2. Extract Tasks/Message events

Model Choreography (II)

Model

Choreography

Stub

Extraction

Validated

model

Public

Requirements

Model individual

process

Private

requirements

Each partner

Partner’s

EPP

Execute

choreographyDeploy

Validate

Choreography

Validate

Choreography

Monitor

Choreography

Model Choreography (III)

1. Define choreography

2. Extract Tasks/Message events

3. Refine individual processes

+ Detailed data flow

+ Detailed message flow

Model

Choreography

Stub

Extraction

Validated

model

Public

Requirements

Model individual

process

Private

requirements

Each partner

Partner’s

EPP

Execute

choreographyDeploy

Validate

Choreography

Validate

Choreography

Monitor

Choreography

Model Choreography (IV)

1. Define choreography

2. Extract Tasks/Message events

3. Refine individual processes

4. Define conversations

Model

Choreography

Stub

Extraction

Validated

model

Public

Requirements

Model individual

process

Private

requirements

Each partner

Partner’s

EPP

Execute

choreographyDeploy

Validate

Choreography

Validate

Choreography

Monitor

Choreography

Model Choreography (V)

1. Define choreography

2. Extract Tasks/Message events

3. Refine individual processes

4. Define conversations

5. Define correlation

Model

Choreography

Stub

Extraction

Validated

model

Public

Requirements

Model individual

process

Private

requirements

Each partner

Partner’s

EPP

Execute

choreographyDeploy

Validate

Choreography

Validate

Choreography

Monitor

Choreography

extension

Model Choreography (VI)

1. Define choreography

2. Extract Tasks/Message events

3. Refine individual processes

4. Define conversations

5. Define correlation

6. Define monitoring

Model

Choreography

Stub

Extraction

Validated

model

Public

Requirements

Model individual

process

Private

requirements

Each partner

Partner’s

EPP

Execute

choreographyDeploy

Validate

Choreography

Validate

Choreography

Monitor

Choreography

extension

extension

Model Choreography (VII)

1. Define choreography

2. Extract Tasks/Message events

3. Refine individual processes

4. Define conversations

5. Define correlation

6. Define monitoring

7. Validate choreography

Model

Choreography

Stub

Extraction

Validated

model

Public

Requirements

Model individual

process

Private

requirements

Each partner

Partner’s

EPP

Execute

choreographyDeploy

Validate

Choreography

Validate

Choreography

Monitor

Choreography

extension

extension

BPMN Extensions for Decentralized

Execution and Monitoring of Business

Processes

1. Choreography Development Cycle

2. Correlation extensions

a. Extending BPMN

b. Semantical meaning

3. Monitoring extensions

BPMN versus WS-CDL

BPMN only has Conversations

= Grouping of Message Flows,

identified by CorrelationKeys

vs. WS-CDL

Thorough Correlation model: ChannelType

Identities: primary, alternate, derived, association

Extending BPMN to mimic WS-CDL

BPMN Conversation == WS-CDL ChannelType

Add Identity types to CorrelationKey

Identities: primary, alternate, derived, association

<collaboration><conversation>

<correlationKey type="primary"></conversation>

<collaboration>

Semantical meaning

Will result in more conversations

Loses readability

User interface will visualize correlation between

messages/conversations different

BPMN Extensions for Decentralized

Execution and Monitoring of Business

Processes

1. Choreography Development Cycle

2. Correlation extensions

3. Monitoring extensions

a. Monitoring model

b. Monitoring metadata

c. Describing monitoring declarations

d. Visualization

e. Implementation

BPMN has auditing and monitoring

placeholders

Actual definition is out of scope of the

specification

Auditing and monitoring tags can be set for all

FlowElements and Process

Monitoring model

Declarative model

Include in monitoring/auditing tag

servicetime between TaskA and TaskC?

log after TaskA?

Monitoring metadata

local_time

correlation_keys

process_id

task_id

data_context [optional]

Describing monitoring declarations

& visualization Single monitoring points

Monitoring ranges

Monitoring aggregates

Process instance

Process: range of process instances

System: range of processes

servicetime between TaskA and TaskC?

log after TaskA?

Implementation

BPMN Extensions for Decentralized

Execution and Monitoring of Business

Processes

1. Choreography Development Model

2. Correlation extensions

3. Monitoring extensions

Extending BPMN 2.0

using its extensibility mechanism

to support decentralized workflows

BPMN correlation extensions

can hold similar information as WS-CDL mechanism

BPMN monitoring

achieved by adding a wrapper around FlowElements

and Process

18/05/2015 30

Jonas Anseeuw

[email protected]

Thank you