bonitasoft bpm vs jBPM vs Activiti

时间:2011-09-02 04:48:29

标签: jbpm activiti bpms

我正在评估在我们的应用程序中使用的BPM产品。我想找出

  1. Bonitasoft / jBPM与Activiti
  2. 之间的差异
  3. 其中一些产品提供表单生成功能 - 它们有什么用处吗?您是否会使用它来代替自定义Web表单或自定义Web表单
  4. 由于

6 个答案:

答案 0 :(得分:36)

我也做过这样的研究。以下是与我们的具体用例相关的关键点:

<强> 1。博尼塔:

Bonita采用零编码方法,这意味着它们提供了一个易于使用的IDE来构建您的流程而无需编码。为实现这一目标,Bonita具有连接器的概念。例如,如果您想要使用Web服务,它们会为您提供图形化的wizzard。缺点是您必须手动编写纯XML SOAP信封并将其复制到图形文本框中。这种方法的问题在于您只能实现Bonita预期的用例。如果你想集成一个Bonita没有开发连接器的系统,你必须自己编写这样一个连接器,这是非常痛苦的。例如,Bonita提供了一个用于使用SOAP Web服务的SOAP连接器。此连接器仅适用于SOAP 1.2,但不适用于SOAP 1.1(http://community.bonitasoft.com/answers/consume-soap-11-webservices-bonita-secure-web-service-connector)。如果您有一个带有SOAP 1.1的遗留应用程序,则无法在您的过程中轻松集成此系统。数据库也是如此。专用数据库版本只有少数数据库连接器。如果您的版本与连接器不匹配,则必须自行编码。

此外,Bonita在免费社区版中不支持LDAP或Active Directory Sync,这对于生产环境来说是非常明显的。另一件需要考虑的事情是Bonita是根据GPL / LGPL许可证授权的,如果您想将Bonita集成到另一个企业应用程序中,可能会导致问题。此外,社区支持非常薄弱。有几个帖子超过2年,这些帖子仍未得到答复。

另一个重要的事情是 Business-IT-Alignment 。建模过程是一个协作学科,IT和业务分析师可以在其中进行调用。这就是为什么您需要为两个用户组提供足够的工具(例如,开发人员的Eclipse插件和商务人士易于使用的Web建模器)。 Bonita仅提供 Bonita Studio ,需要在您的计算机上安装。此IDE非常技术性,不适合业务用户。因此,很难与Bonita实现Business-IT-Alignment。

Bonita是一个非常简单易用的BPM工具。由于零编码方法,学习曲线非常低,您可以非常快速地开始建模。您需要较少的编程技能,并且无需编码即可实现流程。但是,只要您的流程变得非常复杂,Bonita可能就不是最佳解决方案,因为缺乏灵活性。您只能实现Bonita打算使用的用例。

<强> jBPM的:

jBPM是一个非常强大的开源BPM引擎,它具有很多功能。 Web建模者甚至支持某些 van der Aalst工作流模式(workflowpatterns.com)的预制模型。 Business-IT-Alignment是可实现的,因为jBPM提供了Eclipse集成以及基于Web的建模器。有点棘手的是,据我所知,您只能在Web建模器中定义表单,而不能在Eclipse插件中定义。总而言之,jBPM是在公司中使用的良好候选者。我们的showstopper是可扩展性。 jBPM基于Rules-Engine Drools 。这导致整个流程实例在数据库中作为BLOBS持久化。当您考虑搜索和可伸缩性时,这是一个关键的showstopper。

此外,由于复杂性,学习曲线非常高。 jBPM不提供像BPMN-Standard建议的服务任务相比之下,您必须定义自己的Java服务任务,并且必须在引擎中手动注册它们,这导致相当低级别的编程。

<强> Activiti的:

最后,我们选择了Activiti,因为这是一个非常易于使用的基于框架的引擎。它提供了Eclipse插件以及现代的AngularJS Web-Modeler。通过这种方式,您可以实现Business-IT-Alignment。 REST-API由Spring Security保护,这意味着您可以使用单点登录功能轻松扩展Engine。由于Apache License 2.0,没有copyleft,这意味着您在使用和可扩展性方面完全免费,这在生产环境中非常重要。

此外,BPMN覆盖率非常好。并非所有BPMN元素都已实现,但我不知道有任何引擎可以实现这一点。

Activiti Explorer是一个演示前端,演示了Activiti API的用法。由于这个前端基于VAADIN,因此可以非常容易地扩展。社区非常活跃,这意味着如果您有任何问题,您可以非常快速地获得帮助。

Activiti为外部表单技术提供了良好的集成点,这对于高效使用非常重要。所有候选人的形式技术都​​非常严格。因此,将XForms等标准表单技术与Engine结合使用是有意义的。即使是更复杂的东西也可以通过formKey-Attribute实现。

Activiti不遵循零编码方法,这意味着如果要编排服务,则需要一些编码。但即使是与SOAP服务的通信也可以通过使用Java Service Task和Apache CXF来实现。编码工作量很低。

我希望我的关键点可以通过做出决定来提供帮助。要明确的是,这不是Activiti的广告。正确的产品选择取决于具体的用例。我只想指出我们项目中最重要的一点。

祝你好运 本

答案 1 :(得分:17)

我对BPM选择也有同样的困惑。现在我完成了我的研究并与Activiti合作。

关键点:

  • 开始研究它真的很容易。它可以部署在最常用的服务器Apache Tomcat中。
  • 它提供了activiti-exploreractiviti-rest等偶合或战争文件用于部署。 REST APIs清晰而专注。您可以从download activiti下载相同内容。
  • 它为Eclipse IDE提供插件以绘制流程图。
  • Activiti的核心开发成员来自jBPM的同一项目。

在使用jBPM时,设计师和drools有时无法正确同步。即使REST API也不那么具有描述性和清晰性。

BonitaSoft作为开源软件,缺乏许多重要功能。如果您要使用它的许可版本,那就太好了。

答案 2 :(得分:15)

查看manning出版物中的activiti in action book。 这仍然是MEAP版本,因此您可以下载示例章节。

从阅读“ACTIVITI AND JBPM”部分开始阅读。它还比较了Activiti和Bonitasoft。

http://www.manning.com/rademakers2/ActivitiMEAPch01.pdf

希望这有帮助。

答案 3 :(得分:12)

我想回应@BenSchnarr提供的上一个答案。为了透明起见,我必须说我为Bonitasoft工作。

我不会评论我们的竞争对手的软件,但我想纠正一些关于Bonita BPM的声明,并提供更多信息。

零码方法

在Bonitasoft,我们不相信零代码&#34;做法。 Bonita BPM的全部内容是提供一些开箱即用的工具,您可以快速开始使用several extension points,以便:{/ p>

  • 用于与第三方系统交互的自定义​​连接器
  • 用于创建UI的自定义小部件(流程表单和业务视图)
  • 自定义REST API扩展

使用这些扩展点,您永远不会被阻止。您始终可以实施自己的工件来根据需要自定义产品,并使用community进行交换。

LDAP / AD同步

Bonita BPM确实提供tool来将其组织与LDAP或AD目录同步,作为Subscription版本的一部分。 请注意,如果您不想购买订阅版,则可以使用相同的API重新实现此类工具。

订阅版本的目的显然是为了帮助我们的客户更快地投入生产,具有以下功能:

  • 组织同步
  • 实时更新功能
  • 高可用性群集

商家-IT-对准

Bonita BPM Studio(我们的IDE)可以适应各种配置文件。因为我们当然不希望Business Analyst完全实现流程,所以我们在启动时提供不同的用户配置文件选择。我们的业务分析师&#34;配置文件仅显示我们的BPMN建模视图,并隐藏更多技术选项。

Bonita BPM Engine许可

Bonita BPM执行引擎在LGPL下是licensed。这使您可以自由地将其集成到其他软件中,而不会有任何法律风险。

Bonita BPM可能处理的项目的复杂性

Bonita BPM客户和我本人对此特定报价不同意:

  

Bonita是一个非常简单易用的BPM工具。

根据我们的success stories,我们的解决方案可以清楚地处理复杂,大规模和关键的BPM项目。

表单生成

我们最新发布的Bonita BPM 7是关于自定义用户界面的。 我们提供了一个名为UI Designer的基于浏览器的直观工具,它允许使用AngularJS和Bootstrap等尖端技术创建表单和页面(业务视图)。

使用我们的工具创建的UI既快速(客户端处理而不是Vaadin),并且响应不同的媒体类型(电话,桌面,笔记本电脑和桌面)。

我们还提供完整的自定义选项,例如:

  • 创建自定义小部件以解决丰富的界面
  • 创建和使用Bootstrap主题
  • 创建自定义应用程序布局

答案 4 :(得分:8)

jBPM5的优点在于它与Drools和Drools融合完全集成,允许您建模和执行复杂的业务场景。至少根据我的经验,一旦获得流程引擎,下一步就是将其与规则引擎集成,并可能具有复杂的事件处理功能。 jBPM提供所有这些开箱即用的功能,好处是您不需要学习不同的API来使用所有功能。

您还需要评估jBPM5中支持整个生命周期的工具,为您提供创作流程和规则的工具,以及管理和存储流程的存储库。

另一个好处是jBPM5社区,有很多人采用这个项目,一本书将在今年年底之前出版。

希望它有所帮助 干杯

答案 5 :(得分:0)

If you're specifically looking at web forms and piping data around, any of the form vendors like Typeform, Wufoo, etc. would be a better fit. You can use Zapier to then pipe data around to other apps from form submissions.

Here's a review of more generic BPM capabilities and a guide to BPM. You should really prioritize the app itself for end users, the user experience.