《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 工作流技術(shù)及其在工程設(shè)計管理系統(tǒng)中的應(yīng)用

工作流技術(shù)及其在工程設(shè)計管理系統(tǒng)中的應(yīng)用

2009-09-27
作者:陳金水 薛海燕

  摘? 要: 論述了工作流的相關(guān)概念、參考模型和分類,介紹了一個工作流技術(shù)支持的工程設(shè)計管理系統(tǒng)的實現(xiàn),分析了工作流技術(shù)的優(yōu)勢。

  關(guān)鍵詞: 工作流? 管理系統(tǒng)? 工程設(shè)計管理

?

  隨著計算機的廣泛應(yīng)用,越來越多的工作依靠計算機而得以完成。與此同時,各種類型的信息系統(tǒng)也被廣泛地使用以支持這些工作。由于這些系統(tǒng)基本上獨立運行,相互之間缺乏必要的交互、協(xié)作與感知,所以,系統(tǒng)在協(xié)調(diào)多個人的活動及協(xié)同完成某個共同的任務(wù)方面存在嚴重不足。這也就是工作流管理系統(tǒng)(Workflow Management System,WfMS)自20世紀90年代以來引起來自研究機構(gòu)與產(chǎn)業(yè)界廣泛關(guān)注的重要原因。無論是生產(chǎn)系統(tǒng)的工作流,還是辦公自動化和電子商務(wù)的工作流系統(tǒng)都為軟件界所關(guān)注。工作流的概念是從生產(chǎn)和商務(wù)的過程(Process)概念演化而來。把工作活動分解為明確定義的任務(wù)(Tasks)、角色(Roles)、規(guī)則(Rules)和子過程(Procedures),通過它們對整個過程進行控制和調(diào)節(jié)。起初,整個過程都是由人來完成的。隨著信息技術(shù)的發(fā)展,部分過程或全部過程已開始由計算機自動完成。

1? 工作流介紹

1.1 相關(guān)概念

  工作流管理聯(lián)盟(Workflow Management Coliation,WfMC)對工作流所作的定義是:工作流是指整個或局部商務(wù)過程的自動執(zhí)行過程。在這個過程中,各種文本、信息和任務(wù)都根據(jù)設(shè)定的過程規(guī)則從一個人(地方)傳送到另一個人(地方)。也就是說,工作流所要解決的主要問題是使多個參與者之間按照某種預(yù)定義的規(guī)則傳遞文檔、信息或任務(wù)的過程自動進行,從而實現(xiàn)某個預(yù)期的業(yè)務(wù)目標,或者是促使此目標的實現(xiàn)。WfMS的作用就是將現(xiàn)實世界中的業(yè)務(wù)過程轉(zhuǎn)化成某種計算機化的形式表示,并在此形式表示的驅(qū)動下完成工作流的執(zhí)行和管理。工作流中的概念有:工作流模型、活動、過程實例等。

  (1)工作流模型(也稱作過程定義):是業(yè)務(wù)過程的計算機化的形式表示。它定義的是過程運行中涉及到的各種參數(shù),如業(yè)務(wù)過程的開始和終止條件、各個工作環(huán)節(jié)及相互之間的控制流動與數(shù)據(jù)流動關(guān)系等。

  (2)活動:是指工作流中的一個邏輯步驟或稱環(huán)節(jié)。它既可以由計算機自動執(zhí)行,也可以由人完成。它所含的信息包括:開始和結(jié)束條件;可參與到此環(huán)節(jié)中的用戶;完成此活動所需的應(yīng)用程序或數(shù)據(jù)以及關(guān)于此活動應(yīng)如何完成的一些限制條件(如時間上的限制等)。

  (3)過程實例:是指某個工作流過程的一次執(zhí)行。在實例的執(zhí)行過程中,WfMS將解釋相應(yīng)的過程定義,生成有關(guān)的活動實例并根據(jù)過程定義中的控制規(guī)則協(xié)調(diào)這些活動實例之間的順序關(guān)系,同時根據(jù)數(shù)據(jù)流動關(guān)系的定義完成活動實例之間的數(shù)據(jù)傳送。一般情況下每一個活動實例都將表現(xiàn)為一個工作項(WorkItem),由某個或某組用戶負責完成。

