AnsweredAssumed Answered

Activiti deployment

Question asked by hbacanak@hotmail.com on Feb 27, 2015
Latest reply on Apr 20, 2016 by jbarrez
Situation:
I have multiple web applications(lets call them client applications) that need to manage a set of processes(intersecting).  From what I have gathered, best course of action (correct me if i am wrong) is to deploy activiti engine standalone (lets call it server application)and drive activiti engine through rest calls.

I need clarifications/suggestions for:
1 – Is all i need activiti-rest.war activiti-explorer-war or is it for demo purposes and i should create server application myself. My current understanding is that
1a) If i should use activiti-rest & activiti-explorer in production environment, typical scenario seems to be:
-   Create a project for process development(lets call it processes project)
-   Perform unit testing through a custom engine configuration.
-   Generate jars for java classes.
-   Add jars to production path
-   Deploy processes.
-   Access from client applications through rest api

In this scenario I don’t understand what is the best course of action handling process development. Lets say multiple team members working on process project and updated a number of processes and we are updating production server.

Q1) Should i track changed processes and deploy them? which is error prone
Q2) Should i deploy all the processes? which seems less than ideal because i am creating a new version of processes that didn’t change.

1b) If i should create a custom application and an activiti engine, no need for a seperate project,  process classes and resources will be in the custom server application. In this case:

Q3) again how to manage changed processes? There must be a way to track them, i guess i am looking for something like declaring process version, and the engine checks the version against the database and deploy if a newer version is detected such as
<process id="my-process" version=”1.1” >
BPMN2.0 standard does not include versioning according to activiti user guide. But I couldn’t figure out how activiti engine is meant to handle project versions automatically. Am I missing something?

Q4) How can i expose rest functionality through custom server app? ( there seems to be spring-boot-starter-web jar exposing rest functionality. Is it for only spring boot apps? What about non boot spring apps should i use the same jar or there is another one?)

Outcomes