Title: Rozwiazania w zakresie WorkFlow
1Rozwiazania w zakresie WorkFlow
- Tomasz Czwarno
- Tomasz (at) czwarno.pl
2Agenda
- WorkFlow Working Groups
- WorkFlow Standards and Languages
- Process Modelling Methodologies
- WorkFlow Patterns
- Formal Models
- SBA WorkFlow
3WorkFlow Working Groups
- WARIA - Workflow and Reengineering International
Association 1992, - WfMC - WorkFlow Management Coalition 1993
- OMG Object Management Group 1998
- BPMG Business Process Management Group 1999,
- BPMI Business Process Management Initiative
1999, - ebXML UN/CEFACT and OASIS 2001,
- Universities (Eindhoven University of Technology)
- Institutes (Hasso-Plattner Institute)
- ....
4WorkFlow Concepts (WfMC)
- WorkFlow The automation of a business process,
in whole or part, during which - documents, information or tasks are passed from
one participant to another for - action, according to a set of procedural rules.
- WorkFlow Management System
- Business Process
- Process Definition
- Activity (Manual and/or Automated)
- Instance (Process and/or Activity)
- Workflow Participant
- Parallel and Sequential Routing
- And/Or Split/Join
- Pre/Post Condition
- Transition
5WorkFlow Reference Model (WfMC)
- An architectural representation of a workflow
management system, identifying - the most important system interfaces, developed
by the Workflow Management - Coalition . It identifies interfaces covering,
broadly, five areas of - functionality between a workflow management
system and its environment. - Interface 1 Process Definition Tools
- Interface 2 WorkFlow Client Application
- Interface 3 Invoked Application
- Interface 4 Other WorkFlow Enactment Services
- Interface 5 Administrations and Monitoring Tools
- Supported by the WfMC, the Object Management
Group (OMG) has standardised - the structure and interfaces of the Workflow
engines with CORBA Objects - - Workflow Management Facility (WMF).
- In 1996 the WfMC released an OMG IDL binding for
its Client Application - Programming Interface and have been developing a
similar binding for the - Interoperability interface.
6WorkFlow Standards and Languages
- WPDL (Workflow Process Definition Language) -
WfMC - XPDL (XML Workflow Process Definition Language)
WfMC - BPMN (Business Process Modelling Notation) - BPMI
- BPML (Business Process Modelling Language)
- BPQL (Business Process Query Language)
- BPSS (Business Process Specification Schema)
ebXML - BPDL (Business Process Describing Language)
Stefan Heberl - EPC (Event-Driven Process Chains) SAP
- ICN (The Information-Control Nets)
- UML 2.0
- WSCL (Web Services Composition Languages)
- XLANG (Web Services for Business Process
Design) Microsoft - WSFL (Web Services Flow Language) IBM
- BPEL4WS (Business Process Execution Language for
Web Services) - WSCI (Web Services Choreography Interface) -
Sun, BEA, Intalio and SAP - WS-CDL (Web Services Choreography Description
Language) W3C - WSCL (Web Services Conversation Language)
- Web Bond Georgia State University
7Process Modelling Methodologies (1)
- Process modelling
- Modelling strategy
- Mechanisms to structure a model
- Modelling language
- Different modelling strategies
- Process-oriented
- Resource-oriented
- Data-oriented
8Process Modelling Methodologies (2)
- Process modelling methodologies criteria (by
BPDL) - Ability to modelling all complexity of business
process (sequencing, branching, looping, forking,
synchronizing, timeouts, deadlines, faults,
aggregations) - Ability to distinguish roles and assign them the
various tasks - Unambiguous graphical representation of the
language - Transaction model for process undo
- Ability to specifying how process instances will
be triggered and identified through their
execution - Ability to specifying the characteristics of
business process (QoS) - Language should not mix in details of
communication protocols. - 1, 2, 3 Reflection of business process
- 4, 5, 6 Automating of business process between
cooperating organization - 7 Right level of abstraction
9Process Modelling Methodologies (3)
- Traditional methodologies
- Flow Charts
- DFD Data Flow Diagrams
- CFD Control Flow Diagrams
- FFBD Function Flow Block Diagrams
- Gantt/PERT Diagrams
- IDEF (IDEF0, IDEF3)
- Modern methodologies
- XPDL
- BPML
- UML 2.0
- BPEL4WS
- BPSS
10WorkFlow Model
- Workflow model is a description of a business
process in sufficient detail - that it is able to be directly executed by a
workflow management system. -
- WorkFlow models contain
- Computing elements processes/tasks/activities
- Coordinating elements control
structures/logical connectors - Some common control structures
- Sequence,
- Choice,
- Parallelism,
- Joins (AND, OR, XOR),
- Splits (AND, OR, XOR).
11WorkFlow Patterns
- The research work of Wil van der Aalst, Arthur
ter Hofstede, Bartek Kiepuszewski - and Alistair Barros (Eindhoven University of
Technology) - WorkFlow Patterns
- Describe the behaviour of business processes,
- Describe interaction between business processes,
- Help developers in building business models
efficiently, - Provide an effective way to document sound
solutions, - Provide an effective way to compare process
modelling methodologies - Define a set of requirements for WFMS to perform
complex business processes,
12WorkFlow Patterns - Overview
- Basic Control Flow Patterns
- Sequence
- Parallel Split
- Synchronization
- Exclusive Choice
- Simple Merge
- Advanced Branching and Synchronization Patterns
- Multi Choice
- Synchronizing Merge
- Multi-Merge
- Discriminator
- N-out-of-M Join
- Structural Patterns
- Arbitrary Cycles
- Implicit Termination
- Patterns with Multiple Instances
- without synchronization
- with a priori design time knowledge
- with a priori runtime knowledge
- without a priori runtime knowledge
- State-based Patterns
- Deferred Choice
- Interleaved Parallel Routing
- Milestone
- Cancellation Patterns
- Cancel Activity
- Cancel Case
13WorkFlow Patterns (1)
- Basic control-flow patterns.
- The first five patterns are fairly simple
examples of process behaviour. They define the
basic modelling patterns of business processes.
- Pattern 5 Simple Merge.
- Two or more alternative branches come together
without synchronization.
14WorkFlow Patterns (2)
- Advanced branching and synchronisation patterns.
- The next five patterns describe more complex
ways of splitting and joining the flow of a
business process.
- Pattern 9 - Discriminator
- Wait for one of the incoming branches to
complete before activating the subsequent
activity. From that moment on wait for all
remaining branches to complete and "ignore them
15WorkFlow Patterns (3)
- Structural patterns.
- The two patterns in this group cover such
behaviour as looping and the independence of
separate process paths.
- Pattern 11 - Arbitrary Cycles
- One or more activities can be done repeatedly.
16WorkFlow Patterns (4)
- Patterns involving multiple instances.
- The following four patterns describe how
multiple instances or copies of activities are
created. In some cases, the patterns can be
handled by standard looping patterns.
- Pattern 14 - Multiple Instances With a Priori
Design Time Knowledge - For one process instance an activity is enabled
multiple times. The number of instances of a
given activity for a given process instance is
known at design time. Once all instances are
completed some other activity needs to be
started.
17WorkFlow Patterns (5)
- State-based patterns.
- The three patterns in this group define how the
behaviour of a business process may sometimes be
affected by factors outside the direct control of
the process engine. Typical workflow systems
focus only on activities and events and not on
states.
- Pattern 19 - Milestone
- The enabling of an activity depends on the case
being in a specified state. The activity is only
enabled if a certain milestone has been reached,
which did not expire yet .
18WorkFlow Patterns (6)
- Cancellation patterns.
- The following two patterns show how the
completion of one activity may cause the
cancellation of an activity or group of
activities. The occurrence of an event (e.g., a
customer cancelling an order) may lead to the
cancellation of activities.
- Pattern 20 Cancel Activity
- An enabled activity is disabled, i.e. a thread
waiting for the execution of an activity is
removed.
19WorkFlow Patterns - Comparison
20Formal Models
- PAIS (Process-Aware Information Systems)
- Process-based
- WFMS (Work Flow Management Systems)
- BPMS (Business Process Management Systems)
- Data-based
- ERP (Enterprise Resource Planning)
- B2B (Business-to-Business)
- CRM (Customer Relationship Management)
- Foundations for PAISs
- State-based
- Petri Nets (Carl Adam Petri)
- Event-based
- Pi Calculus (Robin Milner)
21Petri Nets (1)
- Petri nets were invented by Carl Adam Petri in
1966 - Petri nets are a process model technique
- Petri nets are based on directed bipartite graphs
- Petri nets are a graphical language
- The semantics is defined formally
- State can by modelled explicitly in a Petri nets
- Petri nets based analysis techniques can be used
to determine the correctness of a process design - Vendor independent
22Petri Nets (2) - Definition
- A Petri Nets (PN) comprises places, transitions,
and arcs - Places are system states -
- Transitions describe events that may modify the
system state - - Arcs specify the relationship between places -
- Tokens reside in places, and are used to specify
- the state of a PN
- Relationship between two places is not allowed
- Relationship between two transition is not allowed
23Petri Nets (3) - Example
Transition SWITCH OFF
Place OFF
Place ON
Transition SWITCH ON
Transition (task) is enabled if each input place
contains at least one token. An enabled
transition may fire. Transition consumes one
token from each input place and produces one
token in each output place
24Petri Nets (4) WorkFlow blocks
25Petri Nets (5) Triggering
- A trigger is an external condition which leads to
the execution of an enabled - transition (task).
- Automatic enabled task is triggered by an
application - User enabled task is triggered by a user
- Message enabled task is triggered by external
event fax, email etc. - Time enabled task is triggered by a clock
26Petri Nets (6)
- Classical Petri nets
- Ability to model states, events, conditions,
synchronization, parallelism, choice and
iteration - High-level Petri nets
- Extension with colour to model data (CPN)
- Extension with time,
- Extension hierarchy to structure large models
27Pi Calculus (1)
- Pi calculus was invented by Robin Milner in1980
(Calculus of - communicating systems)
- Theory of mobile systems (processes)
- Pi calculus is based on textual description
- The semantics is defined formally
- Everything in pi calculus is a process
- Computation and communication informatics is a
process - Integer, string, object, workflow, procedures,
computational entity, service can be considered
to be an abstract data type called a process. - No limitation in modelling business process
- Business process ? Flow of work only
28Pi Calculus (2) - Definition
- In Pi Calculus, every process participant is
given unique Name (Name is a central notation of
Pi Calculus) - Connection between named participants represent
dynamic capability and behaviour of any given
process, at any point in time - In Pi Calculus algebra names represents channels
- Channel can act both as transmission medium and
as transmitted data - Communication is done on complementary channels
- Pair of processes interact with each other by
sending and receiving named messages in a
synchronized way - The contents of messages are also channels
29Pi Calculus (3) Example
30Pi Calculus (4) - Syntax
- The set of pi processes is defined by
- Summation Process Px i guarded by the action ?x
-
- 0 denote the empty sum.
- ?.P denotes the singleton sum.
-
- x(y) (input) receive names along x,
parameterised by distinct list y x ltzgt
(output) - sends list of names z along x - ? denotes unobservable action
- Composition - P1P2 parallel composition
- Restriction vxP make name x local to P
- Replication - !P arbitrary composition of P
31Pi Calculus (5) - Syntax Example
- The output process A can send the list of names x
via the name b, and continue as 0 - The input process B binds the list of distinct x
in B and executes unobservable action in B. It
can receive any list of names via b (this names
will be substitute to x)
32Pi Calculus (5) WorkFlow mapping
- Each workflow activity is mapped to a pi calculus
process with pre and post conditions - Precondition wait for event
- Postcondition generate event
33WorkFlow Patterns - Comparison
34SBA WorkFlow (1)
- Process model
- Business process model
- Implementation model
- Business model
- Right level of abstraction for business users
- Graphical representation
- Process modelling methodology covering all
workflow patterns - Implementation model
- Hierarchy of processes
- Process connection schema
35SBA WorkFlow (2)
- Each process is an object with formal attribute
- Each process has one definition and many instance
- Each process is associated with a state
- Each process can have pre and post condition for
execution - Each process can be executed parallel or
sequential - ECA approach, more Pi calculus than Petri nets
- Processes can be structured by hierarchy of
processes - Connection can be modelled by connection schemas
36SBA WorkFlow (3)
- Hierarchy of processes
- Describe structure of nested processes as SBA
objects with state - Hierarchy can be built on the basis of business
process model (ex. BPMN) - Each process can be executed independently and
parallel on the same level in hierarchy - Each process can be executed according to pre and
post condition - Processes can be queried by recursive SBQL
queries - Pre and post condition can be SBQL query
37SBA WorkFlow (4)
- Process connection schema
- Describe connection between processes as SBA
updatable views with state - Schema can be built on the basis of business
process model (ex. BPMN) - Each hierarchy can have more than one connection
schemas dynamic change of workflow, unique
schema for user, role or organization on the same
set of processes - Connection schema with ECA approach a la Pi
Calculus - Each view has pre and post condition
- Precondition wait for event
- Postcondition generate event
- Without schema processes can be executed ad-hoc
- Connection schema enabled process to be executed
- Querying connection schema gives answer which
processes can be executed - Querying hierarchy gives answer which processes
was executed or are executing
38Thank You