Workflow / Process Languages

wispxylopolistInternet and Web Development

Aug 7, 2012 (5 years and 3 months ago)

660 views

Software and
Systems

Engineering
Seminar

Winter 2011

Domain
-
specific languages in model
-
driven
software
engineering

1

Speaker: Valentin ROBERT


Research

work



Industry

use



Tools and standards
evaluations



DSL point of
view

2

3


Business process:


“a
set of logically
-
related tasks

performed to
achieve a
defined
business
outcome” (Davenport
et al. [1])


Workflow process:


Synonym

of business
process
?


Administrative business
process
?


Subset of business processes?


“case
-
based”, “make
-
to
-
order” (
Reijer

[2])

4


Identify

generic
,
recurring

business
process

modelling

patterns



Unify

existing

patterns and focus on
their

expressive power



Language
-
independent

formalism

(Coloured
Petri
-
Net)

5


Formal

description of a (business)
process



Executable

by a
workflow

management
system



In practice:
directed

bipartite graph of
tasks

and transitions

6


Healthcare
/Pharmaceuticals


Prescriptions
fulfillment
, administrative
tasks
, …


Finance/
Banking
/
Accounting


Error
-
free
accounting


Risk

management


Government
/Public Services/
Human

Resource


Multi
-
level

approval

processes


Lifecycle

of
recruiting

(prospect
intake
, interview,
offer
)


Manufacturing


Six Sigma
method


IT


Help Desk




7

8


1999:
Foundation

of the
Workflow

Pattern Initiative


Profesor

Wil van der Aalst (Eindhoven
University

of
Technology
)


Profesor

Arthur ter
Hofstede

(Queensland
University

of
Technology
)



20 first control
-
flow patterns


V
an
D
er Aalst et al. [3]



Revision

of the 20 first + 23 new control
-
flow
patterns


Russell et al. [4]

9


Control
-
flow patterns


Describes

complex

workflows

(
sequence
,
parallel
,
multi
-
threading
,
mutual

exclusion, division and
merging
,
synchronization
, …)


Data patterns


Adds

data manipulation,
internal
/
external

data interaction, data
transfer

and transformation, data
-
based

routing


Resource patterns


Tasks

creation

and allocation
schemes
,
detours

of a
resource

in the
middle of a
task

execution
, and
others



Exception
handling

patterns


Work

Item
Failure
, Deadline
Expiry
, Resource
Unavailability
,
External

Trigger,
Constraint

Violation

10

11

van
d
er Aalst et al. [3]

Diagram
-
based

DSL


Control
-
flow


Basic


Sequence
,
Parallel
,
Synchronization
, Exclusive
Choice
, Simple
Merge


Advanced
branching
/
synchronization


Multi
-
choice
, Multi
-
merge
, Threads,
Discriminators
, Partial
Joins


Multiple
instantiation

of
activities

on triggers


State
-
based


Deferred

Choice
,
Interleaved

Routing
,
Milestone
,
Critical

Sections


Cancellation
, Force
Completion
,
Iteration
,
Termination
, Triggers


12


Resource


Task

creation


Direct,
role
-
based
,
deferred
,
capability
-
based
,
history
-
based
,



«

Push

»
task

distribution


By
offer
,
random
,

round
-
robin,
shortest

queue, …


«

Pull

»
task

distribution


Detour


Delegation
,
escalation
,
deallocation
,
stateful
/
stateless

reallocation
, suspension,
resumption
, skip,
redo
,
pre
-
do


Auto
-
start




13


Data


Visibility


Task
, block, scope, multiple instance,
folder
,
workflow
,
environment


Interaction (
inside

components)


Task

to
task
, to multiple
tasks

(by
reference
, by value),
from

multiple
tasks


External

Interaction


From

environment
, to
environment


Transfer (
between

components)


By value, by
reference

(
locked
,
unlocked
)


Data
-
based

routing
/triggers


14


Exceptions


Work

Item
Failure


Deadline
Expiry


Resource
Unavailability


External

Trigger


Constraint

Violation

15

16

XPDL

(2.1
-

WfMC
)

BPMN

(1.2


BMI
DTF)

WS
-
BPEL

(2.0
-

OASIS)

BPMI?

(BMI DTF?)

XML
Process

Definition

Language

(2002)

Business
Process

Modelling

Notation
(2004)

Business
Process

Execution

Language

(2002)

Interface (
mapping
)
between

XPDL and
BPMN (????)

17

18

<Activities>


<
Activity Id="153189" Name="Start Event
">


<
Implementation
><No/></
Implementation
>



<Performer>Manager
</Performer
>



<
Priority
/>



<
Documentation
/>



<
TransitionRestrictions
>



<
TransitionRestriction
>



<
Join

Type="XOR
"/>



<
Split Type="XOR
">



<
TransitionRefs
><
TransitionRef

Id="153204"/></
TransitionRefs
>


</
Split
>



</
TransitionRestriction
>



</
TransitionRestrictions
>


<
NodeGraphicsInfos
>



<
NodeGraphicsInfo

LaneId
="1"
ToolId
="
Interstage

BPM

»



IsVisible
="
true
" Page="1
">



<
Coordinates

XCoordinate
="317.0"
YCoordinate
="83.0
"/>
[…]

XML file

Also

contains

meta
-
data

Swenson

[5]

19

Goal: exchange format for
models

of
workflow

products

<
process

xmlns
[…]>


<import
[…]/>


<
partnerLinks
>



<
partnerLink


name
="
printService
"





partnerLinkType
="
print:printLink
"





partnerRole
="
printService
"/>


</
partnerLinks
>


<variables>



<
variable

name
="
hello_world
"




messageType
="
print:PrintMessage
" />


</variables
>


<
assign
>



<copy>




<
from
><
literal
>Hello World</
literal
></
from
>




<to>$
hello_world.value
</to>



</copy>


</
assign
>


<
invoke

partnerLink
="
printService
"

operation
="
print
"




inputVariable
="
hello_world
"
/>

</
process
>

20

Programming

logic

-

BPEL

Data types
-

XSD

Input/Output
(I/O)
-

WSDL

Miguel [7]


Partner Links /
Endpoints


Identifies parties
you

interact

with



Variables


Data container (XSD value or WSDL message)



Assignments



Invocations


Invokes

a web
-
service
endpoint

21

22

STRENGHTS


Designed

to
be

flexible


Seems

to support
much

of
the
Workflow

Patterns


The new version
should

add

stricter

semantics

and
interoperability

(via a
standard
meta
-
model)

WEAKNESSES


Still

less

expressive
than

the
workflow

patterns
proposed

by
research

work


Some

ambiguous

semantics

(OR
-
join
)


Lacked

execution

semantics

(
added

in BPMN
2.0)

23

STRENGHTS


Current

mainstream

interchange

standard


Supports
human

workflows

WEAKNESSES


Not
designed

to
be

used

as
a
modeling

language


To
interoperate

BPMN 2.0,
XPDL
forked

in
two

versions:


2.2 tries to
cover

the
maximum
with

backwards

compatibility to XPDL 1.x


3.0
covers

new BPMN
constructs

but
loses

backwards

compatibility


24

STRENGHTS


Industry
-
accepted

standard for SOA (Oracle,
IBM, Microsoft, SAP, BEA,
Fuego, Lombardi, …)


Designed

for business
processes

interacting

using

web
-
services

WEAKNESSES


Does

not support
human

workflows

and user
interactions (in a standard
way
)


BPEL4People and WS
-
HumanTask

(
role
-
based

human

tasks
)
try

to
solve

this


Transformation
from
/to
BPMN
is

not
always

straightforward

25


Much
debate

around

their

unification


BPMN
is

more
businessperson
-
friendly

(
graphical
), BPEL
requires

more
knowledge

=>
which

approach

is

better

suited
?


Keeping

the
same

model
during

the
whole

process

(
modeling

+
execution
)
would

be

good,
but…



separating

them

allows

the model to
evolve

while

it

is

being

executed

with

no issue (hot
process

migration?).

26

27

Swenson

[7]

28

+ direct support


+/
-

partial support


-

lack

of support

Wohed

et
a
l. [8]

29

Wohed

et
a
l. [8]

30

Wohed

et
a
l. [8]

Tool

BPMN
support

XPDL
support

WS
-
BPEL
support

Commercial

Open

Source

Adobe
LiveCycle

X

X

X

X

Appian

Enterprise

X

X

X

X

Bonita

& Orchestra

X

X

X

X

Enhydra

Shark

X

X

X

X

Fujitsu
Interstage

BPM

X

X

X

X

Global 360 BOS

X

X

?

X

IBM
FileNet

BPM

X

X

X

X

Intalio

X

X

X

Oracle BEA

X

X

X

X

Lombardi
BluePrint

X

X

X

X

ProcessMaker

X

X

-

X

31


XPDL
implementations
: ADVANTYS
WorkflowGen
, Amazonas
Workflow
,
Arachnea

EverSuite
,
Appian

Enterprise,
Ascentn

AgilePoint

Server,
Aspose'sAspose.Workflow
,
Assetlink

Corporation,
BOC ADONIS, BEA
Systems
,
Brein

VB's

InProces
,
Bonita
,
ProEd

Workflow

Editor, Canto
CanFlow
,
CapeVisions
, CHALEX BPM Framework,
ComActivity
,
Cordys

BPMS, COSA Designer,
Cubetto

Toolset
,
Eclaire

Group
LynxFlow

Designer, EMC
Documentum

ApplicationXtender

Workflow
, EMC
Documentum

Process

Suite,
Enhydra

Shark,
Enhydra

JaWE
, First
Trace’s

Kinnosa

Workflow
,
FinantixStudio

FXS, Fujitsu
Interstage

BPM (i
-
Flow),
FileNet

Business
Process

Manager, Global 360
Business
Optimzation

