Please wait, loading...

 
OfficeJohn Eccles House, Robert Robinson Avenue, Oxford Science Park Oxford, Oxfordshire OX4 4GP
Visit our social pages

Camunda to Activiti Migration

Xpergia engaged with one of the clients to migrate their production workflow systems from Alfresco Enterprise Activiti to an Open Source BPMN solution to help reduce their operational cost while at the same time ensuring their production workflow systems functioned smoothly.

Community edition of Camunda was chosen as the preferred solution for the following reasons –

  1. Camunda has been forked from Activiti, so there were lot of similarities which made transition easy.
  2. Most of the required features were available in Camunda Community edition.
  3. APIs were available to support custom implementations of certain features like LDAP integration etc.
  4. Good and active community support available for Camunda.

The Challenge

The migration project involved more than 200 BPMN models, Decision Tables and User Tasks in less than 3 months along with Dockerization of Camunda deployment. Some of the challenges identified as part of the migration were as follows.

  1. Conversion of User Task Forms
  2. Support for uploading files up to 1G size to S3 bucket
  3. LDAP Integration with offline support
  4. Plugin support for showing completed User Tasks which was not available in Camunda Community Edition

The volume of effort required for model conversion, the timeline to finish this, and the unknowns after the initial analysis made the project very challenging.

The Solution

  1. Process Diagrams – From the Activiti app the processes were exported as XML files. This was used by the Camunda modeler to create the BPMN files required for Camunda.
  2. Service Tasks – The java classes were modified to extend JavaDelegate. Process instance information such as process variables and other information can be accessed and manipulated through the DelegateExecution interface instead of ActivitiExecution.
  3. User Task Forms – From the form builder in Activiti the forms were exported as JSON. We developed a script to convert these JSON forms to HTML files which were embedded in BPMN models.
  4. Decision Tables – From the Activiti app the decision tables were exported as XML files. This was used by the Camunda modeler to create the DMN files.
  5. LDAP Integration – The IdentityService provided by Camunda requires the LDAP to be online to work, however the LDAP in the client’s environment can occasionally go offline and that was a challenge. In order to overcome this, we wrote a custom LDAP Service Provider in Camunda which can cache the user and group details from LDAP in a local database.
  6. Plugin to show completed User Tasks – Camunda Task List Plugins was used to query the completed  user tasks and display the results accordingly.

 

The Results

OUR LOCATIONS
https://xpergia.com/wp-content/uploads/2020/04/img-footer-map_revised.png
FOLLOW US
XPERGIAHeadquarters
Organically grow the holistic world view of disruptive innovation via empowerment.
OUR LOCATIONSWhere to find us?
https://xpergia.com/wp-content/uploads/2019/04/img-footer-map.png
GET IN TOUCHXpergia Social links
Taking seamless key performance indicators offline to maximise the long tail.

© Xpergia Limited. All rights reserved.

Copyright by Xpergia. All rights reserved.