一、流程引擎概述
流程,可以理解为步骤,一个有序的活动或动作;
引擎,可以理解为驱动,是一个程序或者一套系统。
所以,字面意思可以理解为,流程引擎是一套(或一个)用来驱动业务的系统或程序。
加深一层理解,流程引擎是一套专门提供流程设计、运转、审核的底层支撑平台,驱动业务按照设定的步骤进行流转。
再深一层理解,流程引擎是一套低代码系统,它可以帮助我们全程可视化的设计、修改业务流程。
二、流程引擎的组成
既然流程引擎是帮助我们设计业务流程的,那它的组成核心可以分为两部分,流程与业务,即流程设计器与业务表单设计器。
2.1流程设计器
流程设计器主要用于流程编排,并提供包括流程干预、流程监控、任务统计等辅助功能。
目前主流的设计器有Camunda(包括Activiti、Flowable,3家之前都属于一家)设计器、Worflow设计器(仿钉钉版)以及国产的开源软件ccflow设计器。
Camunda版:
Worflow仿钉钉版:
CCFlow版:
以上3个版本的设计器,都有一个共同点,在图形化流程设计的时候,都利用标准的图元描述定义了流程的执行规则与规范,像Task(流程步骤)、Line(流转方向)、Gateways(网关、运行时的判断条件)等。
所以一个流程设计器需要定义一套标准化的规则与规范,按照这些规则与规范驱动流程执行,并且能真实描述业务的发生过程。这套规则与规范,目前最主流的也是使用最多的就是BPMN2.0协议(想了解的请访问:https://blog.csdn.net/jflows/article/details/126766737)。
当然,并不是所有的流程设计器都去使用、适配BPMN2.0协议,但是无论是自己开发或者改造,都必须标准定义流程的执行语义与格式。无论执行xml或者json,节点是都需要解析的,不同类型的节点的解析规则与逻辑,就是流程的执行语义与格式,如果这些都无法实现,那么流程的运行将会是混乱的,无法按照既定的流程步骤运行。
2.2表单设计器
其实表单于流程是两个相互独立的存在,流程关注运行步骤,表单关注业务数据。有些流程不需要表单,像生产工序,只需要关注目前已经处在什么阶段即可;有些又需要表单,像收发文、请假等等,需要进行审批。所以,在国内复杂的业务场景下,表单设计器是流程引擎中必不可少的一部分。
表单设计器的设计与使用,以可视化操作、低代码的方式实现最好,与流程耦合度越低越好。可视化操作、低代码,可以快速实现表单的搭建、修改及维护;与流程耦合度低,可以实现按需绑定,同时表单设计器可以独立运行,使之成为一个低代码配置工具。
表单设计器可以通过字段建模,按照一定的规则与格式形成表单,也可以通过封装字段控件,以拖拉拽的方式形成表单,设计方式、使用方式多种多样,可以根据自身需求定制开发。