【前言】
今天是2020-1-24,一年一度的除夕。
工作流引擎多用于各个环节的审批流程,本质上所有的流程都是些if else的东西。
【学为己用】
1、但是为啥不直接用if else呢?
答:因为,业务流程在实际应用中,不是一成不变的。而是一个逐步完善的,因人而异的过程。这个过程,我们当然可以通过修改底层代码来不断的根据需求修改,也可以配置成流程图,将某个模块的流程封装,任意搭配。便于管理与开发。
2、简要说明:activiti的七大核心接口、28张表?
答:七大接口
①管理流程部署和流程定义的API ?RepositoryService
②流程运行时对流程实例进行管理与控制?RuntimeService
③对流程任务进行管理(任务提醒、创建任务等)TaskService
④提供对流程角色数据管理的API(用户)?IdentityService
⑤提供对流程引擎进行管理和维护服务?ManagementService
⑥对流程历史数据进行操作(查询、删除)HistoryService
⑦表单服务?FormService
28张表
其中act_ge 通用数据表,ge是general的缩写
act_hi 历史数据表,hi是history的缩写,对应HistoryService接口
act_id 身份数据表,id是identity的缩写,对应IdentityService接口
act_re 流程存储表,re是repository的缩写,对应RepositoryService接口,存储流程部署和流程定义等静态数据
act_ru 运行时数据表,ru是runtime的缩写,对应RuntimeService接口和TaskService接口,存储流程实例和用户任务等动态数据
3、activiti中最核心的类ProcessEngine,是做啥的?
答:
【1地位】这是activiti最核心的类,其他的类都是衍生;
【2创建工作流引擎】
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
【3仓库服务RepositoryService】
RepositoryService repositoryService = processEngine.getRepositoryService();
【4运行时服务RuntimeService】?
RuntimeService runtimeService = processEngine.getRuntimeService();
?【5任务服务TaskService】
TaskService taskService = processEngine.getTaskService();
HistoryService
4、activiti6中的流程图是怎么画的?
原文地址:https://blog.51cto.com/13479739/2468362