Activiti 工作流學習

關鍵對象

  1.  Deployment:流程部署對象,部署一個流程時創(chuàng)建。
    
  2.  ProcessDefinitions:流程定義,部署成功后自動創(chuàng)建。
    
  3.  ProcessInstances:流程實例,啟動流程時創(chuàng)建。 
    
  4.  Task:任務,在Activiti中的Task僅指有角色參與的任務,即定義中的UserTask。 
    
  5.  Execution:執(zhí)行計劃,流程實例和流程執(zhí)行中的所有節(jié)點都是Execution,如UserTask、ServiceTask等。
    

七大接口

  1.  ProcessEngine:流程引擎的抽象,通過它我們可以獲得我們需要的一切服務。 
    
  2.  RepositoryService:Activiti中每一個不同版本的業(yè)務流程的定義都需要使用一些定義文件,部署文件和支持數(shù)據(jù)(例如BPMN2.0 XML文件,表單定義文件,流程定義圖像文件等),這些文件都存儲在Activiti內建的Repository中。RepositoryService提供了對 repository的存取服務。
    
  3.  RuntimeService:在Activiti中,每當一個流程定義被啟動一次之后,都會生成一個相應的流程對象實例。RuntimeService提供了啟動流程、查詢流程實例、設置獲取流程實例變量等功能。此外它還提供了對流程部署,流程定義和流程實例的存取服務。
    
  4.  TaskService: 在Activiti中業(yè)務流程定義中的每一個執(zhí)行節(jié)點被稱為一個Task,對流程中的數(shù)據(jù)存取,狀態(tài)變更等操作均需要在Task中完成。TaskService提供了對用戶Task 和Form相關的操作。它提供了運行時任務查詢、領取、完成、刪除以及變量設置等功能。 
    
  5.  IdentityService: Activiti中內置了用戶以及組管理的功能,必須使用這些用戶和組的信息才能獲取到相應的Task。IdentityService提供了對Activiti 系統(tǒng)中的用戶和組的管理功能。
    
  6.  ManagementService: ManagementService提供了對Activiti流程引擎的管理和維護功能,這些功能不在工作流驅動的應用程序中使用,主要用于Activiti系統(tǒng)的日常維護。 
    
  7.  HistoryService: HistoryService用于獲取正在運行或已經完成的流程實例的信息,與RuntimeService中獲取的流程信息不同,歷史信息包含已經持久化存儲的永久信息,并已經被針對查詢優(yōu)化。
    

BPMN

業(yè)務流程建模與標注(Business Process Model and Notation,BPMN) ,描述流程的基本符號,包括這些圖元如何組合成一個業(yè)務流程圖(Business Process Diagram)

數(shù)據(jù)庫

Activiti數(shù)據(jù)庫支持:
Activiti的后臺是有數(shù)據(jù)庫的支持,所有的表都以ACT_開頭。 第二部分是表示表的用途的兩個字母標識。 用途也和服務的API對應。
ACT_RE_: ‘RE’表示repository。 這個前綴的表包含了流程定義和流程靜態(tài)資源 (圖片,規(guī)則,等等)。
ACT_RU_
: ‘RU’表示runtime。 這些運行時的表,包含流程實例,任務,變量,異步任務,等運行中的數(shù)據(jù)。 Activiti只在流程實例執(zhí)行過程中保存這些數(shù)據(jù), 在流程結束時就會刪除這些記錄。 這樣運行時表可以一直很小速度很快。
ACT_ID_: ‘ID’表示identity。 這些表包含身份信息,比如用戶,組等等。
ACT_HI_
: ‘HI’表示history。 這些表包含歷史數(shù)據(jù),比如歷史流程實例, 變量,任務等等。
ACT_GE_*: 通用數(shù)據(jù), 用于不同場景下,如存放資源文件。

表結構操作:

資源庫流程規(guī)則表

  1. act_re_deployment 部署信息表
  2. act_re_model 流程設計模型部署表
  3. act_re_procdef 流程定義數(shù)據(jù)表
    運行時數(shù)據(jù)庫表
  4. act_ru_execution 運行時流程執(zhí)行實例表
  5. act_ru_identitylink 運行時流程人員表,主要存儲任務節(jié)點與參與者的相關信息
  6. act_ru_task 運行時任務節(jié)點表
  7. act_ru_variable 運行時流程變量數(shù)據(jù)表
    歷史數(shù)據(jù)庫表
  8. act_hi_actinst 歷史節(jié)點表
  9. act_hi_attachment 歷史附件表
  10. act_ih_comment 歷史意見表
  11. act_hi_identitylink 歷史流程人員表
  12. act_hi_detail 歷史詳情表,提供歷史變量的查詢
  13. act_hi_procinst 歷史流程實例表
  14. act_hi_taskinst 歷史任務實例表
  15. act_hi_varinst 歷史變量表
    組織機構表
  16. act_id_group 用戶組信息表
  17. act_id_info 用戶擴展信息表
  18. act_id_membership 用戶與用戶組對應信息表
  19. act_id_user 用戶信息表
    這四張表很常見,基本的組織機構管理,關于用戶認證方面建議還是自己開發(fā)一套,組件自帶的功能太簡單,使用中有很多需求難以滿足
    通用數(shù)據(jù)表
  20. act_ge_bytearray 二進制數(shù)據(jù)表
  21. act_ge_property 屬性數(shù)據(jù)表存儲整個流程引擎級別的數(shù)據(jù),初始化表結構時,會默認插入三條記錄,
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容