更新時間:2022-11-01 09:55:56 來源:動力節點 瀏覽3760次
該流程引擎完全開源免費,致力于打造與平臺組織架構無關、高擴展的工作流引擎。
通過自定義用戶選擇器和條件處理器實現既有業務的組織架構關聯和審批過程處理。
直接從git下載源碼編譯。
建議以分布式子系統或者微服務形式部署。
項目自帶流程編輯器,以及 簡單的流程模擬功能.
WorkFlowCore
是整個引擎的核心,核心通過抽象,允許 部分功能通過外部擴展
WorkFlowCore.Framework
是抽象的其中一個擴展,默認實現了以json文件為持久化的倉儲 Repository和兩個事件處理demo
WorkFlowCore.Host
是web服務的啟動項目,在這里寫接口代碼
WorkFlowCore.Selector
是抽象的其中一個擴展,默認實現兩個 用戶選擇器和條件處理器,
WorkFlowCore.Test
單元測試
Repository
框架默認實現的只是一個以json文件為持久化的倉儲,實際使用應該實現自己的持久化程序,實現 IBasicRepository 接口,將程序注冊到容器服務中。
不同項目的組織架構不同,這也是為什么要寫這個框架,就是要把用戶的選擇從框架中抽取出來。
實現自定義用戶選擇器需要實現 IUserSelector 接口:
GetSelections 方法返回用戶的選項類型,可以返回一些類型(比如角色,職位等組織架構信息)也可以直接返回用戶列表
GetUsers 方法是在流程審批過程中,結合流程的各項參數去解析獲取實際的用戶數據,這里返回的是根據條件匹配到的用戶列表。
自己實現的選擇器需要注冊到容器服務中
一般的條件處理使用默認的條件處理可以完成,但是需要復雜的條件處理就需要自定義實現。比如需要根據表單中某個值去獲取其它信息進行判斷,就需要自己解析。
具體解析要看表單數據格式,具體問題具體分析。
要自定義 條件處理器 需要實現 ICondition 接口,該接口只有一個方法 CanAccept,結合流程數據判斷某個路徑是否能走。
注冊選擇器到容器服務中
目前系統提供 流程推送事件和流程結束事件,需要實現更多擴展功能比如通知處理流程,流程結束后推送消息之類的需求,需要自己實現ISendTaskEventHandler 和 ITaskFinishedEventHandler
實現的事件擴展需要注冊到服務中
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習