Introduction to BPMN 1.2 guide
This guide provides an overview of BPMN 1.2.
BPMN is a flowcharting notation that defines business process in terms of connected activities, events and gateways. This guide is “work in progress”, e.g. so far it basically just includes an overview of BPMN elements. Interesting commented patterns and examples are missing – Daniel K. Schneider 17:31, 29 July 2010 (UTC).
What is BPMN?
BPMN is a Business Process Diagram (BPD) language that includes functionalities found in workflow modeling languages used in computer science, e.g. UML activity diagrams and UML use case diagrams. However, BPMN is more complex and seems to be better suited to model workflows that involve humans. The “Business” word in standards like BPMN, BPEL, etc. reflects the fact that this language was specifically developed by and for the business community. BPMN can be used to model any “bureaucratic” process that involves both humans and computers (including web services). BPMN (and particularly the upcoming 2.0 version) may have interesting potential for education, in particular for modeling and implementing activity-based learning designs such as CSCL scripts.
Use of BPMN
- BPMN can be used at several levels:
- Informally describe workflows in the same ways that people use flow charts or directed concepts maps (such as Compendium LD in education).
- As a formal diagramming tool that respects the BPMN specification, including various constraints and suggested use of attributes.
- Model an executable (business) process, i.e. models are meant to be translated/exported into an execution language like BPEL. Several commercial tools include this functionality.
Overview of BPMN 1.1 / 1.2
According to the BPMN 1.2 specification, “The primary goal of 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 BPEL4WS (Business Process Execution Language for Web Services), can be visualized with a business-oriented notation.” BPMN 1.2 is a so-called notation language, i.e. it allows to “draw” the design of a business oriented notation.”
BPMN 1.2 is a so-called notation language, i.e. it allows to “draw” the design of a business process, i.e. the coordination of human and computer workflows in an organization. In computer science, its closest kin is the UML activity diagram. Like some UML languages, BPMN is a kind of flow-charting language. However, the specification includes an informal annex that defines possible mapping to BPEL (more precisely the BPEL4WS version), a process execution language. In addition, vendors also could implement translators to any sort of execution environment. BPMN 2 (to be finalized by the end of 2010) defines its own serialization format.
BPMN was created with business execution languages and web services in mind and it is based on a mathematical foundation, the Pi-Calculus. However, in practice. BPMN 1.2 only has “execution” and “web services” in mind, meaning that bindings for the latter are not formally “included” in the specification. This means that you either can use BPMN as descriptive modeling language only or probably face some vendor lock-in if you are looking for a full modeling-implementation-execution pipeline
Core elements of BPMN
BPMN is a fairly complex and rich language. According to the 1.2 specification, BPMN has eleven core elements for defining a business process and that can be grouped in four categories:
- Flow objects, in particular activity nodes describing work performed by humans or by software applications, events, and control nodes that organize the flow of control between activities.
- Artifacts provide either annotations or describe data objects.
- Pools (Swimlanes) organize workflows by performing entities and communication (messaging/collaboration) between these entities.
- Connecting Objects connect flow objects through sequence flow within a pool and flow objects through message flow across pools.