This tutorial introduces the essential features of BPMN 2.0. BPMN stands for Business Process Modeling Notation and is a public standard maintained by OMG. It describes a business-friendly, flow chart-like graphical notation that business process analysts and business users can use to model business processes and has support for process interactions, exception handling, compensation semantics, and so on.
BPMN It is widely accepted by both commercial and open source BPMS tooling vendors. It is highly adaptable and can be used to capture everything from abstract process outlines to detailed process flows to implementation ready processes. One of the main value propositions of BPMN besides being a diagram standard is the precise semantics behind the diagram. The shape, the symbols (also referred to as markers), the borders, the placement of the BPMN diagram elements, as well as their properties have well defined meanings and have to be interpreted in the same manner by all tools.
Although BPMN 1.1 comprehensively addressed process modeling notations, it was substantially missing to address an interchange format (for diagram exchange). This resulted in implementation vendors adopting different standards (BPEL, XPDL, or JBPM's JPDL) to store BPMN process models leading to not only a loss of portability across tools but also making it difficult to communicate across the various stakeholders.
Here we will summarize a short descriptions of the different standards emerged in these years:
- Analyst and developers oriented.
- Strongly tied with jBPM and Java.
- Allows custom process routing logic and a large set of built-in nodes.
- Intuitive XML language.
- Text based (XML) Business Process Modeling language which includes precise execution semantics.
- Used to orchestrate Web services.
- Does not contain elements to represent the graphical aspects of the process diagram.
- Designed to exchange the process definition, both the graphics and the semantics of a workflow business process.
- As it name implies contains elements to hold graphical information, such as the X and Y position of the nodes.
- Contains as well as executable aspects which would be used to run a process.
The vision of BPMN is to have a single specification for notation, metamodel, and interchange. In addition, BPMN 2.0 has been expanded to include orchestrations and choreography of process models.
A Business Process Diagram is a simple diagram made up of a set of graphical elements that depicts a business process. There are four primary elements of BPD:
- Flow Objects: represent the core elemets of the business process diagram.
- Connecting Objects: are used to connect the BPMN core objects
- Swimlanes: are mechanism to organize activities and responsibilities on a process diagram.
- Artifacts: allow process designers to extend the basic BPMN notation to include additional information about the process in the process diagram
As we said, Flow Objects are shapes that represent the core elements of the Business Process Diagram (BPD), including:
Within Flow Object we can find the following three elements:
- Activity: is any work that is being performed in a process.
- Event: are anything that "happens" during the course of a business process.
- Gateway: is used to control the flow of a process.
The following diagram depicts a sample process which includes a Start Event, an Activity (a Task), some Gateways and an End Event: