ProcessEngine :Activiti 核心API 处理一个流程在部署启动以及后面的一系列的操作都是围绕着这几个核心API来完成的。首先这几个API中最重要的是ProcessEngine流程引擎,其他几个API都是通过流程引擎来创建的。
(1)RepositoryService (管理流程定义文件xml及定义资源的服务类即流程存储服务)
- 可以定义部署文件构造器DeploymentBuilder
- 部署文件查询器DeploymentQuery
- 流程定义文件查询对象ProcessDefinitionQuery
- 获取流程部署文件对象Deployment
- 流程定义文件对象ProcessDefinition
- 流程定义java格式的BpmnModel
(2)RuntimeService(流程运行控制服务)
- 启动流程及对流程数据的控制
1.启动流程常用方式(id,key,message)
2: 启动流程可选参数(businessKey,variables,tenantId)
3.变量(variables)的设置和获取
- 创建流程实例(ProcessInstance)与执行流(Execution)查询
- 触发流程操作、接收消息和信号
(3)TaskService(任务管理服务)
- 对用户任务(USerTask) 管理和流程的控制
1.task对象的创建和删除(一般不会手工创建,一般是根据流程定义创建)
2.查询task,并驱动task节点完成执行
3.Task相关参数变量设置
- 设置用户任务(UserTask)的权限信息(拥有者,办理人、候选人)
(4)IdentityService(身份管理服务)
- 管理用户(User)\
- 管理用户组(Group)
- 用户和用户组关系(Membership)
(5) HistoryService (关于历史数据查询服务)
- 查询历史流程实例
- 查询历史活动
- 查询历史任务
- 查询历史流程变量
(6)FormService(可选服务)
- 解析流程定义中表单项的配置
- 提交表单的方式驱动用户节点流转
- 获取自动以外部表单key