
h2. BPMN Overview
Business Process Model and Notation (BPMN) is a standard supported by the Object Management Group (OMG). This standard aims at providing a normalized graphical representation of business processes.
The last released version of BPMN is BPMN 2.0 which was released in February 2011 and is the one we use in our products.
BPMN 2.0 is becoming the main standard for business proscess modeling because in addition to allow the design of a very wide variety of business processes, it allows to design diagrams which are at the same time easily understandable and that can be executable. Thus, it fills the gap between the business analysis concerns and the IT restrictions for automatic process execution.
The graphical modeling of a buisness process using BPMN 2.0 which is the core of BPMN is done using a quite intuitive set of elements allowing a quick understanding for any user if the diagram is not too big or too complicated.
Since the version 2.0, BPMN also defines a serialization for its diagram. In the previous versions, the standard was only graphical. This produced problems of interoperability : BPMN 1.x users had to use XPDL which is a standard for business process noatation based on XML. But XPDL specifications were not strict enough and therefore the problem of interoperability was not totally solved.
To ensure interoperability each BPMN 2.0 diagram corresponds to a single XML serialization containing all the information semantically related to the business process itself. This unique serialization of a business process representation allows the exchange of this process and its use in different modeling tools.
BPMN 2.0 also provides a standard called BPMN Diagram Interchange (BPMNDI) which is also based on a XML serialization. This standard is used to complete the BPMN 2.0 textual notation by adding the graphical information of the diagram to core Xml serialiazition. This notation allows to import BPMN 2.0 diagrams directly into a graphical modeling tool if it conforms to the BPMN 2.0 specifications.
To address the large variety of possible business processes a business process designer might want to desgin BPMN 2.0 defines several levels and types of business process modeling.
We currently use three of them :
* the Process
* the Collaboration
* and the Choreography.
h3. BPMN 2.0 Process
A BPMN 2.0 process represents a business process aimed to be executed by a single business entity which usually is a service of a company or an employee of the company.
Such a process comports tasks that are to be performed by the business entity itself or by a subpart of it.
These tasks are ordered and might be preformed sequencially or parallely. This order defines the execution flow of the process and is modelled using Sequence flows (defining sequencial order) and Gateways (for merging and diverging the flow).