Activiti工作流從入門到入土:工作流簡介
一、activiti介紹
Activiti5
是由Alfresco軟體在2010年5月17日釋出的業務流程管理(BPM)框架,它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴充套件的可執行流程語言框架。Activiti基於Apache許可的開源BPM平臺,創始人Tom Baeyens是JBoss jBPM的專案架構師,它特色是提供了eclipse外掛,開發人員可以通過外掛直接繪畫出業務流程圖。
目前,Activiti5中的 5.22版本
是用的最多的一個版本,本次教程也是使用這個版本進行講解,最新版本到了 7.0版本
。
在開始教程之前,我們需要先明確下面的一些概念和知識,可以幫助我們更好的理解工作流的開發。
二、工作流引擎
ProcessEngine
物件,這是Activiti工作的 核心
。負責生成流程執行時的各種例項及資料、監控和管理流程的執行。
用百度更為通俗的話來說就是:就是一輛汽車的發動機,就好比一輛汽車,外表做得再漂亮,如果發動機有問題就只是一個擺設。應用系統的彈性就好比引擎轉速方面的效能,加速到100 公里需要1 個小時(業務流程發生變動需要進行半年的程式修改)還能叫好車嗎?引擎動不動就熄火(程式因為邏輯的問題陷入死迴圈)的車還敢開嗎?
三、BPMN
在Activiti工作流中用到了一個BPMN的檔案,主要是用來描述業務流程的基本的符號,利用各個元件能夠組成一個業務流程圖,整個業務也是根據這個圖來走的,其實用xml格式開啟,就是一個 xml檔案
。
下面就是bpmn元件的示意圖

圖片.png
四、資料庫
在我們進行業務流程開發的時候,是會產生很多的資料的,那麼這些資料都是放在哪裡呢?
是的,其實就是存放在資料庫的。
在Activiti工作流的後臺是有資料庫的支援的,所有的表都以 ACT_開頭
,利用這些資料庫的表,就能夠把整個業務流程的資料儲存下來,然後利用這些資料進行不同的業務的開發。
資料庫表示意圖

圖片.png
下面對這些表做一些基本的解釋, 這些可以先不看,等看完後面的教程後再回過頭來看,你會發現其實很簡單的
。
- 資源庫流程規則表
1)act_re_deployment 部署資訊表
2)act_re_model 流程設計模型部署表
3)act_re_procdef 流程定義資料表
- 執行時資料庫表
1)act_ru_execution 執行時流程執行例項表
2)act_ru_identitylink 執行時流程人員表,主要儲存任務節點與參與者的相關資訊
3)act_ru_task 執行時任務節點表
4)act_ru_variable 執行時流程變數資料表
- 歷史資料庫表
1)act_hi_actinst 歷史節點表
2)act_hi_attachment 歷史附件表
3)act_hi_comment 歷史意見表
4)act_hi_identitylink 歷史流程人員表
5)act_hi_detail 歷史詳情表,提供歷史變數的查詢
6)act_hi_procinst 歷史流程例項表
7)act_hi_taskinst 歷史任務例項表
8)act_hi_varinst 歷史變量表
- 組織機構表
1)act_id_group 使用者組資訊表
2)act_id_info 使用者擴充套件資訊表
3)act_id_membership 使用者與使用者組對應資訊表
4)act_id_user 使用者資訊表
這些表用的很少,因為我們一般會自己做一個許可權管理,所以不會用activiti自身所帶的表。
- 通用資料表
1)act_ge_bytearray 二進位制資料表
2)act_ge_property 屬性資料表儲存整個流程引擎級別的資料,初始化表結構時,會預設插入三條記錄。
這兩張表的資料是不能夠隨意刪除的,刪除可能會出問題。
五、總結
工作流的概念就先介紹這麼多了,更多的去官網檢視,下一節將用一個 入門的例項
來對工作流進行講解。