We currently use a sequential workflow to process documents. We have a total of 10 distinct workflow steps. We have re-analyzed the workflow and realized that we could restructure the workflow to process in parallel a number of the workflow steps. Basically we are able to process steps 1,2,3,4 in parallel, wait until steps 1-4 are completed and then process step 5, then process steps 6,7,8,9 in parallel wait until steps 6-9 are completed and then finally process step 10. If we were able to imple开发者_如何转开发ment this new workflow we could boost our processing throughput dramatically.
My question is: What java-based open-source workflow projects would you recommend? Do they typically support what I outlined above?
Thanks for all the replies. After taking a quick look at the the websites you all have listed I think I have more than enough to chew on for a while.
I have used jBPM, and it's pretty nice. It has the parallel processing (forking) and waiting for tasks to be done (joining) the workflow.
The latest version supports a standard notation for business processes - BPMN 2.0
There is a commercial one called Appian in case you are interested in.
http://www.appian.com/
You could have a look at YAWL.
Spring batch is really nice
http://static.springsource.org/spring-batch/
You can define the jobs right in XML. Has a fairly steep learning curve though, may be too much for a single process if you don't plan to do any more batch processing.
I'd suggest that you check out Bonita Open Solution. It can do the parallel processing you describe, the provided IDE/Studio is pretty good and the out-of-the-box portal functionality is nice.
I have worked on Appian BPM and jBPM. Both are good tools to choose. For complex requirements, Appian BPM should be a really nice option.
精彩评论