BPMN
Introduction
Business Process Modeling Notation (BPMN) is a graphical representation for specifying business processes in a workflow. Business process modeling is an important part of enterprise architecture modeling. BPMN 1.0 was developed by the Business Process Management Initiative (BPMI) and then was/is further developed by the Object Management Group (OMG).
“The Business Process Modeling Notation (BPMN) specification provides a graphical notation for specifying business processes in a Business Process Diagram (BPD). The objective of BPMN is to support business process management for both technical users and business users by providing a notation that is intuitive to business users yet able to represent complex process semantics. The BPMN specification also provides a mapping between the graphics of the notation to the underlying constructs of execution languages, particularly BPEL4WS. (Business Process Modeling Notation, Wikipedia, retrieved jan 6 2009).”
“PEL is an XML-based language for describing a business process in which most of the tasks represent interactions between the process and external Web services. The BPEL process itself is represented as a Web service, and is realized by a BPEL engine which executes the process description. BPMN is a standard set of diagramming conventions for describing business processes. It is designed to visualize a rich set of process flow semantics within a process and the communication between independent processes. It is intended to support capture of sufficient detail to allow it to be the source of an executable process description. Since BPEL is currently considered the most important standard for execution languages, a translation to BPEL is specified in the BPMN standard. By design there are some limitations on the process topologies that can be described in BPEL, so it is possible to represent processes in BPMN that cannot be mapped to BPEL.” (FAQ, retrieved 17:30, 22 June 2010 (UTC))
BPMN diagrams can be See also the Business Process Execution Language (BPEL), an executable XML language for business processes. Most BPMN tools, in particular BPMN 2.0 versions, can compile drawings into executable BPEL and other XML formats in addition. It seems that while a BPEL process can be represented using BPMN, some BPMN models cannot be represented using BPEL. An alternative to BPEL is XPDL (XML Process Definition Language) developed by the Workflow Management Coalition.
See also:
- workflow (short overview article)
- Various UML languages, UML activity diagrams in particular
- Event-driven process chains (Wikipedia)
- YAWL (Yet Another Workflow Language) is a workflow language based on workflow patterns
- Simple Conceptual Unified Flow Language (SCUFL) is the notation and execution language adpted by the taverna workbench (e-science platform).
History and versions
- BPMN 2.0 Beta (summer 2010)
- BPMN 2.0 RFP: Request for Proposals for version 2.0 of BPMN (2008,-)
- BPMN 1.1: OMG Specification, February, 2008
- BPMN 1.0: OMG Final Adopted Specification, February 6, 2006
- BPMN 1.0: May 3, 2004 Draft Specification
BPMN version 1.x
According to Wikipedia, BPEL has four categories of elements:
- Flow Objects
- Events, Activities, Gateways
- Connecting Objects
- Sequence Flow, Message Flow, Association
- Swimlanes
- Pool, Lane
- Artifacts (Artefacts)
- Data Object, Group, Annotation
BPMN.org divides the BPMN 2.0 notation graphics in six categories:
- Activities
- Events
- Gateways
- Connections
- Artifacts
- Swimlanes
A more difficult meta-model (i.e. an inofficial UML class diagram of BPMN was published by WSPER ("whisper").
BPMN version 2.0 and core elements
The new revision of BPMN, 2.0 has more than 100 graphical elements in its full set. Since BPMN is a very complex language it is structured in terms of extensibility layers.
The basic categories of BPMN 2.0 include flow objects, data, connecting objects, swimlanes and artifacts. From these elements, the draft specification then expands into layers that add specialized markers to these elements.
- Layer one
The core elements are grouped into three "packages": infrastructure (foundation?), common elements (to be used by layer two), and services (elements for modeling services and infrastructures).
- Layer two
defines extensions for three diagram types: process, choreography, and collaboration.
- Layer three
The third layer defines extensions for humans, data, activities, and conversations.
Let's now have a look at core elements
Flow objects
Flow objects define the behavior of a business process and include events, activities and gateways.
Activities
An activity can be generically described as work that an organization performs.
Events
Events represent something that "happens" during the course of a business process. An event will affect the flow of a process. An event is usually triggered by a cause and it will have an impact (result).
There are three kinds of events:
- Start
- Intermediate
- End
Gateways
Gateways represent decisions, forking and joining of flows.
Data
Data include five elements:
- Data Objects
- Data Inputs
- Data Outputs
- Data Stores
- Properties
Connecting objects
Connection of flow objects
- Sequence Flow
- Message Flow
- Association
- Data Association
Swimlanes and Pools
- Lanes
- Pools
Artifacts
provide additional information about the process
- Group
- Text Annotation
PBMN 2.0 diagrams
(draft)
Collaboration
A collaboration is a collection of participants shown as Pools, their interactions as shown by Message Flow, and may include Processes within the Pools and/or Choreographies between the Pools.
Process
A Process describes a sequence or flow of Activities in an organization with the objective of carrying out work. In BPMN a Process is a graph of flow elements, which are a set of activities, events, gateways, and sequence flow.
Conversations
Conversations define message exchanges between pools and are a simpler version of collaboration if we understood right.
Choreographies
Choreographies represent sets of tasks performed by participants. A Choreography a kind of process that focuses on how participants coordinate their interactions through the exchange of messages.
Examples
Model of a discussion
Model of surgery programming
The process model presented by Roja et al. (2008) shows at a high level abstraction the programmed surgical patient (PSP) process and the activities that are carried out when a patient is admitted into the hospital for the accomplishment of the surgical treatment of a disease that has been clinically diagnosed previously. This model is a result of a joint work between hospital and BPMN expert and it has been obtained through a reiterative and incremental method.
“The modelling of the programmed surgical patient process and its subprocesses has allowed to us to prepare an understandable model for the involved health professionals and make the communication of processes easier. Additionally, modelling allows early detection and correction of errors. This work is an essential previous step for further analysis and improvements in healthcare processes, including the adoption of information technology standards.” (Roja et al. (2008))
Tools
There seem to exist some free tools (none tested so far)
- Free (totally or somewhat)
- BPMN plugin for Eclipse. Made by Intalio. The tool can be download through the Eclipse IDE.
- Intalio|BPMS, claimed to be the world's most widely deployed Business Process Management System (BPMS). Designed around the open source Eclipse BPMN Modeler, Apache ODE BPEL engine, and Tempo. The free community edition runs under a TomCat server (Windows and Red Hat officially supported) and either Derby or MySQL enterprise server. The software includes a BPMN designer, a BPEL server and WS-Human Task Service.
- Oryx, (Signavio) a project to create BPMN 2.0 diagrams, EPCs or Petri nets online. Free for academics.
- OMII-BPEL, Modelling, monitoring, executing scientific workflows with BPEL. (We did not manage to install this, didn't find any installation instructions either ....)
- Jadex process. LGPL licence. “The Jadex Processes project provides modelling and execution facilities for workflows. Main focus is on graphical forms of process representation (e.g. the Business Process Modelling Notation - BPMN) and direct execution of modelled processes (i.e. without prior code generation).” ([1]). This is part of a larger project. Jadex is a Belief Desire Intention (BDI) reasoning engine that allows for programming intelligent software agents in XML and Java.
- Bizagi Process Modeler. Closed source freeware for BPMN 1.x (?).
- ARIS Express. Closed source freeware for BPMN 2/EPC. (Java-based, tested under Ubuntu 10, works - Daniel K. Schneider 10:43, 23 June 2010 (UTC))
- ADONIS:Community Edition (Windows only, needs SQL server).
- Free web tools
- Gliffy supports
- Commercial (not complete since edutechwiki is not about BPM ...)
- Intalo BPM, includes the interesting Social BPM that combines the BPM design tool with a social portal building framework. Very cool, has the potential for use in education to implement learning design/web 2.0 combos.
This list is by no means complete, see for the moment:
- BPMN Implementors and Quotes (best link, at OMG)
- Tools (BPM forum, not very complete)
- Other tools
- BPMN 1.1 stencils for Visio and OmniGraffle
Bibliography and links
Links
- Overviews
- Business Process Modeling Notation (Wikipedia)
- Standards
- BPEL 2.0 (the principal format PBMN can export to)
- Business Process definition Metamodel. A OMG metamodel definition languages that will allow to define languages like BPMN as metamodel
- BPMN Web sites
- BPMN.org Information Home Page, e.g.:
- BPMN FAQ at pbmnforum.com
- BPM Research Website by Michael zur Muehlen (blog)
- BPMS Watch by Bruce Silver (blog)
- Other web sites
- Business Process Management Software (includes further links)
- BPM & EA Resource List at PBMfundamentals
- Process On The Web, the process executive
- Posters and cheat sheets
- BPMN 1.1 Poster
- BPMN 2.0 Poster (Printable A1 PDF for various languages)
- BPMN 1.x poster from Bizagi.
- BPMN 1.x CHEAT SHEET Reference Guide.ppt
- Introductions/tutorials BPMN 1.x
- Modeling Workflow Patterns through a Control-flow perspective using BPMN and the BPM Modeler BizAgi by Marcus Goetz, Institute of Applied Informatics and Formal Description Methods University Karlsruhe (TH).
- BPMN_Tutorial.pdf by Martin Owen and Jog Raj, Popkin Software
- BPMN and BPMN Video Guide at htisp.wikispaces.org
- [http://www.diveintobpm.org/laszlo-explorer/Pages/TrainingKit%20BPMN%201.1%20-%20Version%201.0.1.pdf
- Introductions/tutorials BPMN 2.x
- Slides by Robert Shapiro (Feb. 2010).
- Comparisons
- EPC vs. BPMN - the perfect flamewar by Sbastain Stein, Aris community.
- Examples
- Search google images for "BPMN 2.0"
- BPMN 2.0 Wimmelbild
- Conservation Space (Open Source Application Design and Development by and for the Conservation Community), e.g. see Research
Bibliography
- White, Stephen A. (2004). Introduction to BPMN, IBM. (Also here.
- White, Stephen A. (2004). Mapping BPMN to BPEL Example, IBM PDF
- Silver, Bruce (2009), BPMN Method and Style, Cody-Cassidy Press, ISBN 0982368100 (author's book home page).
- Rojo, Marcial García; Elvira Rolón, Luis Calahorra, Felix Óscar García, Rosario Paloma Sánchez, Francisco Ruiz, Nieves Ballester, María Armenteros, Teresa Rodríguez, and Rafael Martín Espartero (2008). Implementation of the Business Process Modelling Notation (BPMN) in the modelling of anatomic pathology processes, Diagnostic Pathology, 3 (Suppl 1) p22. 10.1186/1746-1596-3-S1-S22.
- White, Stephen & Derek Miers (2009 ??). BPMN Modeling and Reference Guide Understanding and Using BPMN, Lighthouse Pt, FL: Future Strategies Inc., ISBN-13: 978-0977752720