工作流引擎設計思路

一、易用性原理

工作流引擎在多數應用中是由客戶或實施人員來設計相關業務流程,因此易用性相當重要,有些工作流引擎的設置器,在設計流程時按照代碼語言的語法,或其它技術化強的術語去設置,讓人不知道如何開始,也不太容易明白相關設置的具體意義。

因此要求圖形化視覺效果,包括流程設計時的圖形化和流程應用時的圖形化。設計時的圖形化以拖拉的方式就能去設置流程,應用時圖形化讓用戶非常直觀的感覺到流程運作情況;也要求操作便利,提供鼠標單雙擊、鍵盤快捷方式、工具欄、流程導入導出、打印、節點導航、流程複製粘貼、流程校驗等等功能方便用戶快速設置流程



二、功能完整性原理

        工作流引擎必須支持各種流程特性,包括串行流程、並行流程(分流合流)、子流程、條件路徑、條件人員、環節信息權限設置、普通環節、機構環節、會籤環節等等,這裏就不一一列舉了。既然提供用戶在代碼外定義流程,那麼流程定義工具就要求能夠支撐到所有流程特性。



三、數據完整性原理

       工作流本身對於業務系統而言,其作用是隱藏在背後,業務系統包括大量的業務處理數據,工作流引擎本身也有數據的處理,如何保證業務數據和流程數據的事務完整性?如何設計才能保證業務數據與流程數據的關聯完整性?流程是自定義的情況下,業務數據如何統計?這些都是設計工作流引擎及工作流應用框架時必須解決的。



四、伸縮性原理

       設想一個企業應用,如果公司只幾十個人,又在一個辦公室,工作流應用的價值不是很大,真正有價值的工作流應用是在集團公司大量煩瑣的事件處理,如省級郵政的OA系統,15000的用戶量,跨各個地市的不同流程模式。還有就是大的業務處理量,處理環節涉及多個職能部門,流程引擎協調和處理這些部門和人員之間的工作等,這些應用場景均是大處理量,流程跨越大,而且業務流程本身會有調整,會有不同組織結構層次複用同一流程模式的需求,因此在處理能力上需要有伸縮性,流程設置上也需要有伸縮性。



五、擴展性原理

       工作流引擎設置工具能包括各種特殊權限的支撐,如交接、跳轉、自動處理、終止流程、自定義時限等等,企業在某些特殊情況下應用流程時不一定需要按照流程設置去運作,流程設置工具能擴展特殊權限的功能去實現這樣一些特殊要求。

       工作流應用框架能夠支撐業務上的擴展,如與財務系統集成、ERP集成、消息平臺的集成、SPS的集成、INFOPATH的集成等。



六、接口原理

       其實接口是工作流引擎的關鍵,也是面向對象設計與分析的關鍵,工作流應用筐架只需做“我要做什麼”,工作流引擎返回結果,內部“我怎麼做”,是不需要攪在一塊的。關鍵接口包括:啓動、發送、回收、退回、消息通知、結束等等,當然實際業務需求中的接口需求遠不止這些。



七、可行性原理

      現在工作流技術非常流行,很多朋友希望能開發自己的工作流引擎,如果要自己開發,其實可以先考慮以下幾個問題。

1、 經濟的可行性:工作流引擎是需要能幫助客戶創造價值纔有前途的,如果我們自行開發的工作流引擎給客戶帶來多大價值,獲得多少回報,對比付出的成本及浪費的機會成本,收益如何?有得賺再自己做。

2、 技術可行性:工作流引擎設計並不複雜,關鍵是穩定、成熟的過程中,其它技術都在發展,工作流引擎需要集成的技術甚至解決方案的思想也在進步,工作流引擎能否與時俱進?盤算一下,如果有把握再自己做。

3、 時間的可行性:工作流引擎本身對客戶來說沒有價值,但可以降低應用開發的成本。具體的企業應用需要工作流引擎時,是否在規定的工期內能夠提供一個穩定可靠的工作流引擎去實現具體應用?計劃一下,來得及再自己做。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章