簡單的理解就是工作的流程,這里的流程指的是,完成一個企業中具體業務的一系列工作步驟,所有的步驟合在一起就是業務從開始到結束的流轉過程。
從計算機系統的角度來講,工作流系統表示:業務過程的部分和整體在計算機應用環境的自動化操作
JBPM
,全稱是Java Business Process Management
(業務流程管理),它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴展的可執行流程語言框架。JBPM
是公開源代碼項目 。
JBPM在2004年10月18日,發布了2.0版本,并在同一天加入了JBoss
,成為了JBoss
企業中間件平臺的一個組成部分,它的名稱也改成JBoss jBPM
。
在JBPM4
之后,公司內部對于軟件的規劃發生了分歧,所以當時的項目架構師脫離了原來的公司,加入新的公司后,改了名稱Activiti5
。
JBPM
采用Hibernte
(JBPM核心發生了很大的變化)
Activiti5
采用MyBatis
(MyBatis 3, 1和2都叫做iBatis)
ProcessEngine:這個類是Activiti5的核心,所有的服務都需要通過ProcessEngine來創建,該類是線程安全的
Activiti5的持久化層采用的是Mybatis,這樣移植性好
Activiti5主要包括7個Service,這些Service都是通過ProcessEngine創建
repositoryService:(持久化服務) 與數據庫進行交互的
runtimeService:(運行時服務) 與運行流程有關
formService:(表單服務)
identityService:(身份信息)
taskService:(任務服務) 與流程中的每一個步驟有關
historyService:(歷史信息) 查看歷史的流程步驟
managementService:(管理定時任務)在固定的時間點完成固定的任務
Activiti使用到的表都是ACT_開頭的。默認會生成25張表。
ACT_RE_*
: ‘RE’表示repository
(存儲),RepositoryService
接口所操作的表。帶此前綴的表包含的是靜態信息,如,流程定義,流程的資源(圖片,規則等)。
ACT_RU_*
: ‘RU’表示runtime
,運行時表-RuntimeService
。這是運行時的表存儲著流程變量,用戶任務,變量,職責(job)等運行時的數據。Activiti只存儲實例執行期間的運行時數據,當流程實例結束時,將刪除這些記錄。這就保證了這些運行時的表小且快。
ACT_ID_*
: ’ID’表示identity
(組織機構),IdentityService
接口所操作的表。用戶記錄,流程中使用到的用戶和組。這些表包含標識的信息,如用戶,用戶組,等等。
ACT_HI_*
: ’HI’表示history
,歷史數據表,HistoryService
。就是這些表包含著流程執行的歷史相關數據,如結束的流程實例,變量,任務,等等。
ACT_GE_*
: 全局通用數據及設置(general),各種情況都使用的數據。
表明 | 數據 |
---|---|
act_ge_bytearray | 二進制數據表 |
act_ge_property | 屬性數據表存儲整個流程引擎級別的數據,初始化表結構時,會默認插入三條記錄 |
act_hi_actinst | 歷史節點表 |
act_hi_attachment | 歷史附件表 |
act_hi_comment | 歷史意見表 |
act_hi_identitylink | 歷史流程人員表 |
act_hi_detail | 歷史詳情表,提供歷史變量的查詢 |
act_hi_procinst | 歷史流程實例表 |
act_hi_taskinst | 歷史任務實例表 |
act_hi_varinst | 歷史變量表 |
act_id_group | 用戶組信息表 |
act_id_membership | 用戶與用戶組對應信息表 |
act_id_user | 用戶信息表 |
act_re_deployment | 部署信息表 |
act_re_model | 流程設計模型部署表 |
act_re_procdef | 流程定義數據表 |
act_ru_event_subscr 、throwEvent、catchEvent | 時間監聽信息表 |
act_ru_execution | 運行時流程執行實例表 |
act_ru_identitylink | 運行時流程人員表,主要存儲任務節點與參與者的相關信息 |
act_ru_job | 運行時定時任務數據表 |
act_ru_task | 運行時任務節點表 |
act_ru_variable | 運行時流程變量數據表 |
部署流程后,數據庫中會有3張表的數據發生變化,用于存儲當前部署及流程定義相關的數據,圖形,文件內容
流程實例其實就是流程定義的具體應用,通過startXXXXX方法啟動流程實例,
啟動流程后,會在RU表及HI表中增加相應的數據
所謂的任務其實就是流程中的工作步驟,可以將任務委派給某個人完成,也可以委派給某個小組后再分配給個人完成,當流程中所有的任務完成后,流程結束。
流程的邊界,由框架自動完成,不需要人工參與
將流程中固定不變的內容通過變量來表示,可以讓流程更具備通用性
在流程定義圖中使用EL表達式(${tl})
增加變量,在啟動流程時傳遞變量
Map<String, Object> var = new HashMap<String, Object>() ;var.put(“tl”, “zhangsan”);
網關就是流程中的分支判斷,可以在流程定義圖中增加判斷條件實現
框架中的網關主要分為3種:
排他網關:多個邏輯分支同時只能執行一個,分支執行完畢,流程結束
并行網關:多個邏輯分支同時執行,一個分支執行完畢后,流程沒有結束,需要等待其他分支的執行,所有的分支執行完畢后,流程結束
包含網關:多個邏輯分支如果有一個條件成立,那么等同于排他網關,如果有多個條件成立,那么等同于并行網關。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
ps跟cc可以同時安裝嗎?PS的意思是PhotoshopCC只是PS里的最新版本!Photoshop版本從之前的PS 1.0到PS7.0 PS8.0是PS CS1。CS這個名字一直在用。CS6PS CS7就是PS CC。如果你的電腦不是太差,應該還是用最新版本的Photoshop CC。不需要和之前版本同時安裝Photoshop CC,因為Photoshop的同一個功能變化不大!win7能不能裝p...
win11一鍵ghost還原系統步驟?1.可以打開一鍵設置ghost軟件,你選擇一鍵備份備份文件系統,點擊系統備份。如果沒有有之前的系統就可以選擇一鍵恢復系統。2.然后再點擊判斷即可進入重啟。3.然后把在windows啟動器界面中你選擇“一鍵設置ghost”,接著按回車。4.進入到GRUB4DOS引導出來界面,依據什么需要你選擇按的系統回車。5.中,選擇1KEYGHOST11.2,你選擇驅動器類型...
奧運向前沖闖關最快紀錄?傅洋2008年,傅洋參加湖南衛視《奧運向前沖》節目。因為他的不敗紀錄,他穿著超人服裝被全國觀眾記住,然后參加了幾個電視節目。湖南衛視奧運向前沖,主持人是誰?姓名:王歡,身高:1.66米,體重:51公斤。民族:滿族,出生日期:2月14日,血型:AB。星座:水瓶座,學歷:本科,出生地:河北省承德市。愛好:安靜的時候在家看自己喜歡的書?;顒拥臅r候和好朋友一起吃飯,k歌。去商場和書...