文章源碼托管:https://github.com/OUYANGSIHAI/Activiti-learninig
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出克州免費做網(wǎng)站回饋大家。
歡迎 star ?。。?/p>
Activiti5
是由Alfresco軟件在2010年5月17日發(fā)布的業(yè)務(wù)流程管理(BPM)框架,它是覆蓋了業(yè)務(wù)流程管理、工作流、服務(wù)協(xié)作等領(lǐng)域的一個開源的、靈活的、易擴展的可執(zhí)行流程語言框架。Activiti基于Apache許可的開源BPM平臺,創(chuàng)始人Tom Baeyens是JBoss jBPM的項目架構(gòu)師,它特色是提供了eclipse插件,開發(fā)人員可以通過插件直接繪畫出業(yè)務(wù)流程圖。
官網(wǎng):http://www.activiti.org/
目前,Activiti5中的5.22版本
是用的最多的一個版本,本次教程也是使用這個版本進(jìn)行講解,最新版本到了7.0版本
。
在開始教程之前,我們需要先明確下面的一些概念和知識,可以幫助我們更好的理解工作流的開發(fā)。
ProcessEngine
對象,這是Activiti工作的核心
。負(fù)責(zé)生成流程運行時的各種實例及數(shù)據(jù)、監(jiān)控和管理流程的運行。
用百度更為通俗的話來說就是:就是一輛汽車的發(fā)動機,就好比一輛汽車,外表做得再漂亮,如果發(fā)動機有問題就只是一個擺設(shè)。應(yīng)用系統(tǒng)的彈性就好比引擎轉(zhuǎn)速方面的性能,加速到100 公里需要1 個小時(業(yè)務(wù)流程發(fā)生變動需要進(jìn)行半年的程序修改)還能叫好車嗎?引擎動不動就熄火(程序因為邏輯的問題陷入死循環(huán))的車還敢開嗎?
在Activiti工作流中用到了一個BPMN的文件,主要是用來描述業(yè)務(wù)流程的基本的符號,利用各個組件能夠組成一個業(yè)務(wù)流程圖,整個業(yè)務(wù)也是根據(jù)這個圖來走的,其實用xml格式打開,就是一個xml文件
。
下面就是bpmn組件的示意圖
在我們進(jìn)行業(yè)務(wù)流程開發(fā)的時候,是會產(chǎn)生很多的數(shù)據(jù)的,那么這些數(shù)據(jù)都是放在哪里呢?
是的,其實就是存放在數(shù)據(jù)庫的。
在Activiti工作流的后臺是有數(shù)據(jù)庫的支持的,所有的表都以ACT_開頭
,利用這些數(shù)據(jù)庫的表,就能夠把整個業(yè)務(wù)流程的數(shù)據(jù)保存下來,然后利用這些數(shù)據(jù)進(jìn)行不同的業(yè)務(wù)的開發(fā)。
數(shù)據(jù)庫表示意圖
下面對這些表做一些基本的解釋,這些可以先不看,等看完后面的教程后再回過頭來看,你會發(fā)現(xiàn)其實很簡單的
。
1)act_re_deployment 部署信息表
2)act_re_model 流程設(shè)計模型部署表
3)act_re_procdef 流程定義數(shù)據(jù)表
1)act_ru_execution 運行時流程執(zhí)行實例表
2)act_ru_identitylink 運行時流程人員表,主要存儲任務(wù)節(jié)點與參與者的相關(guān)信息
3)act_ru_task 運行時任務(wù)節(jié)點表
4)act_ru_variable 運行時流程變量數(shù)據(jù)表
1)act_hi_actinst 歷史節(jié)點表
2)act_hi_attachment 歷史附件表
3)act_hi_comment 歷史意見表
4)act_hi_identitylink 歷史流程人員表
5)act_hi_detail 歷史詳情表,提供歷史變量的查詢
6)act_hi_procinst 歷史流程實例表
7)act_hi_taskinst 歷史任務(wù)實例表
8)act_hi_varinst 歷史變量表
1)act_id_group 用戶組信息表
2)act_id_info 用戶擴展信息表
3)act_id_membership 用戶與用戶組對應(yīng)信息表
4)act_id_user 用戶信息表
這些表用的很少,因為我們一般會自己做一個權(quán)限管理,所以不會用activiti自身所帶的表。
1)act_ge_bytearray 二進(jìn)制數(shù)據(jù)表
2)act_ge_property 屬性數(shù)據(jù)表存儲整個流程引擎級別的數(shù)據(jù),初始化表結(jié)構(gòu)時,會默認(rèn)插入三條記錄。
這兩張表的數(shù)據(jù)是不能夠隨意刪除的,刪除可能會出問題。
工作流的概念就先介紹這么多了,更多的去官網(wǎng)查看,下一節(jié)將用一個入門的實例
來對工作流進(jìn)行講解。
文章有不當(dāng)之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號:
好好學(xué)java
,獲取優(yōu)質(zhì)學(xué)習(xí)資源。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。