Activiti工作流從入門到入土:工作流簡介

文章源碼託管:https://github.com/OUYANGSIHA...
歡迎 star !!!

一、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 屬性數據表存儲整個流程引擎級別的數據,初始化表結構時,會默認插入三條記錄。

這兩張表的數據是不能夠隨意刪除的,刪除可能會出問題。

五、總結

工作流的概念就先介紹這麼多了,更多的去官網查看,下一節將用一個入門的實例來對工作流進行講解。

文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關注我的微信公衆號好好學java,獲取優質學習資源。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章