1、什么是工作流
多个参与者按照某种预定义的规则,传递业务信息,进行审核功能的一个框架(业务流程管理)
2、Activiti工作流的流程引擎是什么?
ProcessEngine
ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
3、引擎Service接口,通过ProcessEngine流程引擎获取
Service接口 | 作用 |
RepositoryService | 流程仓库Service,用于管理流程仓库,如:部署、删除、读取流程资源 |
IdentifyService | 身份Service,可管理和查询用户、组之间的关系 |
RuntimeService | 运行时Service,处理所有正在运行的任务和流程实例等 |
TaskService | 任务Service,用于管理查询任务,如签收、办理、指派等 |
FormService | 表单Service,用于读取和任务、流程相关的表单数据 |
HistoryService | 历史Service,可查询所有历史数据 |
ManagementService | 引擎管理Service,和具体业务无关,可用查询引擎配置、数据库、作业等 |
4、工作流中表数量及表的种类
23张表
被分为5个种类:
表名被re标记:Repository,包含流程定义和流程静态资源(图片,规则,等)
表名被ru标记:Runtime,包含流程实例、任务、变量、异步任务,等运行中的数据
表名被id标记:Identity,包含身份信息;比如用户,组等等。一般web中使用视图将系统用户转换为此表
表名被hi标记:History,包含历史数据;比如历史流程实例,变量、任务等
表名被ge标记:通用数据用于不同场景
5、流程实例和执行对象的区别
流程从开始到结束的最大分支,一个流程中,流程实例只有一个
执行对象,就是按照流程定义的规则执行一次的炒作,一个流程中,执行对象可以有多个
6、流程设计器有哪些
Eclipse Designer : eclipse插件,模型设计器
Activiti Modeler:基于web
7、Activiti监听器
1)全局监听器
实现ActivitiEventListener接口
2)节点(任务)监听器
实现TaskListener接口
事件类型(触发方式):
create | 任务被创建,并且所有的属性都被设置好后。 |
assignment | 任务被委派给某人后。注意: 当流程执行到达一个userTask时,会先触发一个assignment事件,再触发create事件。 |
complete | 在任务完成后,且被从运行时数据(runtime data)中删除前触发。 |
delete | 在任务将要被删除之前发生。注意,当任务通过completeTask完成任务时,它也会被执行。 |
3)连线监听器
实现ExecutionListener接口
8、Activiti流程选人配置方式
1)直接指定:Assignee
2)指定组:
3)指定角色
9、集成到spring中
10、部署方式
11、流程选人代码配置
12、通过代码控制流向