48
www.s-cube-network.eu S-Cube Learning Package Runtime Process Migration: Flexible Execution of Distributed Business Processes University of Hamburg (UniHH) Kristof Hamann & Sonja Zaplata, UniHH

S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

www.s-cube-network.eu

S-Cube Learning Package

Runtime Process Migration:

Flexible Execution of Distributed Business Processes

University of Hamburg (UniHH)

Kristof Hamann & Sonja Zaplata, UniHH

Page 2: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 2

Learning Package Categorization

S-Cube

Models and Mechanisms for

Coordinated Service Compositions

Runtime Process Migration: Flexible Execution

of Distributed Business Processes

Service composition and coordination

Page 3: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 3

Learning Package Overview

Problem Description

Runtime Process Migration

Discussion

Conclusions

Page 4: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 4

Motivation (1)

Distributed business processes:

Increasing need for dynamism and flexibility

– E.g. cross-organisational business processes, outsourcing

– Distribution/decentralisation of resources

Employees, machines, services, … (e.g. WS-BPEL)

– Decentralisation of process execution

Autonomy of business partners, relevance of location, technological

differences, large data transfers, security policy, non-functional

aspects, …

book

flightbook

hotelpayment

Booking

Service 1

Booking

Service 2

Banking

Service

Page 5: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 5

Motivation (2)

Distributed business processes:

Increasing need for dynamism and flexibility

– Decentralisation of process execution (cont’d)

Since requirements may change even during execution, there is

a need for a flexible distribution of process execution

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

Page 6: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 6

Motivation (2)

Distributed business processes:

Increasing need for dynamism and flexibility

– Decentralisation of process execution (cont’d)

Since requirements may change even during execution, there is

a need for a flexible distribution of process execution

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

Legal office

Administration Consulting

company

Page 7: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 7

Motivation (2)

Distributed business processes:

Increasing need for dynamism and flexibility

– Decentralisation of process execution (cont’d)

Since requirements may change even during execution, there is

a need for a flexible distribution of process execution

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

Legal office

Administration

Mobile user

Consulting

company

Page 8: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 8

Learning Package Overview

Problem Description

Runtime Process Migration

Discussion

Conclusions

Page 9: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 9

Basic Idea of this S-Cube approach

Context-based Cooperation in Mobile Business Environments

Page 10: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 10

Background: Context-based Cooperation

Context-based Cooperation in Mobile Business Environments

– Resources are available only in specific situations on specific devices

– Process execution can profit from

a context-based cooperation:

• The running process instance is

migrated to another process engine

• Continuation of the execution on

the other engine

• Benefit of newly available resources

– Not only mobile environments exhibit dynamically available resources

Sonja Zaplata, Christian P. Kunze, Winfried Lamersdorf. Context-based Cooperation in Mobile

Business Environments: Managing the Distributed Execution of Mobile Processes. In: Business &

Information Systems Engineering (BISE), Volume 1, Number 4, pp. 301-314

Page 11: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 11

Goal and Requirements

Goal:

– Select most appropriate process

participant dynamically in

dependence of context such as

location, workload, variables, …

Requirements:

– Share and integrate available business process management systems

– Non-intrusiveness for business processes and support for ad-hoc

processes

– Security mechanisms in order to restrict access to private process parts

– User-defined guidelines for execution, monitoring and management

Page 12: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 12

Migration Metadata (1): Introduction

Challenge: How to migrate process instances?

– Current process modeling standards (e.g. WS-BPEL, BPMN) do not

define how to save process instance data such as the states of

activities, current values of variables, etc.

– However, this information is needed in order to migrate a running

process instance to another process engine

Solution: Migration metadata model

– Generic: suitable for current process modeling standards

– Lifecycle state models and

current variable values

– Selection of participants

– Security issues

(see next slides for details)

Process

Structured

Activity

Atomic

Activity

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

PolicyEncrypted Session Key

1

11

1

0,1

11

0,1

1

1 *

0,1

0,1

1

* *

1

1

1

1

0,1

1

1

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,11

loca

l va

ria

ble

glo

ba

l va

ria

ble

1

Log

1..n

Undefined Fixed Participant or Role Variable Algorithm QoS and Context

11

Page 13: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 13

Migration Metadata (2): Overview

Process

Structured

Activity

Atomic

Activity

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

PolicyEncrypted Session Key

1

11