1.2 工作流參考模型

  一個龐大的商業(yè)過程往往要有許多實體的參與,且各個實體負責不同的工作。雖然各實體為一個自主的實體,其使用的工作流系統(tǒng)可能不一樣,但是對于一個完整的商業(yè)過程來說,它們并不是孤立的。因為實體之間需要進行信息交換,需要相互協(xié)作才能完成整個商業(yè)過程。為了實現(xiàn)不同工作流系統(tǒng)之間的信息交換和協(xié)作,工作流管理聯(lián)盟定義了工作流參考模型,圖1描述了該模型的基本部件和基本接口。

?

?

  圖1中的工作流系統(tǒng)有五個基本部件:

  (1)工作流定義工具。即提供一種描述工作流過程的軟件,它把實際的過程步驟用圖示化的方法或簡單的文本描述出來,并產(chǎn)生或轉(zhuǎn)化成規(guī)范的、可被計算機處理的形式化描述(過程定義)。

  (2)工作流執(zhí)行服務(wù)(Workflow Enactment Service)。由一個或多個工作流引擎(Workflow Engine)組成,是工作流的核心,負責創(chuàng)建、管理和執(zhí)行工作流實例。各種工作流應(yīng)用通過工作流應(yīng)用編程接口(Workflow API,WAPI)訪問它。邏輯上它一共提供5個接口(圖中的雙向箭頭表示接口),分別是:與過程定義模塊的接口、與工作流客戶端應(yīng)用模塊的接口、與管理和監(jiān)視工作流工具的接口、與供調(diào)用的各種功能服務(wù)的接口以及與其他工作流系統(tǒng)的接口。工作流引擎是工作流實例提供運行時的執(zhí)行環(huán)境。它解釋過程定義,控制工作流實例的運行,根據(jù)工作流的定義和狀態(tài)導(dǎo)航(Navigate)工作流,分派各種角色,維護工作流的控制數(shù)據(jù)及調(diào)用各種應(yīng)用等。

  (3)供調(diào)用的應(yīng)用(Invoked Application)。它是一些功能應(yīng)用的集合,每一個應(yīng)用可能負責完成工作流的某個子過程的執(zhí)行或完成某項(些)任務(wù)。工作流引擎根據(jù)工作流的運行情況調(diào)用它們來完成工作流的執(zhí)行。

  (4)工作流的客戶應(yīng)用(Workflow Client Application)。它可以通過工作列表訪問(Worklist Access)接口訪問工作列表(Worklist)庫,而工作流引擎可以把工作(任務(wù))分配到工作列表庫而由用戶去訪問此列表庫以接受分配給自己的任務(wù)。工作流客戶應(yīng)用部件在實現(xiàn)時是可選的,但在需要人參與完成工作流中某些非完全自動過程時應(yīng)提供此應(yīng)用。

  (5)工作流的管理和監(jiān)視。負責管理監(jiān)視工作流,包括用戶管理、角色管理、運行記錄、錯誤恢復(fù)、停止和刪除工作流等。

  工作流執(zhí)行服務(wù)與其他基本部件的接口統(tǒng)稱為Workflow API(WAPI),為標準接口。這些標準接口對實現(xiàn)由不同廠家開發(fā)的工作流管理系統(tǒng)的互聯(lián)與互操作性問題具有重要的意義。

