Workflow Management Systems Dr. Rafael A. Calvo

Workflow Management Systems
Workflow Management Systems
Dr. Rafael A. Calvo
Web Engineering Group
School of Electrical and Information Engineering
The University of Sydney
www.weg.ee.usyd.edu.au
Edited by Mark Aufflick
www.pumptheory.com
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
This presentation
•
•
•
•
•
•
•
What are workflows?
Modelling Workflows
Petri Nets
Finite State Machines (FSM)
Formal representation of workflows
Workflow management systems
Example implementation
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
What are workflows?
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.
*participant = resource (human or machine)
workflow management consortium
Workflow management systems date back to the late 1980. The are used to
coordinate the work of multiple people in a project that has a fixed
process.
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Why workflow management?
• Better, Cheaper faster businesses
• Improved efficiency - mostly through automation of business
processes.
• Improved customer service – through consistency in the processes.
• Improved process control - helps management and improves
overall quality of the outcomes.
• Flexibility – software control over processes enables their re-design
in line with changing business needs
• Business process improvement - through focus on business
processes.
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
A publishing workflow
• Publishing: Someone commissions
and article, authors write it, the
editor edits it and the article goes
back to the author, then the editor
reads it again and if accepted passes
it to the publisher to decide the date
of publication.
• Magazines, newspapers, etc… do
this hundreds of times a day.
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Bug tracking workflow
• Most common in software engineering
• A user submits a bug report, someone looks at it
and decides who, how and when should fix it. The
developer fixes it, or forward it to another
developer, or back to the user asking for more
information, eventually the bug is fixed and the
user advised.
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Workflow management systems
•
•
•
•
•
Pure workflow software,
Derived form image management systems,
Document management systems,
Relational or object database systems,
And electronic mail systems.
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
To think about…
What are the advantages of Web-based workflow management systems?
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Modelling workflows
• Workflows are modelled so they can be:
– Communicated to others (e.g managers, team
members).
– Exchanged (e.g with other teams doing similar
processes)
– Integrated (e.g with other computer systems)
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Workflow Mathematical models
• Useful Mathematical models
– Finite State Machine (FSM)
FSMs can be described by State Transition Diagrams
– Petri Net
Petri Nets are used to model concurrent systems,
particularly network protocols.
The visual description of Petri Nets has been defined
by the IEEE
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Petri Nets modelling
• Petri Nets are a 4-tuple (P,T,I,O)
– Places represent possible states of the system
(circles)
– Transitions are events or actions which cause the
change of state (rectangles)
– Input relation: an arc that connects transition with a
place (arrows).
– Output relation: an arc that connects a place with a
transition (arrows).
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Petri Nets Transitions…
• Changes of state are denoted by a movement of
token(s) (black dots) from input places to output
places; and are caused by the firing of a
transition.
• The firing represents an occurrence of the event
or an action taken.
• The firing is subject to the input conditions,
denoted by token availability.
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Petri Nets Transitions (2)
• A transition is firable or enabled when there at
least one token in its input places.
• After firing, tokens will be moved from the input
places (old state) to the output places, denoting
the new state.
• What makes a transition to fire is called trigger.
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Petri Nets Triggers
1.
2.
3.
4.
User Trigger, when the transition is caused by a
person. (fat arrow pointing to the task)
Message Trigger. When the system is triggered
by a message generated outside the WF
system.
Automatic Trigger. Are performed by the system
as soon as the transition is enabled.
Time trigger. Are automatic transitions that need
to occur at a specific time.
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Finite State Machines
• A basic finite state machine consists of:
– States
– A start state
– Transitions/Actions
• A simple representation:
– [Action] (State)
[Action1]
(Start State)
(State2)
[Action4]
(State4)
[Action3]
[Action2]
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
(State3)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
FSM : States & Actions
• States from our Bug Tracker example:
Open
Resolved
Closed
• An FSM instance will always be in exactly one
such state
• When you perform an action, the FSM instance
will be pushed into a new state
• States contain almost no information, but they
allow us to determine which actions are possible
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
Products
• Today's workflow management systems include:
– COSA (Transflow),
– Websphere MQ Workflow (IBM),
– Workflow (Eastman Software),
– Staffware (Staffware) and
– Visual WorkFlo (FileNet) support
production/administrative workflow.
• A number of content management systems have workflows,
including Vignette, Interwoven and OACS.
• Just a few products support ad-hoc workflow, e.g.,
Ensemble (FileNet).
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney
Workflow Management Systems
References
•
•
•
•
•
http://www.e-workflow.org/
http://www.wfmc.org/
Carl Adam Petri, Diss. 1962 Theory of Non-sequential processes
(Kommunicakation mit Automaten)
http://lsdis.cs.uga.edu/activities/NSF-workflow/
http://www.collaboraid.biz/developer/workflow-spec
© Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com)
School of Electrical and Information Eng, University of Sydney