I have a variety of questions about developing and deploying with Activiti. We are planning on using Activiti in a re-write of our existing software. I'm trying to figure out the best way to start the software development process. The current proposed architecture is for us to use a grails application that runs on multiple servers behind a load balancer. We'd like to avoid the activiti stand-alone server and instead embed the activiti engine into our grails application, with the deployed processes (bar files) in the grails application war file. If we use the engine in an embedded fashion, is there any issue with having a standalone tomcat instance with the same bar files connected to the same database to monitor job progress?
Given the above deployment environment, would it be reasonable to do application upgrades in a rolling fashion, provided the new application code didn't conflict with the old ? (shutdown server 1, update code, restart server 1, shutdown server 2, update code, restart server 2, etc…) Or is this a problem for activiti if there are potentially different version of the same deployed processes (bar files) acting against the database?
Also, what are the main issues with this type of deployment, considering the load-balanced environment? Are there any issues we need to be aware of in regard to transactions from these servers?
Thanks again
Ned