Server (BOS), HOGA.PL'S
intraDok
, IBM
FileNet

Business
Process

Manager,
IDS
Scheer

Business Architect,
iGrafx
,
Interwoven

WorkRoute

MP,
Infinity

Process

Engine
,
Infor

(
formerly

SSA Global), ITP
-
Commerce Design,
jawFlow
,
Jenz

&
Partner's

BPEdit
, KAISHA
-
Tec's

ActiveModeler

Avantage,
Lombardi's

Blueprint
,
Metoda

S.p.A

OpenMet

BPMF, Mono
-
sys's

Tigris

BPM,
Nautica
, Open Business
Engine
,
OpenPages

Governance

Platform,
Openwork
, Oracle 9i
Warehouse

Builder
,
Pentaho's

B1 Platform,
Projekty

Bankowe

Polsoft's

BPB
Workflow
,
proLOGIT

BPR Business
Process

Reporter,
QualiWare
, R
-
Data's

E
-
SOD,
Rodan

Systems

OfficeObjects

Workflow
,
Savvion
,
Simprocess

from

CACI, Software
AG's

Crossvision

BPM,
SpeechCycle's

LevelOne

virtual

CSR
platform
, TIBCO
iProcess

Suite,
Together

Workflow

Editor,
Transware

Ambassador
, Unisys, Vignette
Process

Workflow

Modeler, W4's W4 BPM Suite,
WfMOpen
,
Workflow
::
Wfmc
,
Zynium's

Byzio


BPEL
engines
:
ActiveVOS
, Apache ODE, BizTalk Server,
iBolt

Server,
jBPM
, Open ESB, Oracle BPEL
Process

Manager, OW2 Orchestra,
Parasoft

BPEL Maestro,
Petals

BEPL
Engine
, SAP Exchange
Infrastructure,
Virtuoso

Universal

Server,
Websphere

Process

Server

32


Yet

Another

Workflow

Language


By the «

Workflow

Patterns

» team


YAWL vs. (WS
-
)BEPL


BPEL
is

an
industry

standard, YAWL has
only

one
implementation
.


Both

have
static

analysis

tools

(
based

on
Petri

nets,
Process

Algebra
,
Finite

State Machine).


YAWL
provides

support for
human

tasks
.


YAWL supports all
Workflow

Patterns. (BEPL 2.0
reduces

the gap)

33

34


Three

DSLs

maintained

by
three

organisms
,
with

three

goals (
sometimes

overlapping
)


Serialization

and
interoperability

issues


Expressiveness

issues (
vendors

extend

the
standards,
impossibility

of full
interoperability
)


Domain
Specific

Meta
-
Language

for
domain

concepts? (
Business
Process

Definition

Metamodel
, by the OMG)


Target issues (
businessperson
-
friendly

WYSIWYG
solutions vs. IT
savvy

flexibility
)

35

36

1.

Davenport, T.H
., Short J.E.:
The new industrial engineering: information technology

and business process
redesign. In:
Sloan Management Review
,
vol. 31
,
issue 4
,
p. 4 (1990)


2.

Reijers
,
H.: Design and Control of Workflow Processes: Business Process Management for the
Service
Industry.
Eindhoven University Press
Facilities, p. 15 (2002)


3.

van
der
Aalst, W. M. P., ter
Hofstede
,
A. H. M
.,
Kiepuszewski
,
B
.,
Barros
,
A. P
.:
Workflow

Patterns
. In:

Distrib
.
Parallel

Databases

vol. 14 issue 1, p. 37 (2003),
http
://
dx.doi.org/10.1023/A:1022883727209


4.

Russell, N., ter
Hofstede
,
A.H.M
., van
der Aalst
, W.M.P.,
Mulyar
, N.:

Workflow

Control
-
Flow
Patterns: A
Revised

View
. In:

BPM Center Report BPM
-
06
-
22
, BPMcenter.org,
(2006
)
,
http://wwwis.win.tue.nl/~
wvdaalst/BPMcenter/reports/2006/BPM
-
06
-
22.pdf



37

5.

Swenson
, K.: XPDL BPMN
Example

1.
XPDL.org

(2008),
http
://www.xpdl.org/nugen/p/xpdlbpmnexample1
/


6.

Miguel, A.: WS
-
BPEL 2.0 Tutorial.
Eclipse.org

(2005),
http
://
www.eclipse.org/tptp/platform/documents/design/choreography_html/tutorials/wsbpel_
tut.html


7.

Swenson
, K.: The BPMN
-
XPDL
-
BPEL value
chain
.
Collaborative Planning & Social Business

(2006),
http
://social
-
biz.org/2006/05/26/bpmn
-
xpdl
-
and
-
bpel/


8.

Wohed
, P., van der Aalst, W. M. P., Dumas, M., ter
Hofstede
, A. H. M., Russell, N.:
On
the
Suitability of BPMN for Business Process
Modelling
.

In:
Proceedings 4th International
Conference on Business Process
Management, pp. 167
, 171, 173

(2006)




38