Skip to content

What's supported for process design?

Stetson Robinson edited this page Apr 10, 2020 · 6 revisions

IMPORTANT: This Kogito wiki is deprecated. For the latest Kogito documentation, see the Kogito documentation page. To contribute to Kogito documentation, see the master-kogito branch of the kie-docs repository in GitHub.

Kogito takes advantage of BPMN2 as language to model your business logic as workflow. It originates from jBPM and by that brings in execution capabilities of the process engine. Although since it has number of additional requirements not all BPMN2 constructs are supported at the moment. They are being added gradually with every release of Kogito

Supported BPMN2 constructs for process design

Start events

Type Description Since version

None

None start event allows to explicitly instantiate new process instance without any triggers

0.1.0

Message

Message start event allows to instantiate new process instance based on incoming message, message data input is required

0.2.0

Signal

Signal start event allows to instantiate new process instance based on a signal.

0.8.0

Timer

Timer start event allows to instantiate new process instance based on a timer expression.

0.9.0

End events

Type Description Since version

None

None end event causes current branch of the process to finish not finishing any other branch that is active, completes process instance when it is the only active branch of the process instance

0.1.0

Terminate

Terminate end event makes complete process instance to complete

0.1.0

Error

Error end event makes complete process instance to complete with associated error

0.1.0

Message

Message end event allows to send a message upon completion of the process instance or given path, message data output is required

0.2.0

Tasks

Type Description Since version

Script

Script task allows to execute arbitrary java code as part of the process execution

0.1.0

User

User task allows to assign given work to human actors

0.1.0

Service

Service task allows to invoke service operations - a method from a class

0.1.0

Business rule

Business rule task allows to invoke business rules evaluation - DRL

0.1.0

Work item

Work item task allows to invoke tailored handler class to perform the logic behind given task

0.1.0

Call activity (Reusable subprocess)

Call activity task allows to create sub process instance from within process

0.1.0

Embedded subprocess

Embedded subprocess allows to wrap number of activities to be considered as separate subprocess but stays in the context of the same process instance as opposed to Call activity.

0.5.0

Gateways

Note
Syntax for conditions is limited to java expressions
Type Description Since version

Exclusive (XOR)

Exclusive gateway allows to find only one path to follow based on condition

0.1.0

Inclusive (OR)

Inclusive gateway allows to find one or more paths to follow based on condition

0.1.0

Parallel (AND)

Parallel gateway allows to all defined paths without any condition check

0.1.0

Event (AND)

Event gateway allows to wait for one of many events to arrive (timer, signal, message) and select only one path for the event that arrived first. All other are canceled.

0.1.0

Intermediate catch events

Type Description Since version

Signal

Signal event allows to pause process instance and wait for given signal to arrive with optional data

0.2.0

Message

Message event allows to pause process instance and wait for given message to arrive with data

0.5.0

Timer

Timer event allows to pause process instance and wait specified amount of time before continuing. NOTE: at the moment it issues in memory timers that won’t survive application restarts

0.5.0

Boundary events

Type Description Since version

Signal

Signal event allows to attach extra path to activity and wait for given signal to arrive with optional data

0.2.0

Message

Message event allows to attach extra path to activity and wait for given message to arrive with data

0.5.0

Timer

Timer event allows to attach extra path to activity and wait specified amount of time before continuing. NOTE: at the moment it issues in memory timers that won’t survive application restarts

0.5.0

Intermediate throw events

Type Description Since version

Message

Message event allows to send a message with data mapped from process instance variable

0.5.0

Multi instance characteristic

Type Description Since version

Call activity

Multi instance characteristic applied on call activity that allows to create new instance of the reusable subprocess for each item of the collection

0.2.0

Service task

Multi instance characteristic applied on service task that allows to create new instance of the service invocation for each item of the collection

0.2.0

User task

Multi instance characteristic applied on user task that allows to assign user task for each item of the collection

0.2.0