Davide Eynard
08 – BPMN/1
Intro
Sequence of (three?) lessons on BPMN and technologies
related to it
Related standards and tools
Standards such as XPDL and BPEL Tools such as editors, engines, etc.
Meta knowledge
Knowledge that might be useful for modeling Design patterns
BPMN, XPDL, BPEL
A quick reminder to disambiguate the three acronyms:
BPMN (Business Process Modelling Notation) is a standard
graphical representation used to specify business
processes in a workflow
XPDL (XML Process Definition Language) is an XML application that captures all the elements of BPMN for interchange from a diagram portability perspective
BPEL (Business Process Execution Language) is an XML application that provides a precise operational semantics for executing processes
BPMN, XPDL, BPEL
Few important notes:
The real compatibility on graphical representations
between different applications only depends on how they actually use XPDL
It is possible to translate BPMN to BPEL. However, the transformation is not straightforward and sometimes requires complex mappings resulting in a BPEL process model that looks quite different from the original BPMN Once a translation from BPMN to BPEL is done, it is
practically impossible to come back to the original BPMN
Applications
To test our models we are employing different applications:
BizAgi Process Modeler
Free (as in beer) demo version, only runs on Windows,
very nice interface, quite expressive, exports in different formats, lots of examples
Together Workflow Editor
Free (as in beer) demo version, based on a free (as in
speech) application called Enhydra JaWE. Edits XPDL files and provides some additional features like
validation + Java Opensource XPDL workflow engine Eclipse + Jadex
Academic project, free (as in speech), works using
Eclipse BPMN embedded editor. Provides an engine able to translate models into executing code and run them.
Design Patterns
During the last lessons, we saw recurring “patterns” inside our
examples
Similar ways to extract strings from different portions of HTML code
Similar ways to model different types of messages (text messages, emails) in XML
Similar ways to model common parts of FSMs or Petri Nets (i.e. Producer-consumer)
Intuitively, we know that if we learn how to solve the general
problem, then we have the tools to solve specific cases of the same problem
Design Patterns
Design patterns are a formal way to document a solution to a
well-known family of design problems
The idea has been introduced for architecture...
… however it has been widely used in other disciplines, and especially in computer science (software design patterns)
Is there a similar approach for workflows too?
Workflow patterns
A joint effort of Eindhoven University of Technology (led by
Prof. Wil van der Aalst) and Queensland University of Technology (led by Prof. Arthur ter Hofstede)
Patterns grouped by perspectives:
Control-flow perspective
Parallelism, choice, synchronization, etc.
Data perspective
Passing of information, scoping of variables, etc.
Resource perspective
Resource to task allocation, delegation, etc.
Exception handling perspective
Causes of exceptions and actions that have to be taken
as a consequence
Control-flow perspective
Basic patterns: Sequence Parallel Split Synchronization Exclusive Choice Simple Merge 9Sequence pattern
Use case: an applicant reads the AGB and afterwards he or
she decides to become a member.
Parallel split pattern
Use Case: an Account manager has advertised a new
member. Afterwards the manager has to do two things: he has to request an information brochure from the media
department and he has to request a goody from the marketing department.
Synchronization pattern
Use Case: an Account manager has advertised a new
member. The manager has to do three things:
request an information brochure from the media department
request a goody from the marketing department forward the clients core data to the office assistant
As soon as possible the media department sends the
information brochure to the office assistant and also the marketing department will send the goody to the office
assistant. The office assistant now waits for the information brochure, for the goody and for the account creation till she sends all the stuff to the customer.
Synchronization pattern
Exclusive choice pattern
Use case: an applicant has read the AGB and decides now to
become a member. He has now to decide whether he wants a sponsor contract or an ordinary membership application.
Doing both is not possible.
Simple merge pattern
Use case: the office assistant wants to make an appointment
for an interview with an applicant by sending a proposal via e-mail. The applicant can then accept the appointment via
phone and/or via e-mail. The office assistant will then define the appointment as fixed.
References
Some Web references:
http://www.workflowpatterns.com/
Examples of modelling patterns have been taken (thanks!) from the document by
M. Goetz: “Modeling Workflow Patterns through a Control-flow perspective using BPMN and the BPM Modeler BizAgi”
Tools:
BizAgi Process Modeler
Together Workflow Editor
Jadex + Eclipse