您好,登錄后才能下訂單哦!
文章源碼托管:https://github.com/OUYANGSIHAI/Activiti-learninig
歡迎 star !!!
Activiti5
是由Alfresco軟件在2010年5月17日發布的業務流程管理(BPM)框架,它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴展的可執行流程語言框架。Activiti基于Apache許可的開源BPM平臺,創始人Tom Baeyens是JBoss jBPM的項目架構師,它特色是提供了eclipse插件,開發人員可以通過插件直接繪畫出業務流程圖。
官網:http://www.activiti.org/
目前,Activiti5中的5.22版本
是用的最多的一個版本,本次教程也是使用這個版本進行講解,最新版本到了7.0版本
。
在開始教程之前,我們需要先明確下面的一些概念和知識,可以幫助我們更好的理解工作流的開發。
ProcessEngine
對象,這是Activiti工作的核心
。負責生成流程運行時的各種實例及數據、監控和管理流程的運行。
用百度更為通俗的話來說就是:就是一輛汽車的發動機,就好比一輛汽車,外表做得再漂亮,如果發動機有問題就只是一個擺設。應用系統的彈性就好比引擎轉速方面的性能,加速到100 公里需要1 個小時(業務流程發生變動需要進行半年的程序修改)還能叫好車嗎?引擎動不動就熄火(程序因為邏輯的問題陷入死循環)的車還敢開嗎?
在Activiti工作流中用到了一個BPMN的文件,主要是用來描述業務流程的基本的符號,利用各個組件能夠組成一個業務流程圖,整個業務也是根據這個圖來走的,其實用xml格式打開,就是一個xml文件
。
下面就是bpmn組件的示意圖
在我們進行業務流程開發的時候,是會產生很多的數據的,那么這些數據都是放在哪里呢?
是的,其實就是存放在數據庫的。
在Activiti工作流的后臺是有數據庫的支持的,所有的表都以ACT_開頭
,利用這些數據庫的表,就能夠把整個業務流程的數據保存下來,然后利用這些數據進行不同的業務的開發。
數據庫表示意圖
下面對這些表做一些基本的解釋,這些可以先不看,等看完后面的教程后再回過頭來看,你會發現其實很簡單的
。
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
,獲取優質學習資源。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。