I am interesting in hearing views on best use cases for running embedded? By contrast I'd also like to hear when running embedded would *Not* be a good choice along with its limitations?
A little background regarding our client's situation. They are running legacy jBPM (~v. 3.2) which they are very unhappy with. They have a very limited staff both in terms of BPM skills and number of developers to maintain it. Their system is also a legacy system of ~ 85% Oracle PL/SQL & 15% Java code. In a nutshell jBPM was poorly architected, implemented and integrated in a tightly coupled fashion with their current system and now it is their weakest link and greatest headache. In addition it did not have a good migration path forward for their 'limited' team working with it. We need something much more loosely coupled to their legacy system and easier to deploy, maintain and upgrade. One technical adviser recommended ditching BPMs altogether and writing everything in Java for simplicity sake. IMO, that is not very practical given the nature of the application which has long running processes and requires some human interaction among other things.
I've thought that embedding a BPM might be easier for them to maintain and understand vs. a separate deployment. There is also a separate group handling middleware which can be problematic. I'm just not sure of the pros and cons of embedded. The Java app will run within Weblogic app server and using Spring. Are there any foreseen issues running the latest jBPM inside a JEE container embedded with the application? Thanks for any tips or suggestions regarding the benefits of embedded over other configurations.