Drools Flow和/或OSWorkflow的经验?

Ala*_*rey 4 java workflow drools osworkflow opensymphony

我正在寻找一个简单的Java工作流引擎:

  • 可以处理工作流程中的自动和手动(基于GUI)步骤
  • 支持长时间运行的异步任务
  • 提供对在服务器崩溃时重新启动工作流的支持
  • 存储先前执行的工作流程的完整审核历史记录
  • 可以轻松访问此审核历史数据

可能的候选者包括Drools 5中的新Drools Flow流程引擎和OpenSymphony的OSWorkflow.根据我目前的理解,OSWorkflow似乎提供了更多我想要的东西(Drools Flow似乎并没有像审计历史那样存储太多); 然而,OSWorkflow的最新版本早在2006年初就已经出现了.现在使用OSWorkflow不再处于活跃开发阶段是错误的吗?

有没有人对这两个框架中的任何一个/两个都有很多经验?我应该看看还有其他工作流引擎吗?欢迎所有建议 - 谢谢.

小智 7

只是为了澄清Drools Flow如何支持您所描述的要求(请参阅Drools Flow文档):

  • 可以处理工作流程中的自动和手动(基于GUI)步骤

Drools Flow使用(特定于域的)工作项(第8章)与外部系统进行交互.这些可以是自动化服务,也可以是人工任务管理组件(第9章),用于手动任务.此人工任务组件是完全可插拔的,但Drools Flow支持开箱即用的WS-HumanTask实现.Drools 5.1将包括基于Web的任务列表,包括自定义任务表单.

  • 支持长时间运行的异步任务

引擎允许您启动可以长时间存在的进程.该过程支持不同类型的等待状态(工作项节点,事件节点,事件等待节点,子进程等)来模拟长时间运行的进程.外部任务可以同步或异步集成.

  • 提供对在服务器崩溃时重新启动工作流的支持

通过启用持久性,可以轻松地将所有流程实例的运行时状态存储在数据源中(第5.1章).因此,可以在服务器崩溃后的状态下简单地恢复所有进程.

  • 存储先前执行的工作流程的完整审核历史记录

Drools Flow会生成有关执行流程期间发生的事件的事件.通过启用审计日志记录(第5.3章),这些事件可以存储在数据库中,提供执行期间发生的任何事件的完整审计历史记录.

  • 可以轻松访问此审核历史数据

使用一些简单的数据库表存储历史数据.可以直接查询这些表,也可以将其用于生成自定义报告(第12.1章),以显示与您的应用程序相关的关键性能指标.

此外,我们相信,与上述面向流程的引擎相比,面向知识的方法允许您在必要时将流程与规则和事件处理无缝地结合在一起,将为您提供更多的功能和灵活性.

Kris Verlaenen
Drools Flow Lead