1.3 工作流系統(tǒng)的分類與應(yīng)用現(xiàn)狀

  根據(jù)工作流過程本身的特點、系統(tǒng)建模的方式、所使用的底層支撐技術(shù)以及工作流過程的執(zhí)行方式等的不同,文獻[1]將現(xiàn)有的幾百種具有工作流管理功能的商品化軟件產(chǎn)品及原型系統(tǒng)進行了相應(yīng)的分類,具體分類如下:

  (1)結(jié)構(gòu)化的與即席的:結(jié)構(gòu)化工作流指的是在實際工作過程中會反復(fù)重復(fù)、嚴格按照某個固定的步驟進行的業(yè)務(wù)過程。辦公程序(如公文處理、審批等)都屬此類。即席工作流則是針對那些重復(fù)性不是很強或沒有重復(fù)性的工作流程的,關(guān)于這類流程執(zhí)行所需的有關(guān)參數(shù)(如參加者等)事先無法確定,必須推遲到過程實例運行時才能確定。同時在執(zhí)行過程中還可能會發(fā)生一些意外的情況。

  (2)面向文檔的與面向過程的:前者的側(cè)重點是將電子形式的文檔、圖像等在有關(guān)人員之間進行分發(fā),以便得到不同人員的處理與審閱?,F(xiàn)有的文檔管理與映象管理系統(tǒng)均屬此類。在面向過程的WfMS中,工作流被描述成一系列執(zhí)行環(huán)節(jié),與各環(huán)節(jié)相應(yīng)都存在待處理的數(shù)據(jù)對象。各環(huán)節(jié)的數(shù)據(jù)對象可以按不同的方式分發(fā)到其他環(huán)節(jié)中去,如可以將數(shù)據(jù)對象的值作為控制條件或者依此數(shù)據(jù)對象組裝成其他的數(shù)據(jù)對象等。

  (3)基于郵件的和基于數(shù)據(jù)庫的:前者使用電子郵件來完成過程實例執(zhí)行過程中消息的傳遞、數(shù)據(jù)的分發(fā)與事件的通知。在基于數(shù)據(jù)庫的WfMS中,所有的數(shù)據(jù)都保存在某種類型的BMS中,過程的執(zhí)行實際上就是對這些數(shù)據(jù)的查詢與處理。

  (4)任務(wù)推動的與目標拉動的:前者指的是從過程開始處逐個環(huán)節(jié)地執(zhí)行,當某個活動實例被處理完后,后續(xù)的有關(guān)活動將被創(chuàng)建并被激活,由此直至整個工作流程的完成。這是目前大多數(shù)面向過程的WfMS所使用的執(zhí)行方式。而在目標拉動的WfMS中,一個業(yè)務(wù)流程被看成是一個目標。過程實例執(zhí)行時,該目標將被分解為多個相互之間按一定約束條件關(guān)聯(lián)起來的可執(zhí)行的多個環(huán)節(jié),其中各環(huán)節(jié)還可以作為子目標而進行進一步分解。在各環(huán)節(jié)均執(zhí)行完畢之后,整個過程也就完成了。目標拉動是一種全新的執(zhí)行方式,下一代的WfMS將具有此種特征。

  WfMS巨大的潛在市場和廣闊的應(yīng)用領(lǐng)域(例如辦公、電子業(yè)務(wù)、協(xié)作研究、CIMS等)吸引了越來越多的科研機構(gòu)與軟件廠商投入到這方面的研究和開發(fā)中。據(jù)不完全統(tǒng)計,目前通用WfMS及具有工作流功能的系統(tǒng)已經(jīng)有幾百種之多,其中包括Action Workflow、Visual Workflow、FlowMark、Ultimus以及Inconcert等。國內(nèi)目前也有不少單位在從事這方面的研究。

2?工作流技術(shù)支持的工程設(shè)計管理系統(tǒng)

  工程設(shè)計管理中設(shè)計圖檔的流轉(zhuǎn)過程是一個典型的工作流過程,因此應(yīng)用工作流技術(shù)來管理是非常合適的。

