一、是个什么东西
.在计算机的辅助下,能够实现流程的自动化控制,就称为工作流。
通过编码方式设置 flag状态来进行工作流,这种方式的缺点是业务流程变更后,程序不可使用。
Activiti可以是做到业务流程变化后,程序代码不用改变。以不变应万变。
工作原理:
1.先将流程图画好
2.将流程图中每个节点的数据读取并放入表中
3.处理表中的第一条数据,处理并删除
4.重复步骤3. (直到表中记录完了)
实现这个自动化需要
1.业务流程图标准,规范统一
2.业务流程图本质上是一个xml文件,这样就可以存入所需要的数据
3.读取业务流程图的过程就是解析xml文件的过程
4.读取业务流程图中的一个节点,就相当于解析xml结构,进一步将数据插入到数据库表中形成一条记录
5.将所有节点都读取并存入数据库表中
6.后面只需要读取数据库表中的一条记录,读一条记录相当于读取一个节点
7.业务流程的推进,后面就转化为读取表中的数据,并且处理数据,结束时这一行数据就可以删除
开发步骤
1.整合Activiti 导jar包
2.实现业务流程建模,使用BPMN实现业务流程图
3.部署业务流程到Acitiviti
4.启动流程实例
5.查询待办任务
6.处理代办任务
7.循环6.7.
8.结束流程
二、相关组成
介绍:在activiti的任务中,与任务相关的任务为以下三种,其含义如下:
候选人(组):代表有权限对任务进行操作的人。
持有人:指当前任务的执行人,他此时持有该任务。
代理人:当一个人持有人不方便处理任务时,可以将任务指给另一人,被指的人即为代理人。