這段時間因為項目需要做了一小的工作流引擎,總結(jié)一下經(jīng)驗。
大概會分為這么幾個階段來介紹。
1.理論基礎(chǔ)
2.實現(xiàn)技術(shù)
3.實際開發(fā)的一個例子。
如圖:
一、理論基礎(chǔ)
只是簡單的討論原理,詳細(xì)數(shù)學(xué)理論不再這里討論,會在附錄里列出來,有興趣的同學(xué)自行查看。
1.概念
為了實現(xiàn)業(yè)務(wù)過程自動化提出的概念。
以前去政府部門辦過事大家都有體會,那個迷茫啊困惑啊,很多連個辦事指南都沒有。
辦一件小事要蓋十幾個章,材料交上去后你根本不知道現(xiàn)在到了哪個部門,審核通過了沒人通知你,沒通過的話少什么資料也不告訴你,告訴你也不是一次都說,跑一趟說一點。通過了這個部門審核下一步應(yīng)該去哪也沒人告訴你。
這個時候有個對機(jī)關(guān)門清的人,知道哪里水深水淺,領(lǐng)著你辦下來該有多好,該請客請客該送禮送禮,少跑很多冤枉路,還能隨時查詢狀態(tài)。
這就是工作流引擎要做的事情。
2.發(fā)展歷史
工作流技術(shù)起源于二十世紀(jì)七十年代中期辦公自動化領(lǐng)域的研究,由于當(dāng)時計算機(jī)尚未普及,網(wǎng)絡(luò)技術(shù)水平還很低以及理論基礎(chǔ)匱乏,這項新技術(shù)并未取得成功。
老外也是被扯皮扯怕了試圖改進(jìn)。
3.作用目標(biāo)
工作流將作為一個公共基礎(chǔ)子系統(tǒng)服務(wù)于整個平臺產(chǎn)品的人力工作流和業(yè)務(wù)工作流環(huán)節(jié)。
通過將工作活動分解成定義良好的任務(wù)、角色、規(guī)則和過程來進(jìn)行執(zhí)行和監(jiān)控,達(dá)到提高生產(chǎn)組織水平和工作效率的目的。
人多了事情多了,扯皮的情況也就多了。為了避免扯皮建立一個協(xié)調(diào)中心,提供辦事指南,負(fù)責(zé)進(jìn)度管理,公共信息維護(hù)。
處理這種有復(fù)雜流程的事情目前有兩種解決思路:
1.針對業(yè)務(wù)領(lǐng)域開發(fā)一個系統(tǒng),一個模塊處理完成一件事件后根據(jù)情況來決定下一步跳到哪個模塊,帶點什么參數(shù)。適應(yīng)于流程比較固定的業(yè)務(wù),像財務(wù)系統(tǒng)雖然很復(fù)雜,但是各種處理規(guī)則都清清楚楚明明白白,也不會隨便變動。
2.工作流方式,講流程跳轉(zhuǎn)規(guī)則由工作流引擎統(tǒng)一維護(hù),每個具體執(zhí)行任務(wù)的模塊只管干自己的活,干完了告訴一聲引擎,由引擎通知下一個模塊。目前只能處理相對簡單的一些工作流程,OA公文流轉(zhuǎn),IOM生產(chǎn)系統(tǒng)調(diào)度這類規(guī)則不是很復(fù)雜,流程上下文較簡單的情況。
對于特別復(fù)雜的流程,開發(fā)量反而比定制業(yè)務(wù)系統(tǒng)還要多。工作流理論需要再有一次提升才能解決這個問題。
4.體系特點
可維護(hù)性和可擴(kuò)展性
與業(yè)務(wù)系統(tǒng)實際關(guān)聯(lián)低偶合
可以擴(kuò)充表達(dá)式引擎,與界面綁定由界面引擎決定
可以適應(yīng)與審核等人力流程,也可以適用在無人干預(yù)的商業(yè)自動化流程
安全性
易用性
5.模型表示
用例模型
應(yīng)用用例
擴(kuò)展用例
分析模型
架構(gòu)性重要分析元素
架構(gòu)性重要用例實現(xiàn)
設(shè)計模型
組件結(jié)構(gòu)
部署結(jié)構(gòu)
6.定義語言
7.參考資料