Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有使用Drools Flow和/或OSWorkflow的经验?_Java_Workflow_Drools_Opensymphony_Osworkflow - Fatal编程技术网

Java 是否有使用Drools Flow和/或OSWorkflow的经验?

Java 是否有使用Drools Flow和/或OSWorkflow的经验?,java,workflow,drools,opensymphony,osworkflow,Java,Workflow,Drools,Opensymphony,Osworkflow,我正在寻找一个简单的Java工作流引擎: 可以在工作流中处理自动和手动(基于GUI)步骤 支持长时间运行的异步任务 支持在服务器崩溃时重新启动工作流 存储以前执行的工作流的完整审核历史记录 提供对此审核历史数据的轻松访问 可能的候选者包括Drools 5中新的Drools流处理引擎和OpenSymphony的OSWorkflow。从我目前的理解来看,OSWorkflow似乎提供了更多我想要的东西(Drools Flow似乎没有以审计历史的方式存储太多);然而,OSWorkflow的最新版本要

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

  • 可以在工作流中处理自动和手动(基于GUI)步骤
  • 支持长时间运行的异步任务
  • 支持在服务器崩溃时重新启动工作流
  • 存储以前执行的工作流的完整审核历史记录
  • 提供对此审核历史数据的轻松访问
可能的候选者包括Drools 5中新的Drools流处理引擎和OpenSymphony的OSWorkflow。从我目前的理解来看,OSWorkflow似乎提供了更多我想要的东西(Drools Flow似乎没有以审计历史的方式存储太多);然而,OSWorkflow的最新版本要追溯到2006年初。当OSWorkflow不再处于活动开发中时,现在使用它是错误的吗


是否有人对这两种框架中的任何一种都有丰富的经验?有没有其他工作流引擎我应该看看?欢迎所有推荐-谢谢。

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

我在这两方面都有经验。。我还参与了一个将OSWorkflow中的现有流程迁移到Drools 5.0的工具。您可以在中阅读有关这方面的文章:。值得一提的是,创建此迁移工具/转换器是为了允许使用OSWorkflow的旧项目升级到Drools 5.0,并利用所有Drools 5.0业务集成平台


问候语

Drools Flow比jBPM和OSWorkflow都要复杂和强大得多,而且开发速度比两者都快。我们在这里提供了很多详细信息和屏幕截图:

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

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

Drools团队也为自己比其他提到的项目更容易访问而自豪。请随意打开irc聊天


标记以澄清Drools Flow如何支持您所描述的需求(请参阅):

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

  • 支持长时间运行的异步任务
该引擎允许您启动可以长期运行的进程。流程支持不同类型的等待状态(工作项节点、事件节点、事件等待节点、子流程等),以对长时间运行的流程进行建模。外部任务可以同步或异步集成

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

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

  • 提供对此审核历史数据的轻松访问
历史数据使用几个简单的数据库表存储。这些表可以直接查询,也可以用于生成自定义报告(第12.1章),其中显示与应用程序相关的关键性能指标

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

克里斯·韦莱恩

Drools Flow Lead

Kris,非常感谢您的全面回答。现在,我正在使用Drools Flow构建一个概念验证工作流-到目前为止还不错。我可能会有一些问题,希望能在irc上看到你们。再次感谢。在对他们的新API(4.3)感到非常失望之后,刚刚离开jBPM。马克,谢谢你(和克里斯)的回答。我肯定会使用irc来回答我的任何问题。jBPM似乎做得不太好。随着一些核心开发人员跳槽,我怀疑JBoss最终会迁移到Drools Flow作为他们的标准工作流实现;我想这是从一个局外人的角度来看的。