【前言】
今天是2020-1-24,一年一度的除夕。
工做流引擎多用於各個環節的審批流程,本質上全部的流程都是些if else的東西。
【學爲己用】
一、可是爲啥不直接用if else呢?
答:由於,業務流程在實際應用中,不是一成不變的。而是一個逐步完善的,因人而異的過程。這個過程,咱們固然能夠經過修改底層代碼來不斷的根據需求修改,也能夠配置成流程圖,將某個模塊的流程封裝,任意搭配。便於管理與開發。
二、簡要說明: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接口,存儲流程實例和用戶任務等動態數據
三、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
四、activiti6中的流程圖是怎麼畫的?
spring