【流程中心】流程基本概念

前提

流程中心的概念我们基本了解了,那流程的概念还需要稍微的说一下。从应用层面上来看,流程就是流程中心管理的东西,也就是我们接触到的一个请假流程或用车流程等。一系列步骤最终完成一个工作,那这一系列步骤就称之为流程。

组件

描述:

组件是流程中的最小单位,每个组件有很多不同的功能,其中我们常用的就有 UserTaskServiceTaskExclusiveGateway等。

下面我将简单描述一些常用的组件。

类型:

以下组件内容来自于 camunda8.0 流程引擎文档,详见

  • Tasks
    • ServiceTask: 服务任务,用于执行命令、脚本、方法等。与 SpringBoot 融合后可以直接调用 Spring 的 Bean。常用于通知、异步处理某些操作。
    • UserTask: 用户任务,当流程进入到该节点后会卡顿住,直到主动调用任务完成接口。这也是审批最常用的组件。
    • ReceiveTask
    • BusinessRuleTask
    • ScriptTask
    • SendTask
    • ManualTask
    • UndefinedTask
  • Gateways
    • ExclusiveGateway: 排他网关,顾名思义,经过该网关后只能成功其中的某一条途径,类似于 if elseIf ...
    • ParallelGateway: 并行网关,经过该网关后节点会同时执行所有途径,但是必须所有途径都执行完毕后才能到并行网关结束位置。
    • Event-basedGateway
    • InclusiveGateway
  • Events
    • NoneEvent
    • MessageEvent
    • TimerEvent
    • ErrorEvent
    • EscalationEvent
    • TerminateEvent
    • LinkEvent
    • SignalEvent

监听器

描述:

如果学过 Spring 的兄弟们一定知道,Spring 的两大功能就是 IOC 和 AOP。监听器就类似于 AOP,你可以在构建流程的时候将监听器设置在 流程开始前节点执行前节点执行后流程结束后等。

通过监听器我们可以实现很多应用,比如分配系统具体人员,在定义审批节点时,我们可以定义为系统中的某个角色(应用层面),但是流程引擎并不认识你系统中某个角色的含义,我们就可以在审批节点执行前加入一个监听器,其作用就是为了将系统中的角色转换为流程引擎认识的任务标识。另外还可以增加待办提醒等监听器对审批节点功能进行增强,这也是 AOP 的一个概念,在切面周边进行操作以便于增强切面。了解了这个概念你也就了解了监听器。