摘 要:本文主要對工作流技術的起源,工作流的概念,研究的技術的內容及工作流管理系統作了深入的介紹;并對工作流技術在國內外的應用現狀及不足作了深入的分析。
關鍵詞:工作流、表單
1、工作流技術應用背景
傳統的計算機管理信息系統的主要功能有三個:即信息處理、事務處理與決策支持。信息傳遞和信息處理構成了企業和行政管理部門的業務工作內容之一,也是計算機信息系統的主要功能之一,它是企業和行政管理部門進行事務處理和決策支持的基礎。
當PC機沒有作為信息處理工具而出現的時候,紙張是進行日常業務活動不可取代的載體。這種傳統的紙張為載體的信息傳遞與處理方式的效率很低,需要花費相當的人力、物力來完成信息的處理、組織、存儲以及查詢檢索,同時這種方式降低了對客戶需求的響應速度,給企業和行政管理部門的生產經營都帶來了及不利的影響。在計算機得到了廣泛普及、計算機應用水平日益提高的情況下,企業與行政管理單位的工作人員希望能夠以一種無紙化的、計算機使能的工作環境來開展日常業務工作。一些企業和行政管理部門因此建立了相應的文件、表單傳遞系統(Forms-routing applications)用來實現日常表單處理的電子化與自動化。這種簡單的文件、電子表單系統可以看作是工作流應用的雛形。
企業的經營過程是由一系列相關的任務組成的;這些任務按照企業的管理規章與業務流程串行或并行的執行,最終完成企業的經營目標。自從進入工業化時代以來,有關過程的組織管理與流程的優化工作就一直在進行,它是企業管理的主要研究內容之一。只不過在沒有引入計算機信息系統的支持以前,這些工作是由人工來完成的。隨著市場經濟的發展,市場競爭的日益激烈,企業要求其業務過程能夠進行快速重組;業務過程的不斷變化也相應要求信息系統能夠快速重組。這樣,單靠人工對企業過程進行重組和傳統的面向功能的信息化計算機系統已經不能適應現代企業的發展。因此,企業希望有一種能夠實現企業快速業務流程重組和業務過程自動化的軟件系統。在計算機網絡技術和分布式數據庫技術迅速發展、多機協同工作技術日臻成熟的基礎上于20世紀80年代中期開始提出了工作流的概念。工作流技術的提出與發展為企業更好的實現這些經營目標提供了先進的手段。
隨著經營業務的展開企業的物理位置逐漸分散、部門間的協作日益頻繁;決策過程的分散性也日益明顯,對日常業務活動詳細信息的需求也日益提高。因此,企業又要求信息系統必須具有分布性、異構性、自治性。在這種大規模的分布式應用環境下高效地運轉相關的任務,并且對執行的任務進行密切監控已成為一種發展趨勢。在這種技術背景下,工作流管理系統也有最初的創建無紙化辦公環境,轉而成為同化企業復雜信息環境、實現業務流程自動化的必要工具。這樣的一個轉變,把工作流技術帶入了一個嶄新的發展階段,使得人們從更深的層次、更廣的領域上對工作流展開了研究。
1993年工作流技術的標準化組織工作流管理聯盟(Workflow Manangement Coalition 簡稱:WfMC).的成立標志著工作流技術在計算機應用領域之中被明確的劃分出了自己的一席之地,相應的概念與術語也得到了人們的承認。在全球范圍內,對工作流的技術研究以及相關的產品開發了進入了更為繁榮的階段。
2、工作流定義
工作流是從英文單詞Workflow翻譯而來的。Work表示工作或任務;Flow則表示流動、流程或者流量。Flow反映了一種變化及變化的過程,本身意義比較抽象,但是當它與某一個具體過程相聯系時就有了具體的含義,如電流、水流、氣流。在經營管理與生產組織中Flow也有重要的意義,如表示物料傳輸過程的物料流、表示資金流動的資金流、反映信息處理和傳遞過程的信息流,同樣還有價值流、決策流、控制流等概念。依此,用活動及活動之間變化的過程表示的業務流程就是工作流。
十幾年來,不同的研究者和產品供應商從不同的角度給出了工作流的定義,但到目前為止,對于工作流仍沒有統一的定義。下面列舉了一些有代表性的定義,可以使我們對工作流的一些基本特征有一定的理解。
WfMC的定義:工作流是一類能夠完全或者部分自動執行的經營過程,根據一系列過程規則,文檔、信息或任務能夠在不同的執行者之間傳遞、執行。
Forrester Report的定義:日常的業務處理或協同工作能按預先定義好的規則和過程進行流動,并且這一流動過程能被跟蹤和監控。
Giga Group的定義:工作流是經營過程中可運轉的部分,包括任務的順序以及由誰來執行它,支持任務的信息流、評價與控制任務的跟蹤、報告機制。
IBM Almaden Research Center的定義:工作流是經營過程中的一種計算機化的表示模型,定義了完成整個過程所需用的各種參數。這些參數包括對過程中每一個單獨步驟的定義、步驟間的執行順序、條件以及數據流的建立、每一步驟由誰負責以及每個活動所需要的應用程序。
Amit Sheth 的定義:工作流是涉及到多任務協調執行的活動,這些任務分別由不同的處理實體完成。一項任務定義了需要做的某些工作,它可以以各種形式來進行定義,包括在文件或電子郵件中的文本描述、一張表格、一條信息以及一個計算機程序。用來執行任務的處理實體可以是人,也可以是計算機系統(如:郵遞員、一個應用程序、一個數據庫管理系統)。
以上這些定義,雖然表述方式略有不同,但是基本上都說明了這樣一個問題,即工作流是業務過程的一個計算機實現,而工作流管理系統則是這一實現的軟件環境。使用工作流作為業務過程的實現技術首先要求工作流系統能夠反映業務過程的如下幾個問題:即業務過程是什么(有哪些活動、任務組成,也就是結構上的定義)、怎么做(活動間的執行條件、規則以及所交互的信息,也就是控制流與信息流的定義)、有誰來做(人或計算機程序,也就是組織角色的定義)、做的怎樣(通過工作流管理系統對執行過程進行監控)。因此,可以說工作流是一種反映業務流程的計算機化的模型,它是為了在先進計算機環境支持下實現經營過程集成與經營過程自動化而建立的可由工作流管理系統執行的業務系統。
3、工作流技術研究的主要內容
工作流技術,在初期主要由工作流產品供應商推動其發展。隨著工作流產品在實際應用中不斷取得良好的效果而得到了人們日益的重視,并且到了迅速發展。相對于工作流產品的繁榮,工作流相關理論研究則顯得滯后。在過去很長一段時間里,有關工作流技術方面的研究主要有商品化的工作流產品供應商所領導。本著把工作流產品推向市場的目的,這些供應商大多把研究的注意力放在工作流管理產品的開發實施方面。目前在工作流設計方法學,工作流概念模型等方面還沒有形成一套比較成熟的理論和方法。在工作流理論與實施技術方面,研究的主要內容包括:
工作流管理系統體系結構;
工作流模型與工作流定義語言;
工作流的事務特性;
研究如何實現高級事務處理技術與工作流管理技術的結合,用定義良好的模型語義與恢復機制來提高工作流系統的正確性與可靠性,從而能夠更好的支持復雜的業務過程;
工作流實現技術:包括面向對象技術、異構分布式計算技術、圖形化用戶界面、消息通信、數據庫、WEB等在內的與工作流系統的設計實現有關的各項技術及方法;
工作流的仿真與分析方法;
基于工作流的應用集成與互操作技術;
研究異構應用系統的集成以及不同工作流系統之間的互操作問題;
工作流與經營過程的重組:研究如何通過工作流系統的實施支持快速的實現經營過程重組;
工作流技術的其他應用:研究如何將工作流技術在不同的領域進行運用,包括在CIMS中的應用。
上述主要研究課題可以歸納為三個方面(如圖1):第一方面是工作流的理論基礎,包括工作流管理系統的體系、模型與定義語言(工作流的建模方法、工作流模型的形式化表示、工作流定義語言)等的研究。這一部分是工作目前相對來說比較薄弱,還有許多問題需要進一步研究。第二方面是工作流的實現技術,包括工作流的事務特性、各種先進軟件技術的應用、工作流仿真。這方面研究工作的目標是提高工作流管理系統的性能,尤其是提高工作流管理系統可靠性及其在處理大規模復雜的且具有并行業務的流程方面的能力。第三方面是工作流技術的應用,包括工作流實施技術在不同應用領域的應用(如在企業經營過程重組、并行過程、敏捷制造)方法、應用軟件集成等。這幾方面研究的目標是發揮工作流管理系統的優勢,為解決具體應用領域內的問題提供有向實現手段。

