cancel
Showing results for 
Search instead for 
Did you mean: 

Guidance on preparing to upgrade Activiti 6 to Activiti 7

cmaslen
Champ in-the-making
Champ in-the-making

Hi,

We are currently preparing to build a workflow capability in within our application leveraging the Activiti Process Engine API to offer the following functionality to our users:

  1. Ability to define their own BPMN models and upload them to our system. The idea here is users can link our process together with manual steps (e.g. approval) in anyway that matches their own internal processes. These models can be versioned over time so users can simply update a BPMN with a newer version and have it take effect at a point in time.
  2. Ability to include the initiation of our own processes within their BPMN models. With Activiti 6 we planned on using a Java Service Task for this purpose. The expected inputs would be things like the process name (within our system - likely injected as a field at design time) and some identifying values such as a party ID. The output would be a URL that is read by our application and used to launch the correct page for the process they defined in the task.
  3. Ability to initiate and progress process instances from our application (i.e. we do not leverage Activiti Forms).
  4. Ability to present users with their own in boxes.
  5. Ability to set up queues and assign users to queues so they can pick up their own tasks or have the system assign tasks to them.

With Activiti 6 implementing the above seems pretty straight forward. Point 1 is implemented by utilizing the RepositoryService.

Point 2 is implemented by implementing a JavaDelegate and publishing how the BPMN XML should look to activate it correctly (later our UI will handle this correctly under the covers).

Point 3 is all us on the UI side with calls to the REST end points Activiti 6 exposes.

Point 4 is all us on the UI side with calls to get the correct list of tasks via the Activiti 6 end points.

Point 5 we expect to map queues to groups.

With Activiti 7 the following is not so clear:

  1. Applications are now deployed to Runtime Bundles that are immutable. If this is the case how do we allow our users to update their BPMN models? Will we need to build a mechanism that effectively provisions a new Runtime Bundle with all the existing BPMN models and the newly updated model the user uploaded?
  2. It's not clear to me what will happen to Java Service Tasks. Should we migrate them to plain Service Tasks and build cloud connectors? Can we continue to use Java Service Tasks or are they being deprecated?

Points 3 - 5 look OK.

More broadly should we push out our implementation plans to when Activiti 7 is stable and to avoid any sunk costs in consuming Activiti 6 using mechanisms that will change in Activiti 7?

Thanks in advance,

Christian.

1 ACCEPTED ANSWER

salaboy
Star Collaborator
Star Collaborator

Thanks @ryandawoson, I totally agree, join our Gitter channel (ping us) and let's have a catch up via Skype/Zoom to check your requirements more in detail. We have done this for other community users and we can recommend what is the best way to go. As you notice, the Cloud Native approach is different and we realize that not everyone can jump in that approach straight away. 

We are working hard to release Beta1, and then we will work to improve the experience so you can build and release Activiti Cloud applications in a Continuous Delivery (CD) fashion. 

View answer in original post

2 REPLIES 2

ryandawson
Elite Collaborator
Elite Collaborator

This is an interesting use-case and it would be good to discuss it more, preferably with Mauricio Salatino and the rest of the core Activiti7 team. Would you be able to join the Activiti7 gitter chat channel? I think it would be a better way to work through what the best path for you to follow is and perhaps we can come back and update this thread afterwards. If gitter doesn't work for you then please let us know.

salaboy
Star Collaborator
Star Collaborator

Thanks @ryandawoson, I totally agree, join our Gitter channel (ping us) and let's have a catch up via Skype/Zoom to check your requirements more in detail. We have done this for other community users and we can recommend what is the best way to go. As you notice, the Cloud Native approach is different and we realize that not everyone can jump in that approach straight away. 

We are working hard to release Beta1, and then we will work to improve the experience so you can build and release Activiti Cloud applications in a Continuous Delivery (CD) fashion.