I’ve been using Flowable since version (activiti) 5.11, always with an ‘execution only’ perspective, not particularly concerned about monitoring. In my current project, using version 6.5.0, we are really willing to use flowable in a proper way in the maters of modelling, execute and monitor…for monitoring purposes, we are thinking that Flowable Admin does everything we need…for execution, we are developing a Spring boot webapp, to create, for example, custom ServiceTasks for the client. My doubt is: if we have, in a same server, a flowable-admin, flowable-idm, flowable-rest and a custom spring boot flowable engine, are we increasing, for example, concurrency? Should we separate flowable wars and deploy it in a diferent server, using the same db? Should we do every monitoring ourselves (view instances, change vars, complete tasks, in the spring boot app), when the admin war does exactly the same, in a otimized way?
I believe that it could be pretty obvious to answer this, i’ve seen some topics about monitoring, but somehow in my mind, I still have some doubts of the best approach to have execution and monitoring.
Any insights, would be really appreciated…
Ok, I think one of the approaches could be, when having multiple ‘engines’ in a server, to otimize (at the multiple webapps) the flowable.process.async* properties…the problem here could be if the client centralizes all the Spring config at on specific (application.properties) file
From what I understood you want to run flowable-admin, flowable-idm, flowable-rest and a custom spring boot flowable engine on one server with the same database?
First of all, Flowable Admin is not a Flowable Engine. It uses the REST API to communicate with a Flowable Engine. So there is no impact here.
I guess you need Flowable IDM for the Flowable Admin.
As for Flowable REST and the Custom Spring Boot engine. If they are communicating with the same database (schema) then I would strongly advise against doing this. The reason is that the async executor from both engines will pick up processes from both engines. If you have some custom code in your Spring Boot engine then the Flowable REST application will not have access to the that code.
As you mentioned yourself you are using Spring Boot and the Flowable applications are Spring Boot as well. You can run every application on its own (they have embedded tomcat) and provide separate
application.properties for each one of them.
thanks for your reply…your understand was 100% correct: just to give you a bit more of context, we are using JAVA service tasks and we were developing and deploying it in a spring boot webapp, in the same server that’s already hosting the Admin, IDM, REST, Task apps…currently, our approach (testing) will be to only copy, to the rest webapp /WEB-INF/lib, the deployment artifacts, as mentioned here: https://flowable.com/open-source/docs/bpmn/ch13-Designer/#flowable-designer-deployment-features
Seems to be the best approach…