圖1:工作流技術研究內容
4、研究工作流的意義
工作流技術的應用將給組織單位帶來巨大的效益。首先,采用工作流管理將使組織單位改變傳統的按照功能來配置人員的組織結構,變成按照要實現的主要業務流程來配置組織結構,這樣可以大大縮短主要業務過程的處理時間,提高對市場的響應能力。其次,組織結構的改變將大大減少在組織內部不必要的的物料、信息的傳遞時間。當然,整個組織結構的調整首先需要調整傳統的以部門為單位的做法,變成以項目來組織生產和人員的工作方法,如:一個人可能同時從屬于多個項目。應用工作流管理系統主要可以取得如下好處:
1)提高管理的規范化程度;
2)更好地與上下游單位形成快速響應市場的供應鏈網絡;
3)降低業務過程的整個處理時間,如在辦公自動化環境中,通過更好的規劃工作流程,并行執行相互獨立的活動,減少文檔的傳遞時間;
4)降低管理成本,如避免不必要的重復的工作,提高工作人員的工作效率;
5)改進工作質量,如自動完成某個任務所需要的相關信息。在客戶服務中,能夠快速方便的訪問所有相關數據和工作流程,從而大大提高客戶服務質量;
6)在工作人員之間更好的均衡負荷,如在工作人員缺勤的情況下,自動柔性分配替代人員;
7)通過在工作流模型中加入可預計的故障的處理策略來提高系統的柔性;
8)通過對已經完成的工作流實例的分析,找出存在的不足,進而不斷改進工作流程;
9)使工作內容更加豐富,并且提高工作人員的業務能力,減少工作人員進行單調乏味并且十分耗時的文檔查找工作。
采用工作流管理系統可以在最大程度上集成組織的現有信息資源,實現資源的充分利用。由于工作流管理系統具有較好的柔性和開發性,因此,可以保證信息系統能夠順利的擴展以滿足不斷變化的市場環境。另外,工作流管理系統在工作流模型的基礎上進行業務過程進行,這就意味著信息系統已經從過去沒有一個具體的可量化指標的管理信息系統,發展到了一個建立在工作流模型上(并且是可以利用BPR或者其他仿真工具進行優化后的模型),按照預先定義好的規則進行執行,并且對于執行的結果隨時進行監控和評價的規范化階段。這種由過程建模—〉模型分析—〉過程優化—〉執行結果—〉統計分析—〉改進業務過程—〉優化運作的實施方法為成功地實施信息系統奠定了堅實的基礎。
5、工作流管理系統
工作流技術是當今一項飛速發展的技術,它最基本的特性就是它能夠結合人工和機器的行為,特別是能夠與應用程序和工具進行交互,從而完成業務過程的自動化處理。
工作流是業務的自動化處理過程,在這個過程中,根據預定義的規則將文檔、信息在過程參與者中傳遞,最終完成業務的處理。工作流管理系統(WFMS)是通過管理一序列工作行為以及與活動步驟、相關人員、資源設備來提供業務處理程序上的自動控制,它是通過計算機軟件來定義、管理和執行工作流,計算機的執行順序是由工作流邏輯的計算機描述來驅動的。
工作流管理系統主要具備以下三個功能特征,如圖2:
工作流定義功能,主要是對業務處理過程的計算機定義,提供了一種或多種分析、建模、系統定義技術,將一個現實世界的業務處理過程轉換成計算機可處理的定義;最終的定義叫作過程模型、過程模版或過程定義,可以表現為文本、圖形或自然語言符號。
運行控制功能,對過程的定義進行解釋,創建并控制過程的運行實例,調度過程的各種行為步驟,調用適當的人工和IT應用程序資源;工作流管理系統的核心部件就是工作流管理控制軟件(工作流引擎)。
運行交互接口,提供與人員或IT應用程序工具進行交互接口來處理各種活動步驟,交互接口對于活動間的控制傳遞是必須的,如確定過程的狀態,調用應用程序工具,傳遞應用程序數據等。

