低代码平台的流程引擎



《构建低代码开发平台(基础、实现与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

  1. 基于Java的轻量级业务流程引擎。
  2. 提供图形化的流程设计器和管理界面。
  3. 支持BPMN 2.0规范。

2. Flowable

  1. Activiti的分支,专注于企业级应用。
  2. 提供了更多的定制选项和扩展性。
  3. 提供了可视化建模工具。

3. Camunda

  1. 强大的BPM平台,支持微服务架构。
  2. 提供了CMMN(案例管理模型与符号)和DMN(决策模型与符号)的支持。
  3. 有强大的社区支持和丰富的文档。

4. OsWorkflow

  1. 完全用Java编写的开放源代码工作流引擎。
  2. 显著的灵活性,面向技术背景用户。
  3. 用户可以根据需求设计简单或复杂的工作流。

5. JBPM

  1. 提供灵活且可扩展的工具和API。
  2. 支持图形化的流程设计器。
  3. 可与规则引擎(如Drools)集成。

1)这些流程引擎的比较(如表3-2所示)

2)使用率

  • Activiti:这个引擎由于它的轻量级和易用性,在中小企业和开源社区中较为流行。
  • Flowable:作为Activiti的分支,由于其在企业级应用中的优势和更多的定制选项,也获得了较好的使用率。
  • Camunda:由于其强大的功能和支持微服务架构的能力,Camunda在大型企业和复杂业务流程管理场景中较为流行。
  • OsWorkflow:虽然OsWorkflow在特定领域(如ERP、CRM等)有一定的用户基础,但相对于其他引擎,其整体使用率可能较低。
  • JBPM:JBPM作为一个成熟的BPM解决方案,在Java社区中有一定的用户群体,特别是在需要与规则引擎集成的场景中。

3.2.4  低代码平台推荐的流程引擎

如果只是实现简单的流程切换,以上介绍的流程引擎可按实际业务选择。但是在低代码平台中,尤其是大企业的低代码平台(毕竟小企业用不到,也不会投入这么多人力),我们更多会选择自己搭建一个符合业务需求的流程引擎。正如前面说的,我们在低代码平台中不只有if和for操作,还有参数透传、方法调用、消息同步、数据库操作等,另外还有各种触发器。而这些操作可能需要我们自行开发才能满足业务需求。

本书节选自《构建低代码开发平台:基础、实现与AIGC应用》,获出版社和作者授权发布。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值