views:

2498

answers:

4

I'm looking for a straightforward Java workflow engine that:

  • can handle both automated and manual (GUI-based) steps within a workflow
  • supports long-running, asynchronous tasks
  • provides support for restarting workflows in the event of a server crash
  • stores a full audit history of previously executed workflows
  • provides easy access to this audit history data

Possible candidates include the new Drools Flow process engine in Drools 5, and OSWorkflow from OpenSymphony. From my current understanding, OSWorkflow seems to offer more of what I want (Drools Flow doesn't appear to store much in the way of an audit history); however, the most recent release of OSWorkflow was back in early 2006. Is it a mistake to now use OSWorkflow when it's no longer under active development?

Does anyone have much experience with either/both of these frameworks? Are there any other workflow engines I should be looking at? All recommendations welcome - thanks.

+3  A: 

I've not had any experience with the candidates you've mentioned but judging from the projects that I've worked on it might be worth looking at jBPM. Quite a few developers I've worked with swear by it and I think it fits your criteria quite nicely.

digitalpardoe
+1 Sounds like a good fit for jBPM.
Damo
jBPM does not seem to be doing so well. With some of the core developers jumping ship, I suspect JBoss will end up migrating to Drools Flow as their standard Workflow implementation; thought this is from the perspective of an outsider.
Richard Clayton
+1  A: 

I have experience with both.. also I was involved in a tool for migrating existing processes in OSWorkflow to Drools 5.0. You can read an article about that in: http://blog.athico.com/2009/01/drools-flow-and-osworkflow-migration.html. It is important to mention that this migration tool/translator was created to allow old projects that are using OSWorkflow to upgrade to Drools 5.0 and take advantages of all the Drools 5.0 Business Integration Platform.

Greetings

+3  A: 

Drools Flow is at lot more sophisticated and powerful than both jBPM and OSWorkflow and development is moving at a faster pace than either. We provide a lot of details and screenshots here: http://www.jboss.org/drools/drools-flow.html

But in summary. You get interactive debugging across rules, workflow and event processing. You have a larger set of built in nodes, improving the number of problems you can directly model declaratively. Correlated (across rules, processes and events) audit logging and reporting. We provide a very simple and yet powerful mechanism for building domain specific workflow, via our pluggable work items.

Drools 5.0 has just been released and 5.1 is going to follow in the next 4 to 6 weeks. We are adding simulation and testing for this, using an MVEL DSL, which we believe will be a huge hit. This will also include more extensive work for remote admin GUIs for processes, all integrated into Guvnor.

The Drools team also prides itself on being more accessible than any of those other mentioned projects. Feel free to pop onto irc for a chat.

Mark

Mark Proctor
Mark,Thanks for your (and Kris's) answers. I'll be sure to use irc for any further questions I have.
Alan Gairey
+5  A: 
Kris,Many thanks for the comprehensive answer.I'm now putting together a proof of concept workflow using Drools Flow - so far so good.It's likely I'll have a few questions as I go - hopefully see you on irc.Thanks again.
Alan Gairey
Just left jBPM after being horribly disappointed with their new API (4.3). Found Drools Flow and love it.
Richard Clayton