1 工作流是什么
通过计算机,对业务流程进行自动化管理,主要目标是能够使多个参与者之间按照约定的规范传递文件,从而实现某个约定的目标。就是流程的自动化控制
2 如果项目具备自动化管理的流程,这样的系统就是工作流系统
3 具体应用的场景:
a.关键业务:报价,订单,合同审核,客户电话处理,供应链管理。
b.除此之外,还包括行政管理,人事管理,财务管理等。
4 实现原理
5 BPM和BPMN
BPM (Business Process Management) 业务流程管理,是一种以规范化的构造端对端的卓越业务流程中心,以持续的提高组织业务极小为目的的系统化方法,常见的商业管理教育如EMBA,MBA等均将BPM包含在内。
企业管理流程主要是对企业内部改革,改革企业只能管理机构重叠,中间层次多,流程闭环等,从而提高企业的效益。
6整合步骤
1 整合activi
2 实现业务流程建模,使用bpmn实现业务流程图
3 部署业务流程到activi
4启动业务流程实例
5 查询代办任务
6 处理代办任务
7 结束流程
7 安装工具
8 activi 支持的数据库
文件目录结构,以及配置文件
配置数据源:
activiti.cfg.xml
流程定义的部署
启动一个流程的实例
任务的处理
ru_task 表中只有永远一条记录,每个节点任务执行完,就会被删除
执行complete方法需要操作的表
压缩包的方式部署
bpmn和png 文件压缩成一个文件
代码实现
activiti 如何与业务绑定:businesskey 存放在activi表中,activi就可以查询了,25张表仅仅存业务的key,而不存具体的内容
第二章 个人任务
任务分配:两种方式。第一种写死;第二种是通过表达式来实现任务分配
在这里插入图片描述
第三章 流程变量
也可以直接放对象
注意事项:如果是pojo接口一定要实现序列化接口 serializable接口
启动流程实例
网关
网关用来控制流程的流向(或像BPMN 2.0里描述的那样,流程的tokens。) 网关可以消费也可以生成token。网关显示成菱形图形,内部有有一个小图标。 图标表示网关的类型。分为排他网关 并行网关 包含网关
网关:
排他网关
2,并行网关
当出现这样的场景:请假申请开始,需要项目经理和部门经理都审批,两者没有前后需要两个人全部审批才能进入下个节点。这个时候就需要并行网关
分支: 并行后的所有外出顺序流,为每个顺序流都创建一个并发分支。
汇聚: 所有到达并行网关,在此等待的进入分支, 直到所有进入顺序流的分支都到达以后, 流程就会通过汇聚网关。
注意,如果同一个并行网关有多个进入和多个外出顺序流, 它就同时具有分支和汇聚功能。 这时,网关会先汇聚所有进入的顺序流,然后再切分成多个并行分支。
与其他网关的主要区别是,并行网关不会解析条件。 即使顺序流中定义了条件,也会被忽略。
3,包含网关
当出现这样的场景:你申请请假,如果是病假,找项目经理审批,如果不是找部门经理审批。但是他俩不管谁签完都可以进行个节点。说白了就像是排他跟并行的合体
分支: 所有外出顺序流的条件都会被解析,结果为true的顺序流会以并行方式继续执行, 会为每个顺序流创建一个分支。
汇聚: 所有并行分支到达包含网关,会进入等待章台, 直到每个包含流程token的进入顺序流的分支都到达。 这是与并行网关的最大不同。换句话说,包含网关只会等待被选中执行了的进入顺序流。 在汇聚之后,流程会穿过包含网关继续执行。
注意,如果同一个包含节点拥有多个进入和外出顺序流, 它就会同时含有分支和汇聚功能。 这时,网关会先汇聚所有拥有流程token的进入顺序流, 再根据条件判断结果为true的外出顺序流,为它们生成多条并行分支。、
4,基于事件网关
基于事件网关允许根据事件判断流向。网关的每个外出顺序流都要连接到一个中间捕获事件。 当流程到达一个基于事件网关,网关会进入等待状态:会暂停执行。 与此同时,会为每个外出顺序流创建相对的事件订阅。
注意基于事件网关的外出顺序流和普通顺序流不同。这些顺序流不会真的"执行"。 相反,它们让流程引擎去决定执行到基于事件网关的流程需要订阅哪些事件。 要考虑以下条件:
基于事件网关必须有两条或以上外出顺序流。
基于事件网关后,只能使用intermediateCatchEvent类型。 (activiti不支持基于事件网关后连接ReceiveTask。)
连接到基于事件网关的intermediateCatchEvent只能有一条进入顺序流。
整合springboot和activiti:
任何软件的使用,都是三大步:导包,配置,代码
这个事整合springboot和activiti的核心包
配置数据源
启动流程实例