2.1 工程設(shè)計管理的特點

  工程設(shè)計管理系統(tǒng)實現(xiàn)了工程設(shè)計流程的計算機化與自動化管理。工程設(shè)計過程具有極強的流程特性。如圖2所示,任何一個設(shè)計圖檔都要先經(jīng)過設(shè)計,然后再進行校對、校核,最后審查、審定之后才能被采用并歸檔保存,其中任何一個環(huán)節(jié)出錯都將導(dǎo)致設(shè)計圖檔的重新修改設(shè)計。設(shè)計圖檔流轉(zhuǎn)過程中包含的活動有:設(shè)計、校對、校核、審查、審定、歸檔等,這些活動需要不同部門的參與。以作者參與的某水利工程設(shè)計為例,一個工程的設(shè)計過程中需要水文、水工、水電、水機、地質(zhì)等不同部門的參與。

?

?

  隨著工程的變化,設(shè)計過程中,有時會修改設(shè)計流程、增加或者減少業(yè)務(wù)環(huán)節(jié),例如地質(zhì)部門的勘測圖檔只需經(jīng)過校對無誤即可審定歸檔,省去了校核、審查二個業(yè)務(wù)環(huán)節(jié)。然而有的設(shè)計圖檔需要多個責任人進行多次反復(fù)審查之后才能進行審定,這就增加了多個業(yè)務(wù)環(huán)節(jié)??紤]到設(shè)計出的軟件要具有通用性,能適應(yīng)不同工程的需要,因此希望設(shè)計出的管理系統(tǒng)具有如下特點:

  (1)靈活性。表示系統(tǒng)能以最少的代價來適應(yīng)和處理各種變化的過程,如能根據(jù)需要隨時改變業(yè)務(wù)處理流程;

  (2)敏捷反應(yīng)能力。表示系統(tǒng)能縮短業(yè)務(wù)處理過程的運轉(zhuǎn)周期,提高處理的效率;

  (3)良好的可擴展能力。表示能方便地在系統(tǒng)中增加新的業(yè)務(wù)或刪除已有業(yè)務(wù),或者為已有的業(yè)務(wù)增加或刪除一些處理功能。

2.2 系統(tǒng)結(jié)構(gòu)

  從2.1節(jié)的分析中可看出,工程設(shè)計是一個典型的工作流處理過程,它有一個固定的處理模式,即工作流過程定義。每一種業(yè)務(wù)的處理均可由一個對應(yīng)的過程定義來描述,每一個設(shè)計圖檔的處理就是該種業(yè)務(wù)的一個過程實例。該業(yè)務(wù)有多個處理步驟,它與工作流中的一項活動相對應(yīng),各項活動由不同的角色來完成。隨著工程的變化,業(yè)務(wù)過程可能被修改,即修改工作流過程定義等??紤]這些特點,在構(gòu)建工程設(shè)計管理系統(tǒng)時,可完全遵照工作流的思想對系統(tǒng)進行分析設(shè)計和實現(xiàn)。

  在設(shè)計系統(tǒng)時,出于各方面的考慮,沒有選擇商品化的工作流管理系統(tǒng)來做二次開發(fā),而是采用數(shù)據(jù)庫等技術(shù)自行開發(fā)一個工作流管理系統(tǒng)。如圖3所示,該工作流管理系統(tǒng)有如下構(gòu)成及功能:

?

  (1)一個執(zhí)行服務(wù)。負責工作流過程的實例化、任務(wù)的分配、過程的調(diào)度等(通過解釋過程定義腳本來完成),同時提供了一套角色管理與授權(quán)機制,以保障系統(tǒng)安全運行。

  (2)一個簡單的過程定義工具??梢杂脕碓O(shè)置和修改業(yè)務(wù)的處理過程,過程描述采用一種自定義的簡單的腳本語言。

  (3)一個管理監(jiān)控工具。供工程設(shè)計單位和客戶查詢業(yè)務(wù)的處理工具,實現(xiàn)查詢功能,使客戶可以隨時了解處理進度。同時工程設(shè)計單位使用該監(jiān)控工具,可以動態(tài)改變業(yè)務(wù)的處理流程。

  (4)多個業(yè)務(wù)功能模塊。如客戶應(yīng)用功能模塊負責處理客戶與系統(tǒng)之間的交互操作。隨著業(yè)務(wù)過程的變化,可以隨時增加功能模塊。每一個功能模塊中有一個任務(wù)列表(Task List),工作流執(zhí)行服務(wù)通過該任務(wù)列表給各功能模塊分配任務(wù)。工作人員登錄進入某個功能模塊后,可從任務(wù)列表選取任務(wù),并按規(guī)定執(zhí)行。