1

0,1

11

0,1

1

1 *

0,1

0,1

1

* *

1

1

1

1

0,1

1

1

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,11

loca

l va

ria

ble

glo

ba

l va

ria

ble

1

Log

1..n

Undefined Fixed Participant or Role Variable Algorithm QoS and Context

11

Process

Structured

Activity

Atomic

Activity

Elements of the general

process meta model

Elements of the migration

data meta model

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

Policy

Fixed Participant or Role

Undefined

QoS and Context

Algorithm

Encrypted Session Key

inactive ready executing executed

finishedskipped expired inError

Activity Lifecycle State Model

Created Option Running Finished

Termin-

ated

InError

Trans-

ferringTermin-

ating

Migratable Process Lifecycle State Model

Deleted

Suspen-

ded

1

1

1

*

1

0,1

11

0,1

1

1 *

11

0,1

0,1

1

*

*

1

1

1

1

0,1

11

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,1

1

loca

l va

ria

ble

glo

ba

l va

ria

ble

1

Log

Variable

Data

Class

1

1

0,1

Page 14: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 14

Process

Structured

Activity

Atomic

Activity

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

PolicyEncrypted Session Key

1

11

1

0,1

11

0,1

1

1 *

0,1

0,1

1

* *

1

1

1

1

0,1

1

1

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,11

loca

l va

ria

ble

glo

ba

l va

ria

ble

1

Log

1..n

Undefined Fixed Participant or Role Variable Algorithm QoS and Context

11

Migration Metadata (3): Lifecycle Models

inactive ready executing executed

finishedskipped expired inError

Activity Lifecycle State Model

Created Option Running Finished

Termin-

ated

InError

Trans-

ferringTermin-

ating

Migratable Process Lifecycle State Model

Deleted

Suspen-

ded

• Each activity and the whole process have a state which is to be migrated

• Model based on the established lifecycle model

presented by Leymann and Roller

• New states for migration

Option (migration is possible), Transferring (process is currently migrated)

Frank Leymann, Dieter Roller:

Production Workflow: Concepts and

Techniques. PTR Prentice Hall, 2000

Page 15: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 15

Process

Structured

Activity

Atomic

Activity

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

PolicyEncrypted Session Key

1

11

1

0,1

11

0,1

1

1 *

0,1

0,1

1

* *

1

1

1

1

0,1

1

1

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,11

loca

l va

ria

ble

glo

ba

l va

ria

ble

1

Log

1..n

Undefined Fixed Participant or Role Variable Algorithm QoS and Context

11

Start activity: where to continue the process execution after migration

Variable – Current value: the current state of each process variable

Selection type: Which process engine should execute the activity/process?

– Fixed participant/role name

– Participant is referenced in variable

– Participant can be determined by a certain algorithm

– Participant will be selected according to its QoS and Context

Process

Structured

Activity

Atomic

Activity

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

PolicyEncrypted Session Key

1

11

1

0,1

11

0,1

1

1 *

0,1

0,1

1

* *

1

1

1

1

0,1

1

1

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,11

loca

l va

ria

ble

glo

ba

l va

ria

ble

1

Log

1..n

Undefined Fixed Participant or Role Variable Algorithm QoS and Context

11

Migration Metadata (4)

Process

Structured

Activity

Atomic

Activity

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

PolicyEncrypted Session Key

1

11

1

0,1

11

0,1

1

1 *

0,1

0,1

1

* *

1

1

1

1

0,1

1

1

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,11

loca

l va

ria

ble

glo

ba

l va

ria

ble

1

Log

1..n

Undefined Fixed Participant or Role Variable Algorithm QoS and Context

11

Process

Structured

Activity

Atomic

Activity

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

PolicyEncrypted Session Key

1

11

1

0,1

11

0,1

1

1 *

0,1

0,1

1

* *

1

1

1

1

0,1

1

1

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,11

loca

l va

ria

ble

glo

ba

l va

ria

ble

1

Log

1..n

Undefined Fixed Participant or Role Variable Algorithm QoS and Context

11

Page 16: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 16

Migration Metadata (5): Security Issues

Why? Private data must not be readable by everyone!

How? Encryption of critical parts with symmetric session keys (pk1 and pk2)

Security policy contains the session keys (pk1 and pk2), which are

encrypted with the public keys of authorized process engines

(one session key can be encrypted multiple times with different public keys)

