Activiti为了开发人员开发方便,提供了一系列的开发组件。这些组件可以非常方便控制Activiti。主要提供了如下开发组件:流程管理、用户管理、任务管理、历史数据管理等组件。
1、RepositoryService
负责对流程文件的部署以及流程的定义进行管理,Activiti工作流引擎会产生一些列流程文件、流程图等。Activitid RepositoryService提供了对这些资源管理的API。这些文件数据被保存到act_ge_bytearray表中,对应ResourceEntity实体。
2、RuntimeService
用于管理流程在运行时产生的数据以及提供对流程进行操作的API
3、TaskService
管理流程任务。如:任务提醒、任务完成和分配任务等
4、IdentityService
提供对流程角色数据管理的API。如:用户组(用户组的新增、修改、删除、查询)、用户(用户的新增、修改、删除、查询)及它们之间的关系管理组件。
5、ManagementService
对流程引擎进行管理和维护。Job的执行、Job管理等
6、HistoryService
对流程历史数据进行操作,包括查询、删除等。
历史流程实例查询HistoricProcessInstanceQuery
使用HistoryService的createHistoricProcessInstanceQuery方法获取HistoricProcessInstanceQuery对象,流程实例的历史数据保存在act_hi_procinst表中
历史任务查询HistoricTaskInstanceQuery
使用HistoryService的createHistoricTaskInstanceQuery方法获取HistoricTaskInstanceQuery对象, 历史任务数据表act_hi_taskinst
历史行为查询HistoricActivityInstanceQuery
使用HistoryService的createHistoricActivityInstanceQuery方法获取HistoricActivityInstanceQuery对象,数据记录在act_hi_actinst表中
历史流程明细查询HistoricDetailQuery
使用HistoricService的createHistoricDetailQuery方法获取HistoricDetailQuery对象,存放在act_hi_detail表
上面这些组件,当流程引擎实例创建后,流程引擎实例中会初始化一些服务组件,这些服务组件提供了控制流程引擎数据的业务方法。这些组件可以通过get***Service()方法进行获取。在接下来的文章中将会仔细介绍所有的这些组件。