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