Only legitimate receivers are able to read private data and execute critical

process parts

Integrity is ensured by a MAC

(Message Authentication Code)

Process

Structured

Activity

Atomic

Activity

Selection

Type

Current

Value

Variable

Name

Initial

Value

Process

State

Security

PolicyEncrypted Session Key

1

11

1

0,1

11

0,1

1

1 *

0,1

0,1

1

* *

1

1

1

1

0,1

1

1

StartActivity

1

1..n

Activity

State

1

1

ID

Activity

0,11

loca

l var

iabl

e

glo

bal v

aria

ble

1

Log

1..n

Undefined Fixed Participant or Role Variable Algorithm QoS and Context

11

Page 17: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 17

Methodology (1): Overview

Page 18: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 18

Methodology (2): Steps in Detail

1. Process modeling:

Traditional modeling in an arbitrary language

2. Generation of migration meta data:

Automatic generation of initial process/activity states

Manual configuration of user-defined guidelines

3. Deployment:

Deployment to a process engine, which supports migration

4. Instantiation:

The user is now able to start a new process instance and may define

additional requirements (migration metadata) for this process instance

5. Assignment and process execution:

Flexible execution on (multiple)

process engines using runtime

process migration

Page 19: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 19

Process variables (initial values):

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Example (Design Time)

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

1. Process modeling

Page 20: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 20

Process variables (initial values):

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Process variables (current values):

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Example (Design Time)

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

Process-Id: 1234567

Startactivity: buy software

ProcessState: created

inactive inactive inactive inactive inactive inactive

inactive inactive

inactive inactive

2. Generation of migration data (automatic)

Page 21: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 21

Process variables (initial values):

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Process variables (current values):

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Example (Design Time)

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

Process-Id: 1234567

Startactivity: buy software

ProcessState: created

inactive inactive inactive inactive inactive inactive

inactive inactive

inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXX

2. Generation of migration data (manual)

Page 22: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 22

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Example (Runtime)

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

Process-Id: 1234567

Startactivity: buy software

ProcessState: created

inactive inactive inactive inactive inactive inactive

inactive inactive

inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

4. Instantiation

Page 23: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 23

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Example (Runtime)

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive inactive inactive inactive inactive

inactive inactive

inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

executing

XY Consulting

Process-Id: 1234567

Startactivity: buy software

ProcessState: running

5. Assignment and process execution

Page 24: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 24

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Example (Runtime)

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive inactive inactive inactive inactive

inactive inactive

inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

XY Consulting

finished

Process-Id: 1234567

Startactivity: configure software

ProcessState: option

5. Assignment and process execution

Page 25: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 25

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Example (Runtime)

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive inactive inactive inactive

inactive inactive

inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Mobile user

executing

Process-Id: 1234567

Startactivity: configure software

ProcessState: running

5. Assignment and process execution

Page 26: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 26

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): -

Example (Runtime)

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive inactive inactive inactive

inactive inactive

inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Mobile user

executed

Process-Id: 1234567

Startactivity: test software

ProcessState: option

5. Assignment and process execution

Page 27: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 27

Example (Runtime)

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): true

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Mobile user

Process-Id: 1234567

Startactivity: accounting

ProcessState: option

finished finished

skipped skipped

skipped skipped

5. Assignment and process execution

Page 28: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 28

Example (Runtime)

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): true

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Process-Id: 1234567

Startactivity: accounting

ProcessState: option

Administration

finished finished

skipped skipped

skipped skipped

5. Assignment and process execution

Page 29: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 29

Example (Runtime)

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): true

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Administration

finished finished finished

Process-Id: 1234567

Startactivity: payment

ProcessState: option

skipped skipped

skipped skipped

5. Assignment and process execution

Page 30: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 30

Example (Runtime)

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): true

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Administration

finished finished finished executing

Process-Id: 1234567

Startactivity: payment

ProcessState: running

skipped skipped

skipped skipped

5. Assignment and process execution

Page 31: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 31

Example (Runtime)

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): true

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

finished

Administration

finished finished finished executing

Process-Id: 1234567

Startactivity: payment

ProcessState: running

skipped skipped

skipped skipped

5. Assignment and process execution

Page 32: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 32

Example (Runtime)

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): true

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Administration

finished finished finished executing

Process-Id: 1234567

Startactivity: payment

ProcessState: running

