BPMN: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
mNo edit summary
Line 13: Line 13:


See also:
See also:
* [[workflow]]
* [[workflow]] (short overview article)
* Various [[UML]] languages, [[UML activity diagram]]s in particular
* Various [[UML]] languages, [[UML activity diagram]]s in particular
* [http://en.wikipedia.org/wiki/Event-driven_process_chain Event-driven process chains] (Wikipedia)
* [http://en.wikipedia.org/wiki/Event-driven_process_chain Event-driven process chains] (Wikipedia)
* [http://en.wikipedia.org/wiki/YAWL YAWL (Yet Another Workflow Language) is a workflow  language based on workflow pattern


== History and versions ==
== History and versions ==

Revision as of 13:01, 23 June 2010

Draft

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 was/is 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) developed by the Workflow Management Coalition.

See also:

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 1.0 Meta model. Source: WSPER

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:

  1. Start
  2. Intermediate
  3. 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

Model of a discussion

BPMN discussion model. Source: Erik Wilde, Business Process Execution Language (BPEL), Slides, UC Berkeley iSchool

Model of surgery programming

The process model presented by Roja et al. (2008) shows at a high level abstraction the programmed surgical patient (PSP) process and the activities that are carried out when a patient is admitted into the hospital for the accomplishment of the surgical treatment of a disease that has been clinically diagnosed previously. This model is a result of a joint work between hospital and BPMN expert and it has been obtained through a reiterative and incremental method.

Programmed surgical patient: Source: Roja (2008) et al. 10.1186/1746-1596-3-S1-S22.

“The modelling of the programmed surgical patient process and its subprocesses has allowed to us to prepare an understandable model for the involved health professionals and make the communication of processes easier. Additionally, modelling allows early detection and correction of errors. This work is an essential previous step for further analysis and improvements in healthcare processes, including the adoption of information technology standards.” (Roja et al. (2008))

Tools

There seem to exist some free tools (none tested so far)

Free (totally or somewhat)
  • 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.
Free web tools
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:

Other tools

Bibliography and links

Links

Overviews
Standards
  • BPEL 2.0 (the principal format PBMN can export to)
BPMN Web sites
Other web sites
Posters and cheat sheets
Introductions/tutorials BPMN 1.x


Introductions/tutorials BPMN 2.x
Comparisons
Examples

Bibliography

  • Rojo, Marcial García; Elvira Rolón, Luis Calahorra, Felix Óscar García, Rosario Paloma Sánchez, Francisco Ruiz, Nieves Ballester, María Armenteros, Teresa Rodríguez, and Rafael Martín Espartero (2008). Implementation of the Business Process Modelling Notation (BPMN) in the modelling of anatomic pathology processes, Diagnostic Pathology, 3 (Suppl 1) p22. 10.1186/1746-1596-3-S1-S22.