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 / definition JSON request / shape Graphic display BPMN definition BPMN 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 / definition JSON request / shape Graphic display BPMN definition BPMN display
7 "properties": {
  "type": "callActivity",
  "kind": "OBJ"
}

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