工作流管理的發展趨勢

weixin_33912445發表於2018-11-08

進入網際網路時代,基於網路的資訊化整合工作流擺在了人們的面前。

從目的上說,工作流的發展是為了解決現有問題,更好的滿足使用者需求,而移動裝置的進步,就要求工作流的管理要實現智慧化,保證相容性,能隨時隨地處理相關業務。由於當前的工作流管理系統主要由工作流建模和工作流實施環境組成,因此從這兩方面對工作流的未來發展做一下展望可能是比較穩健的方式。

8376067-7df2bfbca8e80314

1、工作流建模趨勢

當前工作流的建模技術可謂是百家爭鳴,但並沒有一種統一的模式,這也就是說在技術方面,相關解決方案依然遠遠沒有成熟。對當前主流的建模方法進行歸納,基本上可以分成5大類:指令碼語言、基於網的方法、基於規則的方法、基於邏輯的方法和代數方法。

(1)指令碼語言

指令碼語言自然不用多說,它通常都含有控制流和資料流的語句結構。優勢是它提供了一種比較簡便的描述方法,對於有經驗的設計者來說,使用起來更加得心應手。當然,缺點也很明顯,那就是它本身缺乏流程的形式化語意,語言的語義主要供語言直譯器使用。

(2)基於網的方法

適合於流程的視覺化建模,一般都使用狀態變遷網,流程中的活動用結點表示,控制流用邊表示。

使用狀態變遷網的主要問題在於是否有形式化的語義,大多數工作流產品的視覺化建模方法都缺乏形式化語義。在具有形式化語義的狀態變遷網中,使用得最多的就是Petr網和狀態圖(State Charts)。具有形式化語義的基於網的方法可以轉換成其它建模方法,如基於規則的、時序邏輯的和指令碼語言的方法等。

(3)基於規則的方法

目前研究得最多的基於規則的方法是ECA(Event/Condltion/Acton,簡稱EcA)規則,ECA規則是早用於AO0DBS,而後又被用於工作流管理領域。ECA規則具有形式化基礎,也可以轉換成其它的建模方法。如Petri網、時序邏輯等,但是ECA規則的視覺化工作量比較大。另外,如果規則集比較大時就難以管理。

(4)基於邏輯的方法

基於邏輯的方法適合於描述系統的動態性,其中時序邏輯是一種常用的方法,它具有很好的形式化基礎,驗證工作流模型的屬性比較方便。但是時序邏輯的主要缺點是很難實現視覺化.不容易轉換成其它的描述方法,描述業務流程的系統行為太複雜。

(5)基於代數的方法

過程代數(Proees Algebra)主要還是侷限在理論探討上,在工作流管理領域用得很少,只有一種基於過程代數的描述語言LOTOS被用於工作流管理領域。代數方法的主要缺點類似於基於邏輯的方法,並且在自動執行和形式化驗證方面表現得比基於邏輯的方法更差,建模方法缺乏直觀性,難以理解。

根據以上的比較可以看出,各種建模方法各有優缺點。但從總體上來看,指令碼語言、基於網的方法和基於規則的方法更具有吸引力。

8376067-38ce1121806e551b

2、工作流實施環境趨勢

工作流管理系統應該支援異構、自治和分佈環境中應用系統的整合和互操作,提供整合以前的應用系統的方法,以保護過去的投資,能夠是活地支援組織機構的改組,並支援當今有關動態企業(Dynamic Enterprise)的技術具有一定的容錯能力,在有錯誤產生時工作流管理系統能保證工作流執行的正確性和可靠性。

隨著網際網路的普及也出現了一些基於Web的工作流解決方案。通過觀察當前商品化的基於Web技術的工作流管理系統,顯示出大多數產品都僅僅是可以部分地使用Web,但是發展的趨勢是越來越多地使用面向Web,這種趨勢可以在一些研究專案中體現出來,如WebFlo、OzWeb、DartFlow等。但是由於Web及瀏覽器本身的限制,只能提供Client/Server計算模式,並且所使用的CGI介面只有有限的程式設計能力,在位置透明性、支援事務功能、安全性、效能等方面還有待於進一步改善。

另外,工作流研究是一種跨多學科的研究,涉及到CSCW、人機互動、資料庫、管理學、社會學等學科。任何缺乏多學科合作的研究都會阻礙工作流管理系統成為一個通用的系統,造成功能上的不足。

而企業在工作流的選擇上,通常需要根據自己的業務特性,比較傳統的方式是委託軟體公司或者自己組建一個技術團隊。在進行軟體委託的時候一般提供功能需求,對於實現模式不會有過多的要求,這樣做的一個弊端就是後續的維護會是一個麻煩事。比如購買了一套成品BPM,但是後續業務變動後,需要再次升級,在沒有相關技術人員的情況下,只能再次找到開發公司花錢升級,升級之中的扯皮很多,比較和諧的完成的恐怕少之又少。而另一方面,就算有了自己的開發人員,對現有軟體升級一是一個大工程,因為沒人願意修改別人的程式碼,因為涉及的問題太多。

有問題,自然有人去想辦法解決,敏捷開發框架或許是一個不錯的選擇,敏捷開發框架並非傳統的成品軟體,而是集合了各種功能元件的一個半成品,說白了就是需要二次開發,這就要求企業需要有一定的開發人員,技術要求會低一點,比如我接觸過的相關框架,基本都含有程式碼生成器、工作流、表單、許可權、報表、微信整合等,其好處是可以在框架基礎上進行簡單配置便可以迅速開發出例如OA/ERP/CRM/移動APP/電商後臺等系統,而且基本上是原始碼交付,後續的業務變更也可以自己處理,很多東西不會受制於人。

8376067-7a0bfaf2623e7292

這裡推薦一個合作方的演示demo(www.learun.cn),可以先從基本架構瞭解一下敏捷開發的基本套路,再結合企業自身情況進行挑選,避免走冤枉路。

相關文章