BPMN
Introduction
Business Process Modeling Notation (BPMN) is a graphical representation for specifying business processes in a workflow. BPMN 1.0 was developed by the Business Process Management Initiative (BPMI) and then 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) developved by the Workflow Management Coalition.
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
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.
- 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
- 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 (?).
- Free web tools
- Gliffy supports
- Commercial
- Intalo BPM, includes the interesting Social BPM that combines the BPM design tool with a social portal building framework.
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)
- 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
- 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
- Slides by Robert Shapiro (Feb. 2010).
- BPMN and BPMN Video Guide at htisp.wikispaces.org
- Examples
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).