Flowable流程机制详解

Flowable流程机制详解

        • 概要
        • 流程
        • 审批
        • 权限

概要

      Flowable是一个工作流引擎,包含了三个主要模块,分别是流程、审批和内置的权限系统

流程

      Flowable为我们带来的是一套十分健全的流程体系,可细分为以下几种类型

  • 单任务

    1. 单实例

      a. 抢单

      1. 流程绘制
        Flowable流程机制详解_第1张图片

      2. 配置

        选中第一个任务(抢单任务-候选用户),点击下图红框区域
        Flowable流程机制详解_第2张图片
        选择候选用户
        Flowable流程机制详解_第3张图片
        选中第一个任务(抢单任务-候选组),点击下图红框区域
        Flowable流程机制详解_第4张图片
        选择候选组
        Flowable流程机制详解_第5张图片
        b. 单用户

      单实例的单用户即选择单个用户,如下所示
      Flowable流程机制详解_第6张图片

    2. 多实例

      • 并行(parallel)

        1. 流程绘制
          Flowable流程机制详解_第7张图片

        2. 配置

          选中define executor脚本任务,按照下图配置
          Flowable流程机制详解_第8张图片
          配置Script Task
          Flowable流程机制详解_第9张图片
          配置任务
          Flowable流程机制详解_第10张图片

      • 串行(sequential)

        串行和并行配置一样,唯一的不同在于任务的Multi-instance type从parallel改为sequential

  • 多任务(多任务的顺序控制依靠网关)

    1. 排他网关(Exclusive gateway)
      当执行到达这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件计算为true的顺序流(当没有设置条件时,认为顺序流为true)继续流程,必须以同样的网关开始/结束.

Flowable流程机制详解_第11张图片
2. 并行网关(Parallel gateway)
并行网关不计算条件,它可以将执行分支(fork)为多条路径,也可以合并(join)多条入口路径的执行。简单说就是并行网关可以让多个任务并行执行,且不可计算条件,必须以同样的网关开始/结束

Flowable流程机制详解_第12张图片
3. 包容网关(Include gateway)
包容网关是排他网关与并行网关的组合体,既可以计算条件,也可以令满足条件的多个任务并行执行,必须以同样的网关开始/结束

Flowable流程机制详解_第13张图片
4. 事件网关(Event gateway)
事件专用网关,后边必须接两个以上的中间抛出/捕捉事件,可以没有结束网关

Flowable流程机制详解_第14张图片

审批

      任务的审批无非4中类型,以下:

  1. 认领(claim)
    单任务-单实例的抢单类型的任务在执行前需先认领,若认领后需要放弃任务,可释放任务以便其它用户认领

  2. 指派(delegate)
    指派后的任务,被指派人不可完成,填写完业务数据后必须释放,以便任务指派人去完成

  3. 释放(resolve)
    指派后、认领后的任务可被释放

  4. 完成(complete)
    任务的结束有两种,一种是通过审批后的完成的任务,另一种是任务所在流程实例被取消后被动完成的任务

权限

      Flowable的权限系统非常单一,只有组和用户的概念,而且组不可分级,读者也可通过表达式的方式定义执行人,以达到脱离Flowable权限系统的目的。以下是笔者自定义的几个bpmn模板,有需要的读者可下载查看详细定义方式,下载后可在Flowable UI Modeler中直接导入使用。
      地址:https://github.com/yuzhou152/flowable-model.git

你可能感兴趣的:(组件)