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