/
Camunda BPM Connector

Camunda BPM Connector



The Camunda BPM Connector is currently being developed. The information on this page is subject to change.

Interface to Camunda BPM

The Connector communicates with the process application (based on Camunda BPM) solely through REST APIs. Since the out of the box REST API of Camunda is not designed to retrieve all created human tasks including the required variables, the Connectors provides a dedicated additional REST endpoint, which needs to be added to the process application. This REST endpoint provides the details about created and deleted tasks in an efficient and fault tolerant way. 

To allow the REST service to provide the information about new tasks and cancelled/terminated tasks, the Connector contains some client-side code. This code needs to be added to each process application which is connected to TASKANA. 

The main part of this client-side code is the TASKANA TaskListener, which creates an event for each created or cancelled human task in the process. This event is stored in an dedicated event store, which is a database table placed in a seperate schema in the same database as the Camunda engine. This allows to write the event to the database inside the same transaction of the Camunda engine. The keeps the integrity of the event store stable. 



Information mapping from Camunda BPM to TASKANA

Information

Source

Target

Comment

Information

Source

Target

Comment

Domain

Process Variable 'taskana.domain' or Extension property 'taskana.domain' .

Task.domain

taskana.domain can be taken from process variables, process extension properties or task extension properties in the BPMN model. Domain definitions in process variables overwrites all other definitions. Task extension properties overwrites process extension properties. Process extension properties have the lowest importance.

Classification

Extension property 'taskana.classification-key' from human task in the BPMN model.

Task.classification_key

In TASKANA, each task is associated with a classification. This concept does not exist in Camunda BPM. Therefore the additional required information is stored at the human task in the BPMN model. This way, each human task in the process can have its own classification.

Taskname

Task.name

Task.name



Description

Task.description

Task.description



Assignee

Task.assignee

Task.owner



Due

Task.due

Task.due



Priority

Task.priority

-

Priority will be initialized from the configuration of the associated classifications.





Task.creator

(Technical) user of the adapter

Workbasket

Process variable with name 'taskana.workbasket-key' from human task in the BPMN model. 

Task.workbasket_key



Manual priority

Process variable with name 'taskana.manual-priority' from human task in the BPMN model. 

Task.manualPrioreity

If this process variable is existing, the manual priority will be set to its' value. If it is not existing the process variable will be set to the default value of -1.



The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 1

Process variable with name 'taskana.custom-int-1'

Task.customInt1

If this process variable is existing, the custom integer 1 will be set to its' value. If it is not existing the process variable will not be set.



The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 2

Process variable with name 'taskana.custom-int-2'

Task.customInt1

If this process variable is existing, the custom integer 2 will be set to its' value. If it is not existing the process variable will not be set.

 

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 3

Process variable with name 'taskana.custom-int-3'

Task.customInt1

If this process variable is existing, the custom integer 3 will be set to its' value. If it is not existing the process variable will not be set.

 

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 4

Process variable with name 'taskana.custom-int-4'

Task.customInt1

If this process variable is existing, the custom integer 4 will be set to its' value. If it is not existing the process variable will not be set.

 

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 5

Process variable with name 'taskana.custom-int-5'

Task.customInt1

If this process variable is existing, the custom integer 5 will be set to its' value. If it is not existing the process variable will not be set.

 

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 6

Process variable with name 'taskana.custom-int-6'

Task.customInt1

If this process variable is existing, the custom integer 6 will be set to its' value. If it is not existing the process variable will not be set.

 

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 7

Process variable with name 'taskana.custom-int-7'

Task.customInt1

If this process variable is existing, the custom integer 7 will be set to its' value. If it is not existing the process variable will not be set.

 

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 8

Process variable with name 'taskana.custom-int-8'

Task.customInt1

If this process variable is existing, the custom integer 8 will be set to its' value. If it is not existing the process variable will not be set.

 

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom attributes

List of relevant process variables (see comment)

Task.custom_attributes

Extension property 'taskana-attributes' from BPMN model contains a comma-seperated list of process variable names, which should be copied to TASKANA. These variables will be stored in the generic JSON structure 'custom_attributes'.



Related content

TASKANA Adapter
TASKANA Adapter
More like this
Adapter Properties
Adapter Properties
Read with this
Adapter Design
Adapter Design
More like this
Outbox and Listener Configuration
Outbox and Listener Configuration
Read with this
Installation Guide for the ParseListener and TaskListener
Installation Guide for the ParseListener and TaskListener
More like this
TASKANA Connector
TASKANA Connector
More like this