BPMN: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
{{stub}}
{{stub}}
{{under construction}}


== Introduction ==
== Introduction ==
Line 6: Line 5:
'''Business Process Modeling Notation''' (BPMN) is a graphical representation for specifying business processes in a [[workflow]]. [[Business process modeling]] is an important part of [[enterprise architecture framework|enterprise architecture]] modeling.
'''Business Process Modeling Notation''' (BPMN) is a graphical representation for specifying business processes in a [[workflow]]. [[Business process modeling]] is an important part of [[enterprise architecture framework|enterprise architecture]] modeling.
BPMN 1.0 was developed by the Business Process Management Initiative (BPMI) and then was/is further developed by the [http://www.omg.org/ Object Management Group] (OMG).
BPMN 1.0 was developed by the Business Process Management Initiative (BPMI) and then was/is further developed by the [http://www.omg.org/ Object Management Group] (OMG).
In this article we provide a very overview plus links and references. See [[BPEL 1.2 tutorial]] and [[BPEL tutorial]] for more detailed information.


{{quotation|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. ([http://en.wikipedia.org/wiki/Business_Process_Modeling_Notation Business Process Modeling Notation], Wikipedia, retrieved jan 6 2009).}}
{{quotation|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. ([http://en.wikipedia.org/wiki/Business_Process_Modeling_Notation Business Process Modeling Notation], Wikipedia, retrieved jan 6 2009).}}
Line 48: Line 49:


See [[BPMN 2 tutorial]]
See [[BPMN 2 tutorial]]
== BPMN version 1.x ==
=== Overview of BPMN 1.1/1.2 (2008/9) ===
According to the [http://www.omg.org/spec/BPMN/1.2/ BPMN 1.2] specification, {{quotation|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 [[BPEL]]4WS (Business Process Execution Language for Web Services), can be visualized with a business-oriented notation.}}
According to the 1.2 specification, BPMN has four categories of core elements:
; Flow Objects
: define the behavior of a business process
: Types: Events, Activities, Gateways
; Connecting Objects
: connect flow objects to each other or to other information
: Types: Sequence Flow, Message Flow, Association
; Swimlanes
: group elements
: Types: Pool, Lane
; Artifacts (''Artefacts'')
:  are used to provide extra information about the process
: Types: Data Object, Group, Annotation
A more difficult to understand meta-model (i.e. an inofficial [[UML class diagram]] of BPMN was published by [http://www.ebpml.org/wsper/wsper/bpmn10.html WSPER ("whisper")].
[[image:bpmn1.0.jpg|frame|none|BPMN 1.0 Meta model. Source: [http://www.ebpml.org/wsper/wsper/bpmn10.html WSPER] ]]
=== BPMN 1.2 elements ===
[[image:BPMN-1x-symbols.jpg|frame|right|BPMN 1.x symbols, Credits: [http://frapu.de/bpm/bpmstencils.html BPMN 1.1 stencils] by F.Puhlmann/A. Grosskopf]]
==== Events ====
An event is something that "happens" during a process and it will affect the flow of the process. It usually has either a cause or an impact or both. In more operational terms, events will affect the sequence of the timing of process activities.
There are three main types of events: ''start events'', ''intermediate events'' and ''end events''. Events are represented as small circles.
; Start Events
Start events indicate the initiation of a process and are usually associated with a trigger. The five types of triggers defined by v. 1.1 are represented with graphical markers.
*''' Plain (generic) start events: do not specify any trigger
* Message start events: start when a message is received from an other participant
* Timer start event: indicate a given time/date for starting
* Conditional start events: a process is triggered when certain business conditions become true.
* Signal start events
* Multiple start events
; Intermediate events
(to do)
; End events
* Simple ("none") end event: showing that and where a process ends
* Message end event: indicates that a message is sent to a participant when the end of the process is reached
* Error end event: an error code should be generated. This code then can be caught by an error catching intermediate event in the parent. If there is none, then the system also can handle this.
* Cancel end event: is only used in ''transaction sub-processes'' and will signal that this transaction should be cancelled.
* Compensation end event: can either compensate an activity that is identified. Otherwise all activities in the process can be subject to compensation if they have a compensation intermediate event attached.
* Signal end event: a signal is generated. It will be broadcasted to any process  (i.e. signal catching events) that can receive it. A signal is different from a message. The latter always has a source and a target.
* Terminate end event: triggers an immediate end to the process and all its activities. The process is ended without compensation of event handling.
* Multiple end event: multiple consequences of ending the Process.
=== Activities ===
An activity stand for the work that company performs. An activity can be atomic or non-atomic (compound). The types of activities that are a part of a Process Model are:
* Tasks
* Sub-Process
* Process, but these are represented with swimmlanes
; Simple tasks
An "atomic" (simple) task is a simple activity performed within an organization. The correspond to a ''step'' in the process flow. Tasks and Sub-Processes are represented with rounded rectangles.
== 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 a kind of process that focuses on how participants coordinate their interactions through the exchange of messages.
== Examples ==
=== Model of a discussion ===
[[image:bpmn-discussion.jpg|thumb|800px|none|BPMN discussion model. Source: [http://dret.net/lectures/services-fall06/bpel2 Erik Wilde, Business Process Execution Language (BPEL)], Slides, UC Berkeley iSchool ]]
=== Email voting process ===
[[image:BPMN-E-MailVotingProcess.jpg|frame|none|:BPMN-E-Mail Voting Process. Source: [http://en.wikipedia.org/wiki/File:BPMN-E-MailVotingProcess.jpg Wikipedia]/unknown]]
=== 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.
[[image:surgical-patient-bpmn-rojo2008.png|thumb|800px|none|Programmed surgical patient: Source: Roja (2008) et al. [http://dx.doi.org/10.1186/1746-1596-3-S1-S22 10.1186/1746-1596-3-S1-S22.] ]]
{{quotation|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.}} ([http://dx.doi.org/10.1186/1746-1596-3-S1-S22 Roja et al. (2008)])


== Tools ==
== Tools ==

Revision as of 15:04, 2 July 2010

Draft

Introduction

Business Process Modeling Notation (BPMN) is a graphical representation for specifying business processes in a workflow. Business process modeling is an important part of enterprise architecture modeling. BPMN 1.0 was developed by the Business Process Management Initiative (BPMI) and then was/is further developed by the Object Management Group (OMG).

In this article we provide a very overview plus links and references. See BPEL 1.2 tutorial and BPEL tutorial for more detailed information.

“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

Timeline
  • BPMN 2.0 Beta 1 (summer 2010)
  • BPMN 1.2: January 2009
  • 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 1.x

The BPMN 1.x specification defines the notation and semantics of a Business Process Diagram language. This version does not specify any underlying (serialization) format.

The differences between BPMN 1.0, 1.1 and 1.2 are relatively minor.

  • BPMN codified the notation language
  • BPMN 1.1 includes an informal mapping to [[PBEL], i.e. the BPEL4WS 1.1 version
  • BPMN 1.2 some cleanup

See BPMN 1.2 tutorial

BPMN 2

The (future) BPMN version (in beta as of 2010) adds other modeling elements plus a layered specification. In addition, it provides a formal serialization format.

See BPMN 2 tutorial

Tools

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

Free (totally or somewhat)
  • Intalio|BPMS, claimed to be the world's most widely deployed Business Process Management System (BPMS). Designed around the open source Eclipse BPMN Modeler, Apache ODE BPEL engine, and Tempo. The free community edition runs under a TomCat server (Windows and Red Hat officially supported) and either Derby or MySQL enterprise server. The software includes a BPMN designer, a BPEL server and WS-Human Task Service.
  • 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. (We did not manage to install this, didn't find any installation instructions either ....)
  • 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.
  • Bizagi Process Modeler. Closed source freeware for BPMN 1.x (?). Runs under Windows and requires .NET framework 2.0 (free) plus Visio 2003 or better for exporting features.
Free web tools
  • Gliffy supports BPMN (version ?)
Commercial (not complete since edutechwiki is not about BPM ...)
  • Intalo BPM, includes the interesting Social BPM that combines the BPM design tool with a social portal building framework. Very cool, has the potential for use in education to implement learning design/web 2.0 combos.

This list is by no means complete, See also full versions of some freeware above (typically an execution engine) and the following links:

Other tools
  • BPMN 1.1 stencils for Visio and OmniGraffle by Frank Puhlmann and Alexander Großkopf.

Bibliography and links

Links

Overviews
Standards
  • BPMN 1.1 OMG Specification, February, 2008 (PDF 3,372K)
  • BPMN 1.0, OMG Final Adopted Specification, February 6, 2006 (PDF 2,968K)
  • 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

  • White, Stephen A. (2004). Mapping BPMN to BPEL Example, IBM PDF
  • 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.
  • White, Stephen & Derek Miers (2009 ??). BPMN Modeling and Reference Guide Understanding and Using BPMN, Lighthouse Pt, FL: Future Strategies Inc., ISBN-13: 978-0977752720