skipped skipped

skipped skipped

5. Assignment and process execution

Page 33: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 33

Example (Runtime)

XXXXXXXXXXXXXXXXXX

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): true

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

inactive

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Administration

finished finished finished finished

Process-Id: 1234567

Startactivity: write report

ProcessState: option

skipped skipped

skipped skipped

5. Assignment and process execution

Page 34: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 34

Example (Runtime)

XXXXXXXXXXXXXXXXXX

Process variables:

IBAN (String): "DE68 2105 0172 3456 78"

OK (BOOLEAN): true

buy

software

configure

software

test

software

receive

update

make

complaint

accoun-

tingpayment

consider

legal

action

assert

claim

X

X

ok

not

ok

ok

not

ok

write

report

ok

SelectionTypes:

buy software: Fixed Participant or Role: "XY Consulting"

payment: Fixed Participant or Role: "Administration"

Security policy:

IBAN: Administration: (session key 1) public key of "Administration"

Legal Office: (session key 1) public key of" Legal Office"

XXXXXXXXXXXXXXXXXXX

finished

Administration

finished finished finished finished finished

Process-Id: 1234567

Startactivity: -

ProcessState: finished

skipped skipped

skipped skipped

5. Assignment and process execution

Page 35: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 35

Ad-hoc management capabilities (1)

Process execution may leave initiator’s sphere of influence

– due to migration to another process engine

– but also due to subcontracting or fragmentation

Challenges

– Resources and execution systems are often selected dynamically

– Heterogeneous execution systems without standardized management

capabilities

– Cross-organizational monitoring and controlling can be applied in

advance, but miss instant monitoring and reaction capabilities

Solution

– process management system as a manageable resource

Page 36: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 36

Ad-hoc management capabilities (2)

Process management system as a manageable resource

Realized according to the Web Services Distributed

Management (WSDM) standard

process instance

process management system

information modification eventsmeta services

management interface

process model

instantiate

event

process history

terminate

context

intrinsic

context

extrinsic

context

deploy/undeploy

status

change

context change

Page 37: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 37

Ad-hoc management capabilities (3)

Interfaces

– Information: request status of processes

– Modification: manipulate the process execution

– Events: subscription to specific event types

– Meta services: information about management capabilities

Common models for processes

and process instances

process model

activity

transition

predefined

performer

data type

from to

1

1

1

*

*

*

* use

use

10..1

1 1

* *

1

**

*

model id1

1

data field

1

*condition

*

0..1

1

process instance

activity

transition

actual performer

from to

1

1

1

**

use

1

1

1 1

* *

**

*

instance id

1

1

status

history

1

1

1

data value

1

1

data type

1

*

1

*data field

status1

1

* usecondition

*

0..1

1

evaluation result

1

0..1

1

process instance

process management system

information modification eventsmeta services

management interface

process model

instantiate

event

process history

terminate

context

intrinsic

context

extrinsic

context

deploy/undeploy

status

change

context change

Page 38: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 38

Realizing Runtime Process Migration

Process engine needs to be extended in order to support

migration and/or ad-hoc management capabilities

Migration metadata model abstracts from concrete process

languages

Prototypical implementation done for two types of languages

– Graph-based: reference implementation for XPDL in DEMAC

– Block-structured: evaluation of WS-BPEL, realized in Sliver

Page 39: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 39

Background: DEMAC middleware platform

VirtualTransport

Transport Protocol

Adapter Adapter

Transport Protocol

Context Service

Applications

Process Service

Asynchronous Transport Service

Event Service

Transport Protocol Access Layer

Service Layer

Application Layer

Transport Layer

Christian P. Kunze. DEMAC: A Distributed Environment for Mobility-Aware Computing. In:

Adjunct Proceedings of the Third International Conference on Pervasive Computing (2005)

Sonja Zaplata, Christian P. Kunze, Winfried Lamersdorf. Context-based Cooperation in Mobile

Business Environments: Managing the Distributed Execution of Mobile Processes. In: Business

& Information Systems Engineering (BISE), Volume 1, Number 4, pp. 301-314

Middleware for mobile computing

Transport Service: abstracts from

concrete transport protocols,

spans an overlay network

Context Service: collects and

maintains all information about the

context of the device

Process Service: integrates process management

Page 40: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 40

Learning Package Overview

Problem Description

Runtime Process Migration

