我正在比较所有现有的BPMN2.0流程引擎,例如Activiti,jBPM等。我准备了一个列表,上面有4个执行BPMN2.0的流程引擎,如下所示;
流行的兼容BPMN 2.0的开源引擎:
Activiti: http://www.activiti.org/
jBPM: http://www.jboss.org/jbpm
Bonita: http://www.bonitasoft.com/
商用引擎:
ActiveVOS: http://www.activevos.com/products
如果您通过在上面的列表中添加任何现有的流程引擎(用于BPMN 2.0)以及所有引擎之间的快速比较来加强我的研究,我将不胜感激。
我更喜欢一个非常简短的比较,只列出重要的功能(区分功能,比如什么是可能的,而不是其他的,许可,与其他产品的依赖,如tomcat & JBoss和操作系统等)
附言:我在Activiti vs jBPM上发现了很多东西,但你的答案仍然会是一个帮助。
发布于 2012-07-18 23:59:46
我不能给你一个全面的比较,但我可以给你一些建议,可能会对你的评估有所帮助:
BPMN的一本名为“competitors).
附加值的比较
发布于 2013-12-07 11:31:52
我对Activiti很失望。它应该被称为Spring BPM,因为没有它就不能很好地工作。如果你不介意使用Spring,那么Activiti可能更合适。如果您使用的是JEE/CDI,那么JBPM更适合。
发布于 2015-06-16 04:40:09
我也做过这样的研究。以下是与我们的具体用例相关的关键点:
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)。如果您有一个使用SOAP1.1的遗留应用程序,则不能在流程中轻松地集成此系统。数据库也是如此。只有几个数据库连接器用于专用数据库版本。如果你有一个与连接器不匹配的版本,你必须自己编写代码。
此外,Bonita在免费社区版中不支持LDAP或Active Directory Sync,这对生产环境来说是一个相当令人惊叹的问题。另一件需要考虑的事情是,Bonita是在GPL / LGPL许可下授权的,当您想要将Bonita集成到另一个企业应用程序中时,这可能会带来问题。此外,社区的支持非常薄弱。有几个帖子已经超过2年了,但这些帖子仍然没有回复。
另一件重要的事情是业务-IT-对齐。流程建模是IT和业务分析人员参与的协作学科。这就是为什么你需要足够的工具来满足这两个用户群体的需要(例如,一个用于开发人员的Eclipse插件和一个用于业务人员的易于使用的web建模器)。Bonita只提供Bonita Studio,需要在您的机器上安装。这个IDE技术含量很高,不适合商业用户。因此,很难实现与Bonita的业务- it对齐。
Bonita是一个BPM工具,用于非常琐碎和简单的过程。由于零编码方法,lerning曲线非常低,您可以非常快地开始建模。您需要较少的编程技能,并且无需编码即可实现您的流程。但是一旦您的流程变得非常复杂,Bonita可能就不是最好的解决方案,因为缺乏灵活性。你只能实现Bonita想要的用例。
jBPM:
jBPM是一个非常强大的开源业务流程管理引擎,它有很多特性。web建模器甚至支持一些van der Aalst工作流模式(workflowpatterns.com)的预制模型。业务-IT对齐是可实现的,因为jBPM提供了一个Eclipse集成以及一个基于web的建模器。据我所知,有一点棘手的是,你只能在web modeler中定义表单,而不能在Eclipse插件中定义。总而言之,在公司中使用jBPM是一个很好的选择。我们最看重的是可伸缩性。jBPM基于规则引擎Drools。这导致整个流程实例在数据库中作为BLOBS持久化。当你考虑搜索和可伸缩性时,这是一个关键的展示。
此外,由于复杂性,学习曲线非常高。jBPM不像BPMN标准建议的那样提供服务任务。相反,您必须定义自己的Java Service任务,并且必须在引擎中手动注册它们,这会导致相当低级的编程。
练习:
最后,我们选择了Activiti,因为这是一个非常容易使用的基于框架的引擎。它提供了一个Eclipse插件和一个现代的AngularJS Web Modeler。通过这种方式,您可以实现业务-IT-对齐。REST-API受到Spring Security的保护,这意味着您可以很容易地使用单点登录功能扩展引擎。由于Apache License 2.0,没有版权,这意味着您在使用和可扩展性方面是完全自由的,这在生产环境中非常重要。
此外,BPMN-覆盖率非常好。并不是所有的BPMN元素都实现了,但我不知道有什么引擎可以做到这一点。
Activiti Explorer是一个演示前端,用于演示Activiti API的用法。由于此前端是基于VAADIN的,因此可以非常容易地进行扩展。这个社区非常活跃,这意味着如果你有任何问题,你可以非常快地获得帮助。
Activiti为外部表单技术提供了很好的集成点,这对于高效的使用非常重要。所有候选人的表单技术都有很大的限制。因此,将标准表单技术(如XForms )与引擎结合使用是有意义的。即使是这样更复杂的事情也可以通过formKey-属性实现。
Activiti不遵循零编码方法,这意味着如果您想要编排服务,您将需要一些编码。但即使是与SOAP服务的通信也可以通过使用Java服务任务和Apache CXF来实现。编码工作量很低。
我希望我的要点可以通过做出决定来帮助你。需要说明的是,这不是Activiti的广告。正确的产品选择取决于具体的用例。我只想指出我们项目中最重要的几点。
向Ben致以最好的问候
https://stackoverflow.com/questions/11538278
复制相似问题