MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard Software Technology 2 08 BPMN/1
2 ntro 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
3 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
4 BPMN, XPDL, BPEL Few important notes: The real compatibility on graphical representations between different applications only depends on how they actually use XPDL t 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
5 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.
6 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) ntuitively, 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
7 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) s there a similar approach for workflows too?
8 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
9 Control-flow perspective Basic patterns: Sequence Parallel Split Synchronization Exclusive Choice Simple Merge
10 Sequence pattern Use case: an applicant reads the AGB and afterwards he or she decides to become a member.
11 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.
12 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.
13 Synchronization pattern
14 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.
15 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.
17 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