快速上手
1. 前言
工作流最早起源于生产组织和办公自动化领域,它是针对平时工作中的业务流程活动而提出的一个概念,目的是根据将工作分解成定义良好的任务或角色,根据一定的原则和过程来实施这些任务并加以监控,达到提高效率、控制过程、提升客户服务、增强有效管理业务流程等目的。 为了更好地实现某些业务工作目标,可以利用计算机在很多个参与人之间按某种既定原则自动传递文档、信息内容或者任务。只要信息在人与人、人与系统或者系统与系统之间进行传递,就必须构建工作流。
2. 引导-快速了解工作流引擎
2.1 提出问题?
2.1.1 什么业务需要流程框架?
- 官方:流程是对业务的抽象。
- 白话:一个描述先干嘛再干嘛的过程。
2.1.2 流程活动是什么过程?
在一个流程上要做的事情就是活动;活动就是安排好的有先有后,有条件才能进入的事情;可以是一个函数,一个策略,一个服务,或者另一个子活动。
2.1.3 如何开启最简单的流程?
图2.1 简单流程
- 所有流程都是先输入,再执行,最后输出的过程;
- 输入的叫【表单】就是键值对和变量的集合;
- 执行活动就要调用哪个方法(函数)方法中可以看到输入的表单;输出,其实就是产生的结果,不一定是向外输出,可以是输入的变量进行了改变,增加新的变量,都叫输出。
2.1.4 流程的执行过程?
图2.2 流程执行过程
- 【输入】 > 【执行活动】 > 【输出】
2.1.5 知识扩展?
- 流:一个点到另一个点的引用调用行为,可以在流上加条件,以判断是否走该执行流;
- 用户任务:需要由用户触发继续的任务,可以执行任务认领、委派、完成等Action。
- 注意:任务审批是否统一的状态是写到表单变量中的结果,并不是任务的一种状态。
- 服务任务:直接调用系统中的委托类,用于系统直接执行一定的操作。
- 规则任务:直接产生由输入和条件得到结果并存入流程变量;
- 互斥网关:多选一的网关,要么A,要么B;
- 并行网关:CD同事流下去的网关;
2.1.6 特有【概念】和【名称】有哪些?
在学习工作流框架前,先了解一下特有【概念】和【名称】所代表的含义,来帮助我们更好地上手和使用。
流程
流程是数据和业务按照一定规则流转的过程。
注意:流程修改后,已通过该流程启动的历史数据不做更改,但是如果被撤销/回退到该节点后重新启动,将按新流程进行流转。
节点
流程中的节点是指数据在流转过程中需要经过的各个任务阶段,在流程节点中可以设置具体的负责人;设置各类操作,如审核通过、审核不通过、退回修改等。
负责人/处理人
节点负责人/处理人,是在该节点接受数据并进行处理的人。可以进行各类操作,如审核通过、审核不通过、退回修改等
流程文件
工作流引擎的流程按照BPMN标准定义,保存后的文件后缀一般是bpmn或者xml。
流程操作
流程操作包括启动流程、重启流程、撤销、跳转以及每个流程节点的各类操作(审核通过、审核不通过、退回修改)。
流程实例
每次启动流程,都会生成一个流程实例。
操作日志
流程每次操作都会记录一条日志,该日志会记录操作人、操作类型(启动流程、重启流程、撤销、审核通过、审核不通过、退回修改)、操作时间、操作节点
流程状态
通过流程实例可以查询当前流程状态(审核中、审核通过、审核不通过、退回修改、已撤销)和所在节点。
流程轮次
首次启动流程是第一轮。如果中间退回修改或者撤销,再重启流程,就是第二轮,以此类推,每重启一次,轮次都会加一次。
事件监听器
事件监听器可以让你在流程流转的过程中发生多种事件时得到通知