5、七大Service接口_Activiti6工作流系统搭建教程

工作流引擎选型

1、什么是工作流引擎

工作流引擎是一种软件系统,用于设计、执行、监控和优化业务流程。它通过自动化一系列任务和活动来管理业务流程,确保流程的高效和正确执行。

工作流引擎可以应用于各种业务场景,如客户服务、订单处理、财务审批、人力资源管理等,帮助企业提高效率、减少错误和提升透明度。

工作流引擎也是各种应用系统的核心组件,例如低代码平台、办公自动化(OA)、CRM系统等等,涉及到审批业务的都需要工作流引擎。

一般中大型项目都有复杂的审批业务,因此,需要一款工作流引擎去支撑项目顺利完成。

市面上有很多工作流引擎,常见的有Activiti、Flowable等免费的,也有F2BPM这样商用的,应该如何选型合适的工作流引擎去支撑项目呢?

下面介绍下这三款工作流引擎:

2、Activiti

Activiti是由JBPM4版本升级过来的,Alfresco软件开发,最开始的版本Activit5,,目前最高版本activiti 7。由于JBPM使用的是GPL开源协议,并且与JBoss和Redhat公司的其他产品线结合得越来越紧密,这限制了jBPM在更广泛范围的使用。因此,在年,Tom Baeyens加入了Alfresco公司,并创建了Activiti。Activiti使用Apache based-license V2,是一个独立于Alfresco产品的开源流程引擎产品。

Activiti5和Activiti6的核心研发是Tijs Rademakers,由于团队内部分歧,在年时Tijs Rademakers离开团队,创建了后来的Flowable,Activiti6以及activiti5代码已经交接给了 Salaboy团队。

Activiti6以及activiti5的代码官方已经暂停维护了,Salaboy团队目前在开发activiti7框架,Activiti7内核使用的还是activiti6,并没有为引擎注入更多的新特性,只是在activiti之外的上层封装了一些应用。

3、Flowable

Flowable的起源可以追溯到Activiti,一个由Tom Baeyens创建的Activiti或Flowable引擎。Activiti后来成为了Alfresco软件的一部分。在Activiti 5.x版本发展过程中,由于核心团队成员间的分歧,一些核心成员决定创建一个新的分支,这导致了Flowable的诞生。

Flowable目前最新版本是v6.X,开发团队是从Activiti中分裂出来的,修复了一众activiti6的bug,并在其基础上研发了DMN支持,BPEL支持等等,相对开源版,其商业版的功能会更强大。以Flowable6.版本为分水岭,大力发展其商业版产品,开源版本维护不及时,部分功能已经不再开源版发布。

4、F2BPM

F2BPM是广州致博软件科技有限公司自主研发的一款国产化工作流引擎,基于Java技术语言研发。F2BPM遵循WFMC/BPMN的规范,其核心功能包括流程引擎、表单引擎、规则引擎、自定义报表、大屏设计器、自定义列表和代码生成器,并包含在线Web流程设计器和Web表单设计器。

F2BPM支持串行、并行、分支、异或分支、多路分支、会签、聚合、多重聚合、驳回、并行驳回、传阅、转办等多种流程模式。F2BPM支持XML流程定义过程描述语言,并允许导入导出。节点类型丰富,包括提单节点、结束节点、普通节点、会签开始节点、会签结束节点、发散开始节点、发散结束节点、分发开始节点、分发结束节点、子流程节点、自循环节点,自动节点、同步网关、异或网关、条件网关、泳道等。此外,F2BPM提供丰富的API接口开发、RESTful API,支持流程版本管理,支持流程仿真等。

5、工作流引擎对比

功能:Activiti或Flowable提供基本的工作流程管理功能,如任务分配、状态跟踪和报告生成等。F2BPM提供更多高级功能,如自定义表单、权限控制和集成企业微信、钉钉等。

性能:Activiti或Flowable通常是由社区开发和维护的,因此其性能可能不如F2BPM。F2BPM由专业的开发团队进行优化和测试,以确保其在大规模使用中的稳定性和高性能。

成本:Activiti或Flowable通常是免费的,用户可以自由地下载和使用。然而,用户可能需要投入更多的时间和资源来配置和管理这些系统。这些就是隐性的成本,F2BPM则需要支付一定的费用,但会提供更好的技术支持和服务。

技术支持:Activiti或Flowable通常依赖于社区的支持,用户可能需要自己解决遇到的问题。F2BPM则通常提供专业的技术支持服务,用户可以随时获得帮助和指导。

可定制性:Activiti或Flowable底层是需要遵循特定的规则,不一定满足国内的应用场景,F2BPM是完全自主研发的工作流引擎,对于国内的业务场景就可以支持并根据需要进行定制扩展。

安全性:Activiti或Flowable,因为源代码是公开的,任何人都可以查看和修改,因此这可能会导致一些安全攻击的问题,它们可能存在安全漏洞或未经充分测试的功能。F2BPM经过严格的安全审查和测试,确保安全性和可靠性。

风险性:Activiti或Flowable由于很多功能缺失,若是要实现功能需要进行深度的定制才能实现,但由于底层缺陷可能无法进行扩展定制,可能会导致项目失败的风险。F2BPM有专业的技术支持,可以随时指导甚至根据需求定制开发可以确保项目的风险降到最低。

更新和维护:Activiti或Flowable的更新和维护可能不稳定,因为它们依赖于社区的贡献。F2BPM通常由专业的开发团队负责更新和维护,确保系统始终保持最新和稳定。

6、如何选型

这个就需要看项目的需求了,若是学习或者一个小项目,缺少项目预算,对流程要求不高的,并且对工作流引擎底层相对比较熟悉,熟悉开发,那么可以采用Activiti和Flowable这种免费的工作流引擎。

稍微大一点的项目,Activiti和Flowable对于国内的复杂流程业务无法完全支持,若是采用就需要对这2款工作流引擎内核做大量的修改,并且还要单独集成表单设计器,要开发用户权限,和组织架构做集成适配等等,开发的工作量也不小,都快赶上做一个项目的工作量了,这样项目的工作量和风险都会大点的增加,并且没有一对一的技术服务支持,后续的升级维护的成本也比较高。

因此,若是有相应的项目预算,可以考虑选择F2BPM工作流引擎,F2BPM历经年的工作流技术沉淀,大型项目实战经验丰富,F2BPM遵循参考WFCM、BPMN2.0标准规范,微服务前后端分离架构,符合中国国情特色,致力于轻量级的工作流引擎,纯国产工作流引擎,支持国产数据库、应用服务器和操作系统。这样可以保障快速实现想要的流程功能,提升项目开发效率以及降低项目风险。

若有需要,请联系F2BPM官网,感谢您的关注!

原文链接:,转发请注明来源!