Skip to content
Last updated

BPMN sub-processes and call activities

Sub-processes and call activities are non-atomic pieces of work within a business process. They are - besides the tasks - a graphical representation of Activities.

Sub-processes can occure with different types.

The sub-provess types, that are defined by BPMN are:

  • none
  • loop
  • muilti-instance
  • compensation
  • ad hoc
  • transaction

A sub-process is a non-atomic (compound) Activity that is included within a business process or a choreography. It is compound in that it can be broken down into a finer level of detail through a set of sub-Activities.

A transaction is a sub-process that is supported by a special protocol that insures that all parties involved have complete agreement that the activity should be completed or cancelled. The attributes of the activity will determine if the activity is a transaction.

No.JSON request / definitionJSON request / shapeGraphic displayBPMN definitionBPMN display
1"properties": {
  "type": "subProcess",
  "kind": "OBJ"
}

or:
"properties": {
  "type": "subProcess",
  "kind": "OBJ",
  "processMarker": "none"
}
"properties": {
  "type": "subProcess"
}
GRAPHIC-subProcess<subProcess> ...
</subProcess>
BPMN-subProcess
2"properties": {
  "type": "subProcess",
  "kind": "OBJ",
  "processMarker": "parallelMultiple"
}
"properties": {
  "type": "subProcess"
}
GRAPHIC-subProcessWithParallelMultiple<subProcess> ...
<multiInstance-
LoopCharacteristics/> ... </subProcess>
BPMN-subProcessWithParallelMultiple
3"properties": {
  "type": "subProcess",
  "kind": "OBJ",
  "processMarker": "loop"
}
"properties": {
  "type": "subProcess"
}
GRAPHIC-subProcessWithLoop<subProcess> ...
<standardLoop-
Characteristics/> ... </subProcess>
BPMN-subProcessWithLoop
4"properties": {
  "type": "subProcess",
  "kind": "OBJ",
  "processMarker": "compensation"
}
"properties": {
  "type": "subProcess"
}
GRAPHIC-subProcessWithCompensation<subProcess isFor-
Compensation="true"> ...
<standardLoop-
Characteristics/> ... </subProcess>
BPMN-subProcessWithCompensation
5"properties": {
  "type": "subProcess",
  "kind": "OBJ",
  "processMarker": "adHoc"
}
"properties": {
  "type": "subProcess"
}
GRAPHIC-subProcessWithAdHoc<adHocSubProcess> ... </adHocSubProcess>
BPMN-subProcessWithAdHoc
6"properties": {
  "type": "transaction",
  "kind": "OBJ"
}

or:
"properties": {
  "type": "transaction",
  "kind": "OBJ",
  "processMarker": "none"
}
"properties": {
  "type": "transaction"
}
GRAPHIC-transaction<transaction> ...
</transaction>
BPMN-transaction

BPMN call activity

A call activity identifies a point in the business process where a global (re-used) sub-process or a global (re-used) task is used. The call activity acts as a wrapper for the invocation of a global sub-process or a global task within the business process.

No.JSON request / definitionJSON request / shapeGraphic displayBPMN definitionBPMN display
7"properties": {
  "type": "callActivity",
  "kind": "OBJ"
}

or:
"properties": {
  "type": "callActivity",
  "kind": "OBJ",
  "processMarker": "none"
}
"properties": {
  "type": "callActivity"
}
GRAPHIC-callActivity<callActivity> ...
</callActivity>
BPMN-callActivity