BPMN 2 tutorial
Introduction
BPMN 2.0 is a modeling language that define the notation and semantics of (business) collaboration diagrams, process diagrams, and choreography diagrams.
According to the [Version 2, Beta1 BPMN specification], the primary goal of the Business Process Modeling Notation (BPMN) “is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation. Another goal, but no less important, is to ensure that XML languages designed for the execution of business processes, such as WSBPEL (Web Services Business Process Execution Language), can be visualized with a business-oriented notation.”
Since BPMN 2.0 is not yet published as a standard, we probably will not complete this piece in the near future. See BPMN for an overview and links, and BPMN 1.2 tutorial for a more complete overview/tutorial of the prior (current) version of BPMN - Daniel K. Schneider 16:13, 23 July 2010 (UTC).
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 is a kind of process that focuses on how participants coordinate their interactions through the exchange of messages.
Links and bibliography
See BPMN