4

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

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

可能的候选者包括 Drools 5 中新的 Drools Flow 流程引擎,以及来自 OpenSymphony 的 OSWorkflow。根据我目前的理解,OSWorkflow 似乎提供了更多我想要的东西(Drools Flow 似乎并没有以审计历史的方式存储太多);然而,OSWorkflow 的最新版本是在 2006 年初发布的。当 OSWorkflow 不再处于积极开发中时,现在使用它是不是一个错误?

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

4

4 回答 4

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
流口水

于 2009-06-09T21:21:55.807 回答
4

我对你提到的候选人没有任何经验,但从我从事的项目来看,jBPM可能值得一看。与我合作过的很多开发人员都对它发誓,我认为它非常符合您的标准。

于 2009-06-09T10:33:23.660 回答
4

Drools Flow 比 jBPM 和 OSWorkflow 都更加复杂和强大,而且开发的速度也比这两者都快。我们在这里提供了很多细节和截图: http ://www.jboss.org/drools/drools-flow.html

但总的来说。您可以跨规则、工作流和事件处理进行交互式调试。您拥有更大的内置节点集,从而增加了可以直接以声明方式建模的问题数量。相关(跨规则、流程和事件)审计日志和报告。通过我们的可插拔工作项,我们提供了一种非常简单但功能强大的机制来构建特定领域的工作流。

Drools 5.0 刚刚发布,5.1 将在接下来的 4 到 6 周内发布。我们正在为此添加模拟和测试,使用 MVEL DSL,我们相信这将是一个巨大的成功。这还将包括对流程的远程管理 GUI 进行更广泛的工作,所有这些都集成到 Guvnor 中。

Drools 团队还以比任何其他提到的项目更易于访问而自豪。随意弹出到 irc 聊天。

标记

于 2009-06-09T21:14:33.107 回答
1

我在这两个方面都有经验。我还参与了将 OSWorkflow 中的现有流程迁移到 Drools 5.0 的工具。您可以在以下网址阅读相关文章: http: //blog.athico.com/2009/01/drools-flow-and-osworkflow-migration.html。值得一提的是,创建此迁移工具/转换器是为了允许使用 OSWorkflow 的旧项目升级到 Drools 5.0 并利用所有 Drools 5.0 业务集成平台。

问候

于 2009-06-09T19:29:30.540 回答