圖2WFMS的三個特征
6、工作流管理系統的分類
根據所實現的業務過程,工作流管理系統可分為四類:
1) 管理型工作流(administrative workflow):在這類工作流中活動可以預定義并且有一套簡單的任務協調規則,例如,大學里的課程選修,完成論文后的學位申請等。
2) 設定型工作流(ad hoc workflow):與管理型工作流相似,但一般用來處理異常或發生機會比較小的情況,有時甚至是只出現一次的情況,這與參與的用戶有關。
3) 協作型工作流(collaborative workflow):參與者和協作的次數較多。在一個步驟上可能反復發生幾次直到得到某種結果,甚至可能返回到前一階段。
4) 生產型工作流(production workflow):實現重要的業務過程的工作流,特別是與業務組織的功能直接相關的工作流。與管理型工作流相比,生產型工作流一般應用在大規模、復雜的和異構的環境下,整個過程會涉及許多人員和不同的組織。
根據底層實現技術, 可將工作流產品分為三類:
1)以通訊為中心:以電子郵件為底層的通訊機制。這種類型的工作流管理系統適合于協作型工作流和不確定型工作流,而不適于生產型工作流。
2)以文檔為中心:基于文檔路由,它同外界應用的交互能力有限。許多基于表的管理型工作流可以用以文檔為中心的工作流實現。
3)以過程為中心:這種工作流系統對應生產型工作流。它們一般建立在數據庫之上,有自己專用的通信機制并且提供了同外部進行交互的接口。
根據不同工作流系統所采用的任務項傳遞機制的不同,市場上的工作流產品又可以劃分為四類:
1)基于文件的工作流系統:以共享文件的方式來完成任務項傳遞。這種類型產品開發得最早、發展最成熟、其產品品種較多。代表產品有FileNet的Visual WorkFlo、IBM的FlowMark、InConcert的InConcert。
2)基于消息的工作流系統:通過用戶的電子郵件系統來傳遞文檔信息。這種類型的產品一般都提供與一種或多種電子郵件系統的集成接口。代表產品有Novell與FileNet合作開發的Ensemble、JetForm公司的InTempo、Keyfile公司的Keyflow。
3)基于Web的工作流系統:通過WWW來實現任務的協作。這一類產品起步較晚(在95年以后),但是發展迅速,其市場前景十分看好。許多供應商紛紛改進原有產品或開發新產品以增加對Web的支持。代表產品有Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus。
4)群件與套件系統:雖然這一類產品與上面介紹的三種產品在任務傳遞方式上有很大程度的重疊,但是在這里卻有必要把它們單獨劃分成一類,因為這一類產品都需要依賴于自己系統的應用基礎結構,包括消息傳遞、目錄服務、安全管理、數據庫與文檔管理服務等,它們本身就構成了一個完整的應用開發環境。代表產品有IBM/Lotus公司的Lotus Notes、Microsoft公司的Office與Exchange、Novell公司的GroupWise。
7、工作流管理系統的實施
工作流管理系統不同于ERP和普通的企業管理信息系統,ERP與普通的企業管理信息系統是事務處理系統,其主要目的是滿足企業業務操作功能,提高企業事務處理的效率和水平。從企業整體的業務流程和企業經營目標上看,事務處理系統一般局限于解決某個或者某些領域的問題;事務處理系統的另外一個局限性是它一般局限于解決組織內部的具體操作問題,面向組織內部功能,而不是面向市場和面向客戶的系統。工作流管理系統的著眼點是面向市場、面向客戶,其目標是在整個企業的業務層提高企業的業務處理水平、強化企業的市場意識、提高對市場的應變能力。
由于工作流管理系統與普通事務處理系統存在顯著的差別,工作流管理系統在實施方法上也不同于普通的事務處理系統。要實施工作流管理系統首先要在戰略層次上對經營目標進行分析,確定戰略目標和組織要求。工作流管理系統實施的層次結構,如圖3。

