我正在评估要在我们的应用程序中使用的 BPM 产品。我想知道
- Bonitasoft / jBPM 和 Activiti 的区别
- 其中一些产品提供表单生成功能——它们有什么好处吗?您会使用它来代替自定义 Web 表单还是作为自定义 Web 表单的补充
谢谢
我正在评估要在我们的应用程序中使用的 BPM 产品。我想知道
谢谢
我也做过这样的研究。以下是与我们的具体用例相关的关键点:
1. 博尼塔:
Bonita 采用零编码方法,这意味着它们提供了一个易于使用的 IDE 来构建您的流程,而无需编码。为此,Bonita 提出了连接器的概念。例如,如果您想使用 Web 服务,它们会为您提供图形向导。缺点是您必须手动编写纯 XML SOAP 信封并将其复制到图形文本框中。这种方法的问题在于,您只能实现 Bonita 预期的用例。如果你想集成一个 Bonita 没有为其开发连接器的系统,你必须自己编写这样的连接器,这是非常痛苦的。例如,Bonita 提供了一个 SOAP 连接器来使用 SOAP Web 服务。此连接器仅适用于 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 是在公司中使用的不错选择。我们最引人注目的是可扩展性。jBPM 基于 Rules-Engine Drools。这导致整个流程实例在数据库中作为 BLOBS 持久化。当您考虑搜索和可扩展性时,这是一个重要的展示因素。
此外,由于复杂性,学习曲线非常高。jBPM 不像 BPMN-Standard 建议的那样提供服务任务。相反,您必须定义自己的 Java 服务任务,并且必须在引擎中手动注册它们,这会导致编程非常低级。
活动:
最后,我们选择了 Activiti,因为这是一个非常易于使用的基于框架的引擎。它提供了一个 Eclipse 插件以及一个现代的 AngularJS Web-Modeler。这样,您就可以实现Business-IT-Alignment。REST-API 由 Spring Security 保护,这意味着您可以使用单点登录功能非常轻松地扩展引擎。由于 Apache 许可证 2.0,没有 copyleft,这意味着您在使用和可扩展性方面完全免费,这在生产环境中非常重要。
此外,BPMN-coverage 非常好。并非所有 BPMN 元素都已实现,但我不知道有任何引擎可以做到这一点。
Activiti Explorer 是一个演示前端,它演示了 Activiti API 的使用。由于此前端基于 VAADIN,因此可以非常轻松地进行扩展。社区非常活跃,这意味着如果您有任何问题,可以非常快速地获得帮助。
Activiti 为外部表单技术提供了良好的集成点,这对于生产使用非常重要。所有候选人的形式技术都非常严格。因此,将 XForms 之类的标准表单技术与 Engine 结合使用是有意义的。甚至这样更复杂的事情也可以通过 formKey-Attribute 来实现。
Activiti 不遵循零编码方法,这意味着如果您想编排服务,您将需要一些编码。但即使是与 SOAP 服务的通信也可以通过使用 Java 服务任务和 Apache CXF 来实现。编码工作量很低。
我希望我的关键点可以帮助您做出决定。需要明确的是,这不是 Activiti 的广告。正确的产品选择取决于具体的用例。我只想指出我们项目中最重要的几点。
我对 BPM 选择也有同样的困惑。现在我完成了我的研究并开始使用 Activiti。
关键点:
activiti-explorer
它提供了像和activiti-rest
用于部署的耦合或战争文件。REST APIs
清晰而专注。您可以从下载 activiti下载相同的内容。Activiti
来自jBPM同一个项目。在使用 jBPM 时,设计器和流口水有时无法正确同步。甚至 REST API 也不是那么描述和清晰。
BonitaSoft 作为开源软件,缺少很多重要的特性。如果您要购买它的许可版本,那就太好了。
看看 manning 出版的 activiti in action 手册。这仍然是 MEAP 版本,因此您可以下载示例章节。
从“ACTIVITI 和 JBPM”部分开始阅读。它还比较了 Activiti 和 Bonitasoft。
http://www.manning.com/rademakers2/ActivitiMEAPch01.pdf
希望这可以帮助。
我想回复@BenSchnarr 提供的先前答案。为了透明起见,我必须说我为 Bonitasoft 工作。
我不会评论我们竞争对手的软件,但我想更正一些关于 Bonita BPM 的陈述并提供更多信息。
零代码方法
在 Bonitasoft,我们不相信“零代码”方法。Bonita BPM 旨在提供一些开箱即用的工具,您可以快速开始使用这些工具,同时拥有几个可供您使用的扩展点,例如:
使用这些扩展点,您将永远不会被阻止。您始终可以实现自己的工件来定制产品以满足您的需求,并与我们的社区进行交流。
LDAP/AD 同步
作为订阅版本的一部分,Bonita BPM 确实提供了一个工具来将其组织与 LDAP 或 AD 目录同步。请注意,如果您不想购买订阅版,您可以使用相同的 API 自由地重新实现此类工具。
订阅版的目的显然是帮助我们的客户更快地投入生产,具有以下功能:
业务-IT-对齐
Bonita BPM Studio(我们的 IDE)可以适应各种配置文件。因为我们当然不期望业务分析师完全实施流程,所以我们在启动时提供不同的用户配置文件选择。我们的“业务分析师”配置文件仅显示我们的 BPMN 建模视图并隐藏更多技术选项。
Bonita BPM 引擎许可
Bonita BPM 执行引擎在 LGPL 下获得许可。这使您可以自由地将其集成到其他软件中而没有任何法律风险。
Bonita BPM 可能处理的项目的复杂性
Bonita BPM 客户和我自己会不同意该特定报价:
Bonita 是一个 BPM 工具,用于非常琐碎和简单的流程。
根据我们的成功案例,我们的解决方案可以清楚地处理复杂、大规模和关键的 BPM 项目。
表单生成
我们最新发布的 Bonita BPM 7 完全是关于自定义用户界面的。我们提供了一个基于浏览器的直观工具,称为UI Designer,它允许使用 AngularJS 和 Bootstrap 等尖端技术创建表单和页面(业务视图)。
使用我们的工具创建的 UI 既快速(客户端处理,而不是 Vaadin)又响应不同的媒体类型(电话、桌子、笔记本电脑和台式机)。
我们还提供完整的定制选项,例如:
jBPM5 的好处在于它与 Drools 和 Drools fusion 完全集成,允许您对复杂的业务场景进行建模和执行。至少根据我的经验,一旦您获得流程引擎,下一步就是将其与规则引擎集成,并可能与复杂的事件处理功能集成。jBPM 开箱即用地提供了所有这些功能,而且好处是您无需学习不同的 API 即可使用所有功能。
您还需要评估 jBPM5 中支持完整生命周期的工具,为您提供用于创作流程和规则的工具以及用于管理和存储流程的存储库。
另一个好处是jBPM5社区,有很多人采用这个项目,年底前会出一本书。
希望它可以帮助干杯