BPMN 2.0

IBM® Business Process Manager business process definitions support the Common Executable subclass of the BPMN 2.0 Process Modeling conformance class, which deals with executable models.

BPMN (Business Process Model and Notation) is the foundational standard for the processes in IBM Process Designer and IBM Process Center. Business process definition (BPD) diagrams are based on the BPMN specification. This topic introduces some of the ways BPMN 2.0 is applied in IBM Business Process Manager. For detailed information about BPMN, see the BPMN Specification page at http://www.bpmn.org/.

IBM Business Process Manager supports the following BPMN 2.0 task types: The IBM BPM intermediate message events provide similar functions to the BPMN send task and receive task. For more information about event types, see the following discussion and related links .

BPMN 2.0 notation

In V7.5.1, Process Designer introduces BPMN 2.0 task icons to the BPD diagrams. The new icons are collected on a simplified palette and displayed in process diagrams. These icons show whether your activity is a system task, user task, decision task, script, or linked process. Activities in models that were created in earlier versions also show appropriate BPMN 2.0 tasks types and task icons when you view them in version 7.5.1.

Activities and tasks

There are some terminology changes from previous versions of Process Designer. A number of those changes involve activity types that have been renamed.
  • Service (automated) activities are now system tasks.
  • Service (task) activities in a non-system swimlane are now user tasks.
  • Service (task) activities in a system swimlane are now decision tasks if they reference a decision service.
  • Service (task) activities in a system swimlane are now system tasks if they reference any kind of service other than a decision service.
  • Javascript activities are now script tasks.
  • Nested process activities are now linked processes.
  • External activities from previous versions of Process Designer are available as external implementations for user tasks or system tasks.

Gateways

There are no notation changes to the gateways of previous versions. However, there are three terminology changes. The decision gateway is now the exclusive gateway, the simple split or join gateway is now the parallel gateway, and the conditional split or join gateway is now the inclusive gateway.

There is also a new gateway type, the event gateway. An event gateway represents a branching point in a process where the alternative paths that follow the gateway are based on events that occur, rather than the evaluation of expressions using process data (as with an exclusive or inclusive gateway). A specific event, usually the receipt of a message, determines the path that will be taken.

Non-interrupting events

BPMN 2.0 added notation for non-interrupting events. By default, a boundary event interrupts the activity that it is attached to. When the event is triggered, the activity stops and the token continues down the outgoing sequence flow of the event. If the event is set as non-interrupting, when the event is triggered the attached activity continues in parallel and a new token is generated and is passed down the outgoing sequence flow of the event. The event boundary changes to a dashed line for non-interrupting events.

Intermediate events that are attached to an activity are now interrupting intermediate events if they close their attached activity or non-interrupting intermediate events if they do not close their attached activity.

Start event

The BPMN specification permits process models to omit start and end event symbols. Process Designer requires that process models use start and stop events.

There are various types of start event available in Process Designer:
processes
  • none
  • message
  • ad hoc
subprocesses
  • none
event subprocesses
  • error
  • message
  • timer

You can change the type of a start event by editing the properties of the event. You can have numerous message start events in a process, but you can use only a single none start event.

End event

There are four types of end event available, message, terminate, error and none. You can change the type of an end event.

When a parent process calls a child process and the child process runs a terminate event action, the BPMN semantics say that the child process immediately stops and the parent process then continues to its next steps. In Process Designer, if a child runs a terminate event activity, both the child process and its parent process stop.

Subprocesses

The BPMN specification defines two types of subprocesses, embedded and reusable. Process Designer allows you to create both types. Embedded subprocesses are just called subprocesses in Process Designer and are new in version 7.5.1. The BPMN reusable subprocess is called a linked process in Process Designer.

A subprocess exists within the containing process and is a way of grouping process steps to reduce diagram complexity and clutter by collapsing multiple steps into one activity. The subprocess can only be seen by the process in which it is defined. A subprocess exists within the scope of its caller and has access to all the variables within that environment. There is no parameter passing in and out of the embedded subprocess.

Aside from the subprocess and the linked process, Process Designer has an event subprocess, which is a specialized subprocess that is used for event handling. It is not connected to other activities through sequence flow, and it occurs only if its start event is triggered.

Linked processes

A BPMN reusable subprocess is called a linked process in Process Designer. It is a process created outside the current process that can be called by the current process. It is reusable because other process definitions can call this process as well. The linked process defines its input and output parameters and has no access to the caller's scope or environment. The linked process is similar to the nested process that was available in former versions; there is no change to the behavior of the activity. Existing nested processes will be migrated to linked processes. The linked process looks like a subprocess with a thick boundary and is highlighted in the Inspector window.

Loops

BPMN provides the concept of an activity that can be repeated. The activity can be atomic, meaning that the activity repeats, or it can be a subprocess, encapsulating a series of steps that are repeated. If you expand the repeated activity, you can see the contained activities that are to be run repeatedly. The condition is always evaluated at the start of each loop iteration. There is no ability to evaluate at the end of each loop iteration.

IBM Business Process Manager has a multi-instance loop, which is executed some finite number of times with the activities contained within executed sequentially or in parallel. See the related links for more information.

Importing non-BPMN processes

You can import models that were created in IBM WebSphere Business Modeler and use them in Process Designer. For information about the twx import, see Mapping IBM WebSphere Business Modeler elements to IBM Business Process Manager constructs. You can also import BPMN 2.0 models that were created in IBM WebSphere Business Modeler, Rational Software Architect, or other modeling environments. See the related links for more information.