圖3 WFMS實施的層次結構
在完成了戰略目標分析和工作流實施戰略后,工作流管理系統才能夠進入真正的實施階段。工作流管理系統在實際系統中的應用一般分為3個階段,如圖4,即模型建立階段、模型實例化階段和模型行階段。模型建立階段通過利用工作流建模工具完成經營過程模型的建立,將實際經營過程轉化為計算機可處理的工作流模型。模型的實例化階段完成為每個過程設定運行所需的參數,并分配每個活動執行所需要的資源(包括資源、人員、應用)。模型執行階段完成經營過程的執行,在這個過程中重要的任務是完成人機交互和應用的執行,并對過程與活動的執行情況進行監控與跟蹤。

圖4 WFMS 實施的三個步驟
8、國內外應用現狀與不足
8.1 應用現狀
目前工作流技術的研究正日益受到人們的重視,許多大學和研究機構都開展了很多研究項目,取得了重多的研究成果,對工作流技術的發展做出了貢獻。
由于工作流應用環境大多是在復雜的分布異構環境中,如企業內部網或因特網,因此應用最新的分布對象處理技術和Web技術,實現工作流管理成為當前研究的重點。有影響的工作流原型系統有:
1)美國佐治亞大學研制的Meteor系統:該系統是一個支持多范型的工作流管理系統,主要用于處理醫療保健應用。多范型是指該系統能夠支持分布異構環境下的企業內和企業間的各種工作流。這些工作流可以是數據庫管理系統和分布式事務處理系統中的事務,也可以是EDI等特殊應用。Meteor系統可以在Web或CORBA環境下運行。
2) 美國普度大學開發的CORBAflow系統:該系統提出了基于CORBA的體系結構,支持跨平臺的異構分布系統集成,支持彈性ACID性質;擴展了IDL語言以定義事務性工作流中的補償事務。
3) 土耳其中東大學開發的METUFlow系統:該系統提出了一種基于CORBA環境的工作流服務,包括基于ACTA擴展事務模型的工作流模型、塊結構化定義語言、工作流調度管理和并發控制機制等。
工作流的許多概念來自于辦公自動化、文檔管理、計算機支持協同工作(CSCW)等領域。至今約有300個稱為工作流工具的商品化軟件,但只有數十個是真正的WFMS軟件。一些著名的WFMS產品有:
1)IBM公司的FlowMark系統[9]該系統由對象數據庫管理系統ObjectStore支持。主要組件包括服務器、建立客戶器、運行客戶器和程序執行客戶器。服務器負責與數據庫交互及協調工作流執行;建立客戶器提供用于設計工作流的圖形接口;運行客戶器提供工作表方式的用戶接口;程序執行客戶器提供API調用方式的應用接口。
2)Action公司的ActionWorkflow系統該系統由微軟的SQL服務器或Lotus Notes支持,包含三個基本組件:①管理系統內核用于集成和管理工作流事務;②分析器提供設計工作流的專門工具;③應用建立器用于將工作流定義轉化成可執行的過程。此外,還提供輔助工具,如報表器用于查詢工作流的進展狀態。
3)Sigma圖象系統公司的OmniDesk系統它使用提供ODBC接口的數據庫。其中,路徑管理器用于工作流管理和負載平衡;路徑建立器用于定義路徑邏輯;表格建立器用于創建工作流接口。雖然OmniDesk系統主要是為圖象文檔管理設計的,但是也可以管理其他類型的工作流。
4)Wang公司的OPEN/workflow系統該系統建立在自含的數據庫引擎之上。系統分為數據庫服務、圖形過程建立器、集成工具箱、報表工具。數據庫服務提供基本的完整性、安全性、并發控制、恢復和管理功能;圖形過程建立器用于定義過程;集成工具箱提供應用之間交互需要的API調用和通信服務;報表工具如查詢建立器和報表建立器用于訪問有關過程執行的信息。
8.2 工作流應用技術的不足
實際上,大多數產品的開發由于沒有清楚地理解用戶的需求,而不能滿足用戶的迫切需要。許多工作流系統主要是解決共享和協作(某些問題仍未很好解決,如異構平臺環境、多媒體數據),而像性能、可伸縮性、可靠性對于復雜應用系統來說至關重要的問題,現有工作流軟件并沒有考慮。主要原因是,這些系統的建立不是基于在線事務處理(OLTP)技術和數據庫技術,只是使用數據庫做底層存儲,因而在這些領域缺乏技術成熟性和系統健壯性。
另外,由于已有的絕大多數WFMS產品和原型系統的設計是面向普通的辦公室應用,因此存在以下不足:
1)工作流模型只能描述如辦公自動化中電子郵件或文檔等簡單的工作流,而不能描述工程設計等復雜過程處理。
2)經營業務流程往往是復雜的異構環境,現有產品不能提供很好的互操作性。例如,在異構環境中,IBM的FlowMark不提供API接口以支持一個工作流的輸出,作為下一個工作流的輸入。
3)一個工作流可能涉及到多個單位和車間,或多個工廠和企業,例如,在虛擬制造應用中,可能包含成百上千個用戶,覆蓋廣域網絡中的數十個場地,上百臺計算機系統。大多數現有工作流軟件只是設計為一種協作工具,適用于小群體之間業務的工作流,在體系結構上存在缺陷,缺乏可伸縮性。
4)現代組織應用要求系統具備非常高的可用性和健壯性。現有工作流軟件只適合于小團體和輕負載,缺乏有效的后備機制,不具備強的故障恢復能力。
為了進一步研究開發支持應用集成的CIMS工作流管理技術,我們認為,需要解決以下關鍵技術:
1)面向CIMS的工作流建模技術包括工作流模型和定義語言。如何采用彈性事務模型、分層事務模型和工程數據模型相結合的方法,設計出一種適合于CIMS工程應用的工作流模型。
2)基于CIMS信息集成平臺的工作流管理系統體系結構CORBA軟件總線提供了良好的平臺透明性和分布透明性,以及分布對象操作能力,如何充分利用CORBA軟件總線和信息集成平臺,實現一個高效的工作流管理系統。
3)面向分布對象的工作流管理和執行技術CORBA軟件總線系統提供了對象引用、啟動和聯編機制。工作流管理與執行機制需在此基礎上完成作為對象任務的創建、調度、執行、提交或取消,保證工作流的正確性和可靠性。還需要考慮在CORBA軟件總線上增加新的公共服務,如持久性對象倉儲服務、故障恢復服務等。
4)面向CIMS目標產品的集成技術工作流管理系統是一種中間件技術,適合于任何計算機分布處理系統,在CIMS應用集成涉及的有關系統中,如PDM、MRPII等,都需要這方面的集成技術。
參考文獻
[1] 林惠萍、范玉順、吳澄 ,“支持企業經營過程重組的工作流仿真技術研究”,http://www.simflow.net
[2] 范玉順 ,《工作流管理技術基礎》 ,清華大學出版社 ,2001.4
[3] 陶冶、范玉順、羅海濱 ,“分布式工作流系統的可靠性研究”,http://www.simflow.net
[4] 羅海濱 、范玉順、吳澄 ,“工作流技術綜述” ,http://www.simflow.net
[5] 范玉順、吳澄,“基于工作流的CIMS應用集成支持系統研究” ,http://www.simflow.net
[6] 劉佚名、范玉順 ,“基于工作流的企業過程的建模和仿真技術研究” ,http://www.simflow.net
[7] 范玉順、吳澄,“基于協調理論的工作流建模方法” ,http://www.simflow.net
[8] 陶冶、范玉順、羅海濱 ,“提高分布式工作流管理系統的可擴展性”,http://www.simflow.net
[9] 鮑震寧、范玉順 ,“企業組織模型結構和建模方法研究” ,http://www.simflow.net
[10] 羅海濱 、范玉順、吳澄 ,“一種面向企業用戶的工作流模型” ,http://www.simflow.net