What architecture to provide a modular BPM solution?
- Based on Java (JSF, Spring, JPA)
- Modular architecture
- Strongly designed around BPM processes
- I开发者_C百科solate workflow engine from user task forms (in order to provide fault tolerance)
I have found several bpm alternatives such as jBPM, Activiti, Intalio or Enhydra. By now, I like Activiti approach but I don't find a suitable solution for a modular architecture and user task forms isolation. Perhaps, a multimodule maven project (ie, one jar module per procees) or a OSGi option would fit but I don't know how to wire up all these pieces.
What would you recommend me in my quest?
Thanks very much in advance
Intalio runs the user tasks in a separate web application. It can be deployed to a different server from the runtime engine.
I think that you might be interested by the upcoming version 7 of Bonita BPM.
Engine conception is services oriented and all implementations are injected using Spring. Persistence is handle directly by Hibernate (no JPA) but make use of JTA.
Architecture is separated into three main components:
- Studio: the development environment for BPMN process modeling
- UI Designer: to define forms and pages that will be used for process execution as well as for applications creation. it's a custom AngularJS solution that is used here but you can as well use any alternative solution you want thanks to Engine API.
- Portal: web interface for administration and end users operation.
- Engine: component that actually execute the process definition build using the Studio. Engine provides a set of API available using REST or a Java client library.
The Engine is the core of the Solution and Portal is built on top of it using Engine API.
Process definition actually declare a set of contract at process and step level to define what data must be provided by the forms in order to start a new process instance or execute a task. So we have a loosely coupled design here.
精彩评论