工作流引擎只負責業務流程的抽象模型的建立,解釋和運轉,業務模組還是在業務模組中完成。
當乙個成型的流程引擎在和業務模組整合時,需要做如下幾點的整合:
1、業務模組中業務資料儲存的同時,要呼叫流程引擎的執行流程流轉的api函式,如,未初始化得到流程例項id的,就需要初始化流程,已經初始化的需要執行流程的流轉。 並且業務模組的儲存和流程的流轉在同乙個事務中。
2、業務模組中錄入控制項的操作許可權設定,通常是唯讀,隱藏等。使得表單掛接在流程的各個節點上對各個控制項的操作許可權不一樣。
3、業務關鍵資料需要傳遞到流程引擎中,使得流程上下文能讀取,作用於流程。
通常需要做這三方面的整合。
為了更方便整合業務模組或表單,通常會將啟動流程,執行流程的流轉 等行為api再次封裝成通用函式。在表單或者模組中呼叫,只需要傳遞流程名稱,流程版本等引數,就能達到執行流程流轉。
如果用表單工具的話,這些封裝就顯得更重要了。
自定義表單工具,視覺化的設計錄入介面。將和工作流引擎相關聯的api函式,再次封裝成通用函式,在表單的設計介面中就可以選擇。並進一步將這些函式封裝成可配置的工具條按鈕,在自定義表單頁面中引入。
如這樣一些表單按鈕功能,都是工作流引擎整合自定義表單必備的:
暫存:只提交業務資料
提交:提交業務資料並執行流程
執行:只執行流程
軌跡:檢視流程例項的執行軌跡
掛起:掛起流程例項,掛起後的流程例項不能執行,需要恢復後才能執行。
終止:直接結束流程例項,終止後的流程不能再恢復執行。
其中,提交和執行兩個功能,又有很多種的組合變化,主要體現在,提交和執行之後的提示資訊顯示上面。
1、提交和執行之後,繼續下面的步驟,檢查當前使用者是否有許可權,有許可權的話,繼續執行下一步,將下一步可執行的表單頁面開啟,等待操作者執行。
這種情況最複雜,但是可以使得流程執行很連貫,一氣呵成,有運用的場景的。如使用者有整個流程所有步驟的操作許可權時,就不希望每次都切換介面,從任務鏈結中繼續下一步,而是每執行完乙個步驟,就自動往下執行。開啟下一步的介面。
3、提交和執行之後,提示下一步的資訊,操作者。確認後,關閉當前頁面。
4、提交和執行之後,不提示也不關閉視窗。(這種運用場景可能比較少。)
將這麼多的功能按鈕的功能封裝在自定義工具條的功能中,讓使用者去配置自己的工具條。或者自定義功能按鈕時,選擇這些執行函式。
如下面:
在表單中選擇自定義工具條
設定自定義的按鈕和下拉項:
這些按鈕還可以設定操作許可權。
充分利用這些自定義工具條的功能,使得流程引擎和自定義表單整合後功能更強大,操作更靈活,適應更廣泛。
近日專案整合了JBPM工作流引擎
03年的時候,由於專案需要,曾經整合了乙個開源的工作流引擎,那時候用的是ofbiz.ofbiz是乙個大的框架,我們從中抽出了其workflow部分,加了很多改動,最後整合到了當時的專案中.感覺工作量還是挺大的.經過充分思考,這次打算在專案中再次應用workflow engine,這次採用的是jbos...
馳騁工作流引擎 表單資料儲存格式
buzznet tags 馳騁工作流引擎,開源工作流,ccflow,ccbpm,流程引擎,流程解析伺服器,表單引擎,表單解析伺服器,net工作流,源 馳騁工作流引擎的表單儲存格式與傳統的表單儲存格式不同,它是採用資料表的儲存的,這是最大區別於檔案格式的儲存。正是因為ccbpm擺脫了對檔案格式儲存的表...
馳騁工作流引擎 表單資料儲存格式
馳騁工作流引擎的表單儲存格式與傳統的表單儲存格式不同,它是採用資料表的儲存的,這是最大區別於檔案格式的儲存。正是因為ccbpm擺脫了對檔案格式儲存的表單的依賴,所以具有最大範圍的擴充套件性通用性 靈活性。物理表名 中文名說明 sys frmlab 標籤儲存標籤 sys frmline 線儲存線,線只...