【前言】 今天是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中的流程图是怎么画的?