Activiti工作流引擎表关系重点知识详解及简单认知
1、Activiti工作流引擎是什么,使用它有什么好处,使用它的场景描述,认识它?
activiti的自我介绍在本文中就不需要做了,或许在面试中需要,关于怎么使用activiti,主要有三步曲:
第一步: 定义流程模型 (在同一项目中,流程可以定义多个)
第二步: 部署定义好的流程模型 (在同一项目中,可以同时部署多个流程,部署后的流程会生成流程身份唯一key标识,这样当你想使用哪个流程,就使用哪个流程的key)
第三步: 使用流程模型 (要想使用部署后的流程模型,就离不开activiti引擎框架所提供的七大服务接口,都是使用这七大服务接口来完成工作的)
2、前面简单介绍了activiti的使用,引出了一个问题,activiti的七大服务接口有哪些?
在说七大接口之前,咱们先说一个核心基础引擎接口
/** ProcessEngine的表白: 它把服务的七大接口在本类中都实例化了,并单独 为每一个服务接口提供了一个实例化的方法,所以说通过它可以获取所有的服务接口对象,
它使用了外观设计模式,关于设计模式在此处不多说,我只是看他源码结构的时候发现了而已。 */ ProcessEngine processEngine // 流程引擎接口
现在可以介绍有哪七大服务接口了,闪亮登场,分别是
RepositoryService:提供一系列管理流程部署和流程定义的API。
RuntimeService:在流程运行时对流程实例进行管理与控制。
TaskService:对流程任务进行管理,例如任务提醒、任务完成和创建任务等。
HistoryService:对流程的历史数据进行操作,包括查询、删除这些历史数据。
IdentityService:提供对流程角色数据进行管理的API,这些角色数据包括用户组、用户及它们之间的关系。
ManagementService:提供对流程引擎进行管理和维护的服务。
FormService:表单服务。
介绍完了七大接口,就不得不说activiti框架所提供的数据表了,activiti6有28张数据表,如下所示
3、我想就上面介绍它的数据表的话,不弄清楚这表与表之间的关系,在使用它的时候,会一头雾水,所以我们来认清表与表的关系?
1、先从定义模型表 act_re_model 开始 ,从图中看关系一清二楚
2、再次看已部署的流程定义表 act_re_prodecf ,得知它与模型定义表没有一点关系。
3、接下来就可以看运行时流程执行实例表,act_ru_execution , 可以看出来它与很多表还是有关联的。
4、最后在看一下运行时任务表 act_ru_task ,得知它与运行时用户关系是关联的。
各位看着还行的话,就给个赞吧,你们的点赞就是我的收获,O(∩_∩)O哈哈~。