选择哪个工作流引擎?[已关闭]

我们目前正在评估 BPM 引擎,我非常感谢社区的意见。我正在做自己的尽职调查,但也想听听基于实施故事的建议。

我的主要评估标准如下

  1. 开源和OEM友好许可证
  2. 生产安装(成功案例是一个很大的帮助)
  3. 提供商业支持
  4. 开放标准支持 - BPMN
  5. 基于输入动态创建/组装工作流
  6. 嵌入

目前,我正在评估Activiti和JBPM。Bonita open BPM似乎也是一个很好的候选者,但从未使用过它。你们在Bonita上有任何成功的部署吗?


答案 1

我刚刚对Activiti与jBPM进行了评估。

事实上,这两种解决方案之间似乎没有什么区别。

  1. Activiti是Apache V2,jBPM 5.0也是Apache V2。
  2. 我们目前正在使用Activiti,但该项目仍在开发中,所以我无法评论它在生产中的健壮性。
  3. jBPM 正在开始产品化过程,因此对 5.x 的支持将在 2012 年第 1 季度推出,请参阅幻灯片 32:jBPM 演示。Redhat 不支持 jBPM 4。
  4. jBPM 4.x不支持BPMN 2.0,但5.x支持,Activiti也支持。jBPM 5.0 刚刚发布,其中包括对 BPMN 2.0 的支持。所以现在这两个解决方案都支持BPMN 2.0。
  5. 我不太确定你这么说是什么意思,但你可以通过这两个API做很多事情。
  6. 同样,不确定您所说的是什么意思,您的意思是作为应用程序服务器的一部分嵌入,在这种情况下,对于这两种解决方案都是肯定的。

我们对jBPM的标准之一是与Guvnor的交互,当我下载并运行jBPM的演示安装(28/03/2011)时,似乎仍然存在一些主要错误(GUVNOR-1274),因此在我选择采用此解决方案之前,我个人会进行更多的测试。

实际上,我们将推荐上述两种解决方案之一,但我们不确定是哪种解决方案,我们将在今年晚些时候更仔细地研究它。


答案 2

虽然我几乎没有实践经验,但我最近确实对java BPM选项进行了研究。我将其缩小到3:

Drools社区似乎更活跃,工具更好,规则引擎非常复杂(因为这是流口水的基础),但周围的业务流程很好地集成在一起。然而,jBPM更专注于业务流程和光滑度。它们都由 JBoss 管理

Drools和JBPM之间的进一步比较可以在这里找到:

Drools v jBPM

如果你有一个自信的开发团队,并且需求不是太复杂,那么总是值得考虑推出你自己的。BPM可能导致域模型贫血(如本文所述 规则引擎 关于规则引擎的优缺点 ),因为您尝试采用域模型来适应此类系统,并且为您的业务定制的构建良好的系统总是会更有效。

就您的标准而言:

开源和OEM友好的许可证 - Drools使用自由的“ASL / BSD / MIT式许可证”,社区是活跃的。jBPM使用apache,eclipse和MIT许可证

生产安装。我知道流口水被许多保险公司和信用检查员使用,不确定jBPM

商业支持适用于两者

开放标准支持 - BPMN - 既实现了BPMN,又由于开源项目的性质非常注重标准。

基于输入的工作流的动态创建/组装。两者,尽管通常很容易手动实现。

Eembeddable - 两者都提供整个系统,但都是经过调制的,因此这应该适合嵌入到现有系统中。


推荐