Discussion

Conclusions

Page 41: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 41

Existing Approaches

Current approaches for increasing dynamism and flexibility in

distributed business processes

Process fragmentation:

– Transformation of service granularity or

insertion of new services, e.g.

[Khalaf and Leymann, 2006],

[Baresi, Maurino and Modafferi, 2006].

– Development of choreography, e.g. CiAN

[Sen, Roman and Gill, 2008].

– Non-intrusive fragmentation, e.g.

[Martin, Wutke and Leymann, 2008]

Process migration:

– Introduced by [Cichocki and Rusinkiewicz, 1997].

– OSIRIS [Schuler, Weber, Schuldt and Schek,

2004].

– Pervasive and mobile applications, e.g. [Montagut

and Molva, 2005], [Kunze, Zaplata and

Lamersdorf, 2006].

– Dynamic partitioning, e.g.

[Atluri et al., 2007]

Page 42: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 42

Process Migration vs. Process Fragmentation Evaluation of XPDL

Tested XPDL elements Process migration Process fragmentation

Atomic activities activity possible possible

Structured activities activity set possible possible

branches (XOR) loops

branches (AND)

possible

possible

replication and synchronization required

possible (transfer of decision) coordination required

coordination and synchronization required

Other elements transaction (XPDL 2.0) for undo: to be avoided

for compensation: possible

coordination required

Dead path elimination - automatically coordination required

Privacy of process parts - artificial automatically

Splitting atomic activities - forbidden no known approach

Data replication - only for parallel execution (entire process)

always: data fields, data types, applications, participants

Design time distribution - possible (assign all activities in advance)

possible

Runtime distribution - during execution once after invocation

Page 43: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 43

Process Migration vs. Process Fragmentation Evaluation of WS-BPEL

Page 44: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 44

Advantages/Disadvantages

Runtime process migration as an

alternative to (physical) process

fragmentation

Benefits:

– More flexibility: advantageous in a

dynamic context

– Especially suited for dynamic non-

recurrent/ad-hoc process executions

Limitations:

– Limited flexibility for "receiving"

processes (e.g. messages, events)

Modification/development overhead

– Once for the process engine(s) or for

each process model/instance?

Fragmentation

Migration

Page 45: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 45

Learning Package Overview

Problem Description

Runtime Process Migration

Discussion

Conclusions

Page 46: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 46

Summary

There is an increasing need for dynamism and flexibility

in the distributed execution of business processes

The proposed approach tackles this challenge in providing a

methodology, mechanisms and models for the migration of

process instances at runtime

– Generic migration metadata model

– Consideration of security aspects

– Ad-hoc management capabilities

Evaluation for XPDL and WS-BPEL

– No change of existing process models required

– Process migration shows more flexibility than process fragmentation

– Especially advantageous in a dynamic context

Page 47: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 47

Further S-Cube Reading

Sonja Zaplata, Christian P. Kunze, Winfried Lamersdorf. Context-based Cooperation in Mobile

Business Environments: Managing the Distributed Execution of Mobile Processes. In: Business &

Information Systems Engineering (BISE), Volume 1, Number 4, pp. 301-314

Sonja Zaplata, Kristian Kottke, Matthias Meiners, Winfried Lamersdorf. Towards Runtime

Migration of WS-BPEL Processes. In: Service-Oriented Computing. ICSOC/ServiceWave 2009

Workshops (2010)

Sonja Zaplata, Kristof Hamann, Kristian Kottke, Winfried Lamersdorf. Flexible Execution of

Distributed Business Processes based on Process Instance Migration. In: Journal of Systems

Integration (JSI), Volume 1, Number 3, pp. 3-16 (2010)

Sonja Zaplata, Winfried Lamersdorf. Towards Mobile Process as a Service. In: Proceedings of

the 2010 ACM Symposium on Applied Computing (2010)

Sonja Zaplata, Daniel Straßenburg, Benjamin Wunderlich, Dirk Bade, Kristof Hamann, Winfried

Lamersdorf. Ad-hoc Management Capabilities for Distributed Business Processes. In: 3rd

International Conference on Business Process and Services Computing (2010)

Page 48: S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

© UniHH, S-Cube – 48

Acknowledgements

The research leading to these results has

received funding from the European

Community’s Seventh Framework

Programme [FP7/2007-2013] under grant

agreement 215483 (S-Cube).