选择哪个工作流引擎?

时间:2011-02-09 00:29:41

标签: java architecture workflow jbpm bpms

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

我的主要评估标准如下

  1. 开源和OEM友好许可
  2. 生产装置(成功案例是一个很大的帮助)
  3. 提供商业支持
  4. 开放标准支持 - BPMN
  5. 基于输入
  6. 动态创建/组装工作流程
  7. 嵌入
  8. 目前我正在评估Activiti和JBPM。 Bonita开放式BPM似乎也是一个很好的候选者,但从未使用它。你们在Bonita上有成功的部署吗?

3 个答案:

答案 0 :(得分:10)

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

事实上,两种解决方案之间似乎很少。

  1. Activiti是Apache V2,jBPM 5.0也是Apache V2。
  2. 我们目前正在使用Activiti,但该项目仍处于开发阶段,因此我无法评论其在生产方面的稳健性。
  3. jBPM正在开始产品化过程,因此将在2012年第一季度提供对5.x的支持,请参阅幻灯片32:jBPM demo。 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. 同样,不确定这是什么意思,你的意思是嵌入作为应用服务器的一部分,在这种情况下,对于这两种解决方案都是。
  7. 我们对jBPM的一个标准是与Guvnor的交互,当我下载并运行jBPM(28/03/2011)的演示安装时,似乎仍然存在一些重大错误(GUVNOR-1274),所以在我选择推行这个解决方案之前,我个人会测试更多。

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

答案 1 :(得分:4)

虽然我没有什么实际经验,但最近我确实对java BPM选项进行了研究。我把它缩小到3:

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

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

Drools v jBPM

如果您有一个自信的开发团队并且要求不是太复杂,那么总是值得考虑自己开发。当你尝试采用你的领域模型来适应这样的系统时,BPM可能导致贫血领域模型(如本文Rules Engine pros and cons中所述关于规则引擎),同样为您的企业定制的精心构建的系统总是会更有效。

根据您的标准:

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

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

商业支持可用于

开放标准支持 - BPMN - 两者都实现BPMN,并且由于开源项目的性质,因此非常符合标准。

根据输入动态创建/组装工作流程。两者虽然通常很容易手动实现。

Eembeddable - 两者都提供整个系统,但都经过调制,因此应将其嵌入到现有系统中。

答案 2 :(得分:1)

我不使用MS堆栈? WWF 4.0 for the engine,re-hostable designer。 WCF用于通信。用于BI的MS Sql Server。很多.NET开发人员帮助构建和定制。除了Windows目标之外,不依赖于外部供应商。