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.