工作流管理
1.工作流管理概述
工作流管理是一個被業(yè)界廣泛應用并迅速發(fā)展的技術(shù),它的主要特點是使處理過程自動化,使人以及各種應用工具相互之間協(xié)調(diào)工作,以完成某項工作。其目的是為了讓臺適的人或軟件在恰當?shù)臅r間執(zhí)行正確的工作。
工作流所關(guān)注的問題是處理過程的自動化,它根據(jù)一系列定義的規(guī)則,把文檔、信息或任務(wù)在參與者之間傳遞,以達到某種目的。工作流管理聯(lián)盟(Workflow Management Coalition,簡稱WfMC)分別給出了工作流和工作流管理系統(tǒng)的定義 :(1)工作流是一個業(yè)務(wù)過程部分或全部地用計算機自動執(zhí)行;(2)工作流管理系統(tǒng)是一個完全定義、管理和執(zhí)行工作流的系統(tǒng),它通過計算機表示的工作流邏輯來驅(qū)動軟件有序地運行。
工作流技術(shù)提供了把業(yè)務(wù)流程邏輯從具體IT工具的操作中分離出來的方法,并且還可以在以后把改變的流程邏輯規(guī)則添加進去。工作流管理可以在辦公環(huán)境(如保險、銀行、法律、行政管理等)以及工業(yè)和制造等領(lǐng)域得到廣泛應用。
2.工作流管理產(chǎn)生的歷史必然性[1]
工作流技術(shù)的歷史可以追溯到70年代末的辦公自動化和任務(wù)批處理0 。第一次使用工作流術(shù)語可追溯到8O年代初,但是那個時候還沒有真正的工作流管理系統(tǒng)出現(xiàn)。
在以前,網(wǎng)絡(luò)互聯(lián)的應用不十分普及,并且功能相對較弱,各種軟件系統(tǒng)被設(shè)計成用于處理單個任務(wù) 隨著計算機網(wǎng)絡(luò)技術(shù)的發(fā)展,計算機的處理模式從集中式處理向分布協(xié)作式處理發(fā)展 在這種新的處理模式中,人們可以更加精確地對高層的系統(tǒng)行為進行建模,開發(fā)的系統(tǒng)能夠更快地對應用需求的變化作出反應。因此 應用系統(tǒng)不僅僅要處理單個任務(wù),還要能夠管理組織機構(gòu)內(nèi)部的工作流,這種應用需求推動了工作流管理的迅速發(fā)展。
為了更加深刻地認識工作流管理對未來的影響,有J必要回顧一下過去40年應用軟件系統(tǒng)的演化歷程,從歷史的觀點來認識工作流。圖1顯示了工作流管理系統(tǒng)成為應用軟件系統(tǒng)的一個組成部分的歷史發(fā)展過程。
在60年代,應用系統(tǒng)是一個個獨立的程序,每個應用程序都有著自己特有的用戶界面和專門的數(shù)據(jù)存取系統(tǒng),各個應用程序之間互不相干。在7o年代,把數(shù)據(jù)管理部分分離出來,于是產(chǎn)生了數(shù)據(jù)庫管理系統(tǒng)(DBMS),應用系統(tǒng)大大地簡化了數(shù)據(jù)管理工作。到了8O年代,同樣地又把用戶界面部分分離出來,于是產(chǎn)生了用戶界面管理系統(tǒng)(uIMs) 通過使用UIMS,應用程序不再過多地管理和用戶的交互功能,并且使應用程序有相似的用戶界面,方便了用戶使用。直到90年代,工作流管理系統(tǒng)作為一個通用的應用功能開始出現(xiàn),用于支持業(yè)務(wù)處理,使應用開發(fā)人員可以把業(yè)務(wù)流程從應用中提取出來。
進入90年代,越來越多的組織機構(gòu)開始認識到需要有支持設(shè)計和執(zhí)行業(yè)務(wù)流程的高級工具。業(yè)務(wù)流程問題成為目前信息系統(tǒng)開發(fā)中的突出問題,要求信息系統(tǒng)包含工作流管理系統(tǒng)以支持各種業(yè)務(wù)流程,其理由主要有4個:
(1)新的管理哲學激發(fā)了組織機構(gòu)對業(yè)務(wù)流程的興趣,如業(yè)務(wù)流程再造(BPR)和持續(xù)過程改進(CPI);
(2)組織機構(gòu)內(nèi)部的業(yè)務(wù)過程數(shù)量比以前大大增加,如今的組織機構(gòu)比以前提供更多的產(chǎn)品和服務(wù),并且產(chǎn)品和服務(wù)的生命周期也比以前大大縮短了,從而業(yè)務(wù)過程的數(shù)量也急劇增加;
(3)為了適應激烈的競爭,組織機構(gòu)需要經(jīng)常改變業(yè)務(wù)流程;
(4)業(yè)務(wù)歷程變得更加復雜。
從工作流管理的發(fā)展歷程可以看出,工作流管理的概念早在8O年代初就已提出,但是由于當時計算機技術(shù)發(fā)展的限制,一直未能得到充分發(fā)展。直到最近幾年,隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展.以及伴隨著市場競爭的加劇,企業(yè)對提高生產(chǎn)質(zhì)量、縮短生產(chǎn)周期等的要求強烈,使得工作流管理成為企業(yè)界和研究領(lǐng)域的熱門話題。種種跡象表明工作流管理將會對下一代的信息系統(tǒng)產(chǎn)生重大影響 。
3.工作流管理中存在的問題[1]
工作流管理作為一個新興的研究領(lǐng)域,自然還存在很多問題有待于進一步研究解決,通過分析目前的工作流系統(tǒng),我們總結(jié)出兩個主要的不足:(1)工作流管理的定義不明確以及缺乏統(tǒng)一的概念模型;(2)工作流管理系統(tǒng)的系統(tǒng)結(jié)構(gòu)和能力上的不足。
1、工作流管理的定義不明確以及缺乏統(tǒng)一的概念模型
目前工作流管理發(fā)展的狀況非常類似于7O年代初關(guān)系數(shù)據(jù)模型和E—R模型出現(xiàn)以前數(shù)據(jù)庫管理系統(tǒng)的發(fā)展狀況,大家各持己見,沒有一個統(tǒng)一的標準,所開發(fā)的產(chǎn)品大部分相互之間不兼容,使得很多用戶不愿意使用商品化的工作流管理產(chǎn)品。
雖然WfMC在工作流概念和接口標準化方面作出了很多努力,但是這些標準僅僅是停留在技術(shù)層次上,而且重點放在語法上而不是語義上。在概念層次上至今仍沒有統(tǒng)一的意見“ 。例如,在WfMC參考模型接口1的規(guī)范中,就沒有關(guān)于狀態(tài)及基本構(gòu)造塊(如AND/OR—split/join)的形式化描述。
總的來說,工作流的描述應當基于具有豐富語義表達功能的建模方法。這個方法應當具有清晰性、一致性、易表達性和可擴充性,應當能足以表達步驟、循環(huán)、分枝、條件、路徑選擇、任務(wù)分配、時間、調(diào)度和約束條件。其語義應當能夠定義控制流、數(shù)據(jù)流、資源流.并且能夠定義策略來處理這些流的中斷。
2、工作流管理系統(tǒng)的系統(tǒng)結(jié)構(gòu)和能力上的不足
商品化的工作流產(chǎn)品提供的功能決定了當前工作流管理的技術(shù)水平,通過分析這些工作流系統(tǒng)可以發(fā)現(xiàn)其中還有很多不足,這些不足之處不僅是我們研究工作流管理技術(shù)的重點和難點,也是目前許多企業(yè)不敢把工作流產(chǎn)品用于關(guān)鍵業(yè)務(wù)流程的主要原因。這些不足主要是:
(1)目前的工作流產(chǎn)品不適用于企業(yè)級的工作流管理。目前的商品化工作流系統(tǒng)起源于辦公自動化系統(tǒng) ,因此工作流系統(tǒng)一開始只是作為一個協(xié)同工具,是為小群體而設(shè)計的,要解決的主要問題是關(guān)于共享和協(xié)作。而當人們發(fā)現(xiàn)了工作流的應用潛力,想將其運用到大型環(huán)境中時,其本身的一些弊病就暴露出來了,如單數(shù)據(jù)庫、通信支持的不足 不支持異構(gòu)和分布的環(huán)境等,至于可測量性、可靠性等,則基本上未考慮。因此,目前的工作流產(chǎn)品不適用于企業(yè)級的工作流管理。
(2)目前的工作流系統(tǒng)缺乏健壯性和可用性,沒有備份機制和有效的恢復手段,容錯問題基本上沒有考慮,系統(tǒng)對于出錯的恢復彈性是極小的。一個大型的企業(yè)級工作流管理系統(tǒng)可能包括有幾千個用戶和幾十萬個并行運行的過程,并且分布在一個大型網(wǎng)絡(luò)的幾千個位置,其持續(xù)可用性就非常關(guān)鍵。
(3)目前工作流普遍使用的是c/s系統(tǒng),其結(jié)構(gòu)有一定的脆弱性,服務(wù)器的錯誤將導致整個工作流系統(tǒng)的失敗。另外,集中式服務(wù)容易形成瓶頸,并因此很難對系統(tǒng)性能進行測量。
(4)不同的工作流產(chǎn)品之間缺乏互操作陛。
(5)大多數(shù)工作流產(chǎn)品的可視化建模方法都缺乏形式化語義 。
4.工作流管理的發(fā)展趨勢
工作流管理的發(fā)展就是要解決現(xiàn)有的問題.更好地滿足用戶需求,由于工作流管理系統(tǒng)主要由工作流建模和工作流實施環(huán)境組成,因此工作流管理系統(tǒng)的發(fā)展趨勢也可以從這兩個方面分別考察。
1、工作流建模的發(fā)展趨勢
目前工作流建模技術(shù)還遠沒有成熟,還處于百家爭鳴的時代。我們對當前流程建模領(lǐng)域出現(xiàn)過的主流建模方法進行了歸納分析,以期確定出我們要研究的合理方向。通過歸納分析,可以把它們分成5大類:腳本語言、基于網(wǎng)的方法、基于規(guī)則的方法、基于邏輯的方法和代數(shù)方法。
(1)腳本語言(Script Language)
腳本語言中有描述控制流和數(shù)據(jù)流的語句結(jié)構(gòu),它提供了一種簡明的描述方法,對于有經(jīng)驗的設(shè)計者來說更易于使用。它的主要缺點是缺乏流程本身的形式化語義,語言的語義主要是供語言解釋器使用。
(2)基于網(wǎng)的方法
適合于流程的可視化建模,一般都使用狀態(tài)變遷網(wǎng),流程中的活動用結(jié)點表示,控制流用邊表示。使用狀態(tài)變遷網(wǎng)的主要問題在于是否有形式化的語義,大多數(shù)工作流產(chǎn)品的可視化建模方法都缺乏形式化語義。在具有形式化語義的狀態(tài)變遷網(wǎng)中,使用得最多的就是Petr網(wǎng)和狀態(tài)圖(State Charts)。具有形式化語義的基于網(wǎng)的方法可以轉(zhuǎn)換成其它建模方法,如基于規(guī)則的、時序邏輯的和腳本語言的方法等。
(3)基于規(guī)則的方法
目前研究得最多的基于規(guī)則的方法是ECA(Event/Condltion/Acton,簡稱EcA)規(guī)則,ECA規(guī)則是早用于AO0DBS,而后又被用于工作流管理領(lǐng)域。ECA規(guī)則具有形式化基礎(chǔ),也可以轉(zhuǎn)換成其它的建模方法。如Petri網(wǎng)、時序邏輯等,但是ECA規(guī)則的可視化工作量比較大。另外,如果規(guī)則集比較大時就難以管理。
(4)基于邏輯的方法
基于邏輯的方法適合于描述系統(tǒng)的動態(tài)性,其中時序邏輯是一種常用的方法,它具有很好的形式化基礎(chǔ),驗證工作流模型的屬性比較方便。但是時序邏輯的主要缺點是很難實現(xiàn)可視化.不容易轉(zhuǎn)換成其它的描述方法,描述業(yè)務(wù)流程的系統(tǒng)行為太復雜。
(5)基于代數(shù)的方法
過程代數(shù)(Proees Algebra)主要還是局限在理論探討上,在工作流管理領(lǐng)域用得很少,只有一種基于過程代數(shù)的描述語言LOTOS被用于工作流管理領(lǐng)域。代數(shù)方法的主要缺點類似于基于邏輯的方法,并且在自動執(zhí)行和形式化驗證方面表現(xiàn)得比基于邏輯的方法更差,建模方法缺乏直觀性,難以理解。
根據(jù)以上的比較可以看出,各種建模方法各有優(yōu)缺點。但從總體上來看,腳本語言、基于網(wǎng)的方法和基于規(guī)則的方法更具有吸引力。
2、工作流實施環(huán)境的發(fā)展趨勢
工作流管理系統(tǒng)應該支持異構(gòu)、自治和分布環(huán)境中應用系統(tǒng)的集成和互操作,提供集成以前的應用系統(tǒng)的方法,以保護過去的投資,能夠是活地支持組織機構(gòu)的改組,并支持當今有關(guān)動態(tài)企業(yè)(Dynamic Enterprise)的技術(shù)具有一定的容錯能力,在有錯誤產(chǎn)生時工作流管理系統(tǒng)能保證工作流執(zhí)行的正確性和可靠性。
隨著互聯(lián)網(wǎng)的普及也出現(xiàn)了一些基于Web的工作流解決方案。通過觀察當前商品化的基于Web技術(shù)的工作流管理系統(tǒng),顯示出大多數(shù)產(chǎn)品都僅僅是可以部分地使用Web,但是發(fā)展的趨勢是越來越多地使用面向Web,這種趨勢可以在目前的一些研究項目中體現(xiàn)出來,如WebFlo、OzWeb、DartFlow等。但是由于Web及瀏覽器本身的限制,只能提供Client/Server計算模式,并且所使用的CGI接口只有有限的編程能力,在位置透明性、支持事務(wù)功能、安全性、性能等方面還有待于進一步改善。
另外,工作流研究是一種跨多學科的研究,涉及到CSCW、人機交互、數(shù)據(jù)庫、管理學、社會學等學科。任何缺乏多學科合作的研究都會阻礙工作流管理系統(tǒng)成為一個通用的系統(tǒng),造成功能上的不足。