寫一個簡單的工作流,基於petri網
寫一個簡單的工作流一直停留在我的“計劃”中,最近趁改造績效係統的機會,決定自己寫一個基於petri網原理的工作流來改寫績效考核流程部分。基於petri網的工作流的基本算法,就是當每一個firing發生後,應當遍曆整個流程重新改變transition的enable,那麼當資源驅動某個transition其實就是將它的輸入place中的token轉移到輸出place。大概的接口類似:
WorkFlowManager wm = new BasicWorkflowManager(this.workFlowDAO);
Token token1 = wm.startWorkFlow(0); //為流程0新啟動一個案例
wm.doAction(token1,resource,args); //傳入資源和參數以驅動firing
今天完成了順序路由和並行路由的實現,選擇和循環也準備加入。暫時隻實現了內存存儲案例數據和流程數據,顯然,應當實現一個數據庫版本,慢慢來吧。
文章轉自莊周夢蝶 ,原文發布時間2007-10-10
最後更新:2017-05-18 10:32:59