整個系統(tǒng)是以工作流執(zhí)行服務(wù)為核心,由工作流執(zhí)行服務(wù)中的工作流引擎來負責任務(wù)的調(diào)配工作。

2.3 系統(tǒng)的優(yōu)點

  前面介紹了系統(tǒng)所需要具有的性能:靈活性、敏捷性與可擴展性。下面將分析基于工作流的方法是如何滿足這些性能要求的。

  (1)靈活性。在工作流系統(tǒng)中,過程模型和組織模型是相互分離的,可以隨時使用工作流定義功能模塊改變工作流過程定義,從而改變業(yè)務(wù)的處理流程。同時,在一個業(yè)務(wù)過程實例的處理當中,可以通過管理和監(jiān)控模塊動態(tài)改變業(yè)務(wù)處理流程,這些均反應(yīng)了系統(tǒng)具有很好的靈活性。

  (2)敏捷反應(yīng)能力。從圖3中可看出,系統(tǒng)是以工作流執(zhí)行服務(wù)為核心來協(xié)調(diào)各個功能模塊的處理活動。工作流執(zhí)行服務(wù)可以很好地監(jiān)控各個功能模塊,對各項活動的分配與執(zhí)行均有記錄,可以避免部門之間的扯皮。同時也能方便地統(tǒng)計各項活動的處理時間,尋找瓶頸所在,從而根據(jù)出現(xiàn)的問題尋找解決辦法。客戶可以隨時查詢業(yè)務(wù)的處理狀態(tài)并與相應(yīng)部門聯(lián)系。這些途徑都能較好地提高系統(tǒng)的效率,提高業(yè)務(wù)處理的反應(yīng)能力。

  (3)良好的可擴展能力。系統(tǒng)的靈活性是實現(xiàn)系統(tǒng)可擴展性的手段之一,因為可以使用工作流定義功能模塊方便地修改業(yè)務(wù)的處理流程、增加新的處理業(yè)務(wù)或刪除已有的業(yè)務(wù)。同時系統(tǒng)是以工作流執(zhí)行服務(wù)為核心來協(xié)調(diào)各個功能模塊的處理活動,因此系統(tǒng)是一個二級結(jié)構(gòu),這也是系統(tǒng)規(guī)??蓴U展的重要手段。

實踐證明,該系統(tǒng)的設(shè)計思想具有一定的參考價值,對開發(fā)類似的系統(tǒng)可起到一定的借鑒作用。

?

參考文獻

1?? 史美林,楊光信,向勇等.WfMS:工作流管理系統(tǒng).計算機學(xué)報,1999;22(3)

2?? 胡錦敏,張申生.支持企業(yè)動態(tài)聯(lián)盟的敏捷工作流系統(tǒng).計算機研究與發(fā)展,1999;36(12)

3?? Workflow Management Coalition.Workflow Reference?Model.WfMC-TC-1003.Http://www.wfmc.org

4?? 范玉順,吳澄.工作流管理技術(shù)研究與產(chǎn)品現(xiàn)狀及發(fā)展趨勢.計算機集成制造系統(tǒng)-CIMS,2000;6(1)

5?? 羅海濱,范玉順,吳澄.工作流技術(shù)綜述.軟件學(xué)報,2000;11(7)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。