《构建低代码开发平台(基础、实现与AIGC应用)(编程与应用开发丛书)》(廖育彬)【摘要 书评 试读】- 京东图书
3.2.1 什么是流程引擎
流程引擎(Process Engine)是一种用于管理和执行业务流程的软件技术或工具。流程引擎基于一组节点与执行界面,通过人机交互的形式自动地执行与协调各个任务和活动。它可以实现任务的分配、协作、路由和跟踪。通过流程引擎,组织能够实现业务流程的优化、标准化和自动化,提高工作效率和质量。总的来说,它是一套低代码工具,能帮助我们可视化地对业务流程进行设计和修改。低代码平台、办公自动化(OA)、BPM平台、工作流系统均需要流程引擎功能
流程引擎通常包括以下几个组成部分:
(1)流程设计器(Process Designer):这是用来设计流程图的工具,它提供了一系列的节点、连线和规则,方便用户从画布中拖拽出工业流程图。用户可以使用建模工具创建业务流程模型,包括流程图、活动、决策、条件等元素,以及定义流程的执行顺序、条件和规则。
(2)执行引擎:它负责根据流程设计器的设计来执行实际的业务流程。执行引擎将业务流程抽象成可执行的流程模型,并自动化执行流程。
(3)监控工具:用于实时监控流程的执行情况,并提供报告。
流程引擎的核心功能包括流程建模、流程执行和流程监控。在流程建模阶段,用户可以使用建模工具来定义业务流程。在执行阶段,执行引擎会根据定义的流程来执行实际的业务操作。在监控阶段,监控工具会提供实时的流程执行情况和报告,以便用户了解流程的执行细节并进行相应的调整。
3.2.2 在低代码平台里有什么作用
流程引擎就是一个低代码工具,能让我们在不开发代码的情况下通过可视化的界面控制流程的扭转。在OA系统中,流程引擎应用非常普遍,而在企业级的低代码系统中,它也能发挥重要的价值。比如,在CRM系统中,如果原本的流程分为:线索>拜访>机会>合同>门店>勘探>发货,那么如果我们需要在转化成合同后,仍然要求销售人员再次进行回访,只需要在合同和门店间再插入回访的执行模块,即可实现:线索>拜访>机会>合同>回访>门店>勘探>发货,无需重新编写代码。再进一步拓展,在实际应用案例中,流程的前进与后退是否可根据当前流程的结果来控制?比如机会如果没有转化成合同,则新增第二次拜访。
前面我们讲的只是大流程上的切换,实际上流程引擎可以发挥更大的作用,可以解决代码逻辑的问题。我们在代码开发的过程中大部分工作都是在做if判断、for循环、调用接口、操作数据库,如果我们将这些操作转换成可视化的操作,那么是不是连敲代码都不用了?为了强化读者的理解,后面我们将在案例中详细讲解。
3.2.3 有哪些流程引擎
目前市面上存在多种流程引擎,其中一些主流的流程引擎包括Activiti、Flowable、Camunda、Osworkflow、JBPM等。以下是这些流程引擎的简要介绍和对比。
1. Activiti
- 基于Java的轻量级业务流程引擎。
- 提供图形化的流程设计器和管理界面。
- 支持BPMN 2.0规范。
2. Flowable
- Activiti的分支,专注于企业级应用。
- 提供了更多的定制选项和扩展性。
- 提供了可视化建模工具。
3. Camunda
- 强大的BPM平台,支持微服务架构。
- 提供了CMMN(案例管理模型与符号)和DMN(决策模型与符号)的支持。
- 有强大的社区支持和丰富的文档。
4. OsWorkflow
- 完全用Java编写的开放源代码工作流引擎。
- 显著的灵活性,面向技术背景用户。
- 用户可以根据需求设计简单或复杂的工作流。
5. JBPM
- 提供灵活且可扩展的工具和API。
- 支持图形化的流程设计器。
- 可与规则引擎(如Drools)集成。
1)这些流程引擎的比较(如表3-2所示)

2)使用率
- Activiti:这个引擎由于它的轻量级和易用性,在中小企业和开源社区中较为流行。
- Flowable:作为Activiti的分支,由于其在企业级应用中的优势和更多的定制选项,也获得了较好的使用率。
- Camunda:由于其强大的功能和支持微服务架构的能力,Camunda在大型企业和复杂业务流程管理场景中较为流行。
- OsWorkflow:虽然OsWorkflow在特定领域(如ERP、CRM等)有一定的用户基础,但相对于其他引擎,其整体使用率可能较低。
- JBPM:JBPM作为一个成熟的BPM解决方案,在Java社区中有一定的用户群体,特别是在需要与规则引擎集成的场景中。
3.2.4 低代码平台推荐的流程引擎
如果只是实现简单的流程切换,以上介绍的流程引擎可按实际业务选择。但是在低代码平台中,尤其是大企业的低代码平台(毕竟小企业用不到,也不会投入这么多人力),我们更多会选择自己搭建一个符合业务需求的流程引擎。正如前面说的,我们在低代码平台中不只有if和for操作,还有参数透传、方法调用、消息同步、数据库操作等,另外还有各种触发器。而这些操作可能需要我们自行开发才能满足业务需求。
本书节选自《构建低代码开发平台:基础、实现与AIGC应用》,获出版社和作者授权发布。


1442

被折叠的 条评论
为什么被折叠?



