閱讀64 返回首頁    go 阿裏雲 go 技術社區[雲棲]


http://www.blogjava.net/killme2008/archive/2007/10/10/151845.html

寫一個簡單的工作流一直停留在我的“計劃”中,最近趁改造績效係統的機會,決定自己寫一個基於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-17 16:33:16

  上一篇:go  寫一個簡單的工作流(二)
  下一篇:go  sicp 3.9題解答