我正在对所有现有的BPMN 2.0流程引擎进行比较,例如Activiti、jBPM等。我准备了4个执行BPMN 2.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
附言:我在Activiti vs jBPM上找到了很多,但你的答案仍然是一个帮助。
我不能给你一个全面的比较,但我可以给你一些建议,可能有助于你的评估:
我对Activiti感到失望。它应该被称为SpringBPM,因为没有它它就不能很好地工作。如果您不介意使用Spring,那么Activiti可能更适合。如果您使用的是JEE/CDI,那么JBPM更适合。
我也做了这样的研究。以下是与我们的具体用例相关的关键点:
此外,Bonita在免费社区版中不支持LDAP或Active Directory Sync,这对于正式生产环境来说是一个很大的阻碍。另一件要考虑的事情是Bonita是在GPL/LGPL许可下获得许可的,当您想将Bonita集成到另一个企业应用程序中时,这可能会导致问题。此外,社区支持非常薄弱。有几个帖子已经超过2年了,这些帖子仍然没有得到回复。
另一个重要的事情是业务与IT对齐。建模流程是IT和业务分析师参与的协作学科。这就是为什么您需要为两个用户组提供足够的工具(例如,为开发人员提供Eclipse插件,为业务人员提供易于使用的Web建模器)。Bonita只提供Bonita Studio,它需要安装在您的机器上。这种IDE技术性很强,不适合业务用户。因此,很难使用Bonita实现业务与IT对齐。
Bonita是非常琐碎和简单的过程的BPM工具。由于零编码方法,学习曲线非常低,您可以非常快地开始建模。您需要更少的编程技能,并且无需编码即可实现您的流程。但是一旦您的流程变得非常复杂,Bonita可能不是最佳解决方案,因为缺乏灵活性。您只能实现Bonita打算的用例。
jBPM:
jBPM是一个非常强大的开源BPM引擎,它有很多功能。Web建模器甚至支持一些van der Aalst工作流模式(workflowpatterns.com)的预制模型。业务-IT-对齐是可实现的,因为jBPM提供了Eclipse集成以及基于Web的建模器。有点棘手的是,据我所知,您只能在Web建模器中定义表单,而不能在Eclipse插件中定义表单。综上所述,jBPM是在公司中使用的一个很好的候选者。我们的展示者是可扩展性。jBPM基于规则引擎Drools。这导致了整个流程实例在数据库中作为BLOBS持久化的事实。当您考虑搜索和可扩展性时,这是一个关键的搅局者。
jBPM不提供BPMN-Standard建议的服务任务相反,您必须定义自己的Java服务任务,并且必须在引擎中手动注册它们,这导致了相当低的编程水平。
激活:
最后,我们选择了Activiti,因为这是一个非常易于使用的基于框架的引擎。它提供了一个Eclipse插件和一个现代的AngularJS Web-Modeler。通过这种方式,您可以实现业务-IT-对齐。REST-API受到Spring Security的保护,这意味着您可以使用单点登录功能非常容易地扩展引擎。由于Apache License 2.0,没有Copeclet,这意味着您在使用和可扩展性方面完全自由,这在生产环境中非常重要。
此外,BPMN覆盖率非常好。并非所有BPMN元素都实现了,但我不知道任何引擎能做到这一点。
Activiti Explorer是一个演示前端,演示了Activiti API的使用。由于这个前端基于VAADIN,它可以很容易地扩展。社区非常活跃,这意味着如果您有任何问题,您可以很快获得帮助。
Activiti为外部表单技术提供了很好的集成点,这对于高效使用非常重要。所有候选表单技术都非常严格。因此,将标准表单技术(如XForms)与引擎结合使用是有意义的。即使是更复杂的事情也可以通过formKey-属性实现。
Activiti不遵循零编码方法,这意味着如果您想编排服务,您将需要一些编码。但是即使是与SOAP服务的通信也可以通过使用Java服务任务和Apache CXF来实现。编码工作量很低。
我希望我的要点可以通过做出决定来提供帮助。需要明确的是,这不是Activiti的广告。正确的产品选择取决于具体的用例。我只想指出我们项目中最重要的点。
最好的问候本