工作流管理系統(tǒng)_第1頁
工作流管理系統(tǒng)_第2頁
工作流管理系統(tǒng)_第3頁
工作流管理系統(tǒng)_第4頁
工作流管理系統(tǒng)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、工作流管理系統(tǒng)2008年10月28日 星期二 11:37      工作流管理系統(tǒng)(Workflow Management System, WfMS)是一個軟件系統(tǒng),它完成工作量的定義和管理,并按照在系統(tǒng)中預先定義好的工作流邏輯進行工作流實例的執(zhí)行。 工作流管理系統(tǒng)不是企業(yè)的業(yè)務(wù)系統(tǒng),而是為企業(yè)的業(yè)務(wù)系統(tǒng)的運行提供了一個軟件的支撐環(huán)境。      工作流管理聯(lián)盟(WfMC,Workflow Management Coalition)給出的關(guān)于工作流管理系統(tǒng)的定義是:工作流管理系統(tǒng)是一個軟件系統(tǒng),

2、它完成工作流的定義和管理,并按照在計算機中預先定義好的工作流邏輯推進工作流實例的執(zhí)行。      看起來工作流管理系統(tǒng)與BOS(Business Operation System,企業(yè)業(yè)務(wù)系統(tǒng))或ERP(Enterprise Resource Plan,企業(yè)資源規(guī)劃)都很相似,但它們的實質(zhì)是有很大區(qū)別的。工作流管理系統(tǒng)為BOS提供一個軟件平臺,這就如運行在PC機上的操作系統(tǒng),因此工作流管理系統(tǒng)比BOS的應用范圍更廣,環(huán)境更復雜。工作流管理系統(tǒng)與ERP的區(qū)別在于,ERP側(cè)重于滿足企業(yè)內(nèi)部業(yè)務(wù)操作功能,提高工作效率,而工作流管理系統(tǒng)側(cè)重于企業(yè)管理,

3、面向市場和客戶,提高對外業(yè)務(wù)水平.一、工作流管理系統(tǒng)的產(chǎn)生      工作流管理系統(tǒng)(WfMS,WorkflowManagementSystem)是以計算機支持的分布式、協(xié)同工作業(yè)務(wù)流程的自動或半自動化為研究目標的軟件系統(tǒng)。隨著計算機網(wǎng)絡(luò),特別是Internet/Intranet 的迅猛發(fā)展和應用,計算機支持的分布式、協(xié)同工作的工作流系統(tǒng)在企、事業(yè)單位中的地位顯得越來越重要,也有著廣闊的前景。      工作流管理系統(tǒng)是定義、創(chuàng)建、執(zhí)行工作流的系統(tǒng)。開發(fā)這類軟件系統(tǒng)就是要協(xié)調(diào)分布式、協(xié)同處理的各

4、個節(jié)點上的活動,按照預定義的控制流程進行執(zhí)行,以達到對它們的自動執(zhí)行和有效的管理.開發(fā)這類軟件有很大的重復性,工作流管理系統(tǒng)就是將這類軟件的公共的流程控制部分(工作流運行服務(wù)、引擎)、管理部分和其他公共部分抽象出來,形成一種軟件開發(fā)平臺,用戶只需要將它們的控制流程描述出來,該平臺軟件就可對它們的控制流程進行自動執(zhí)行和有效地管理,而不需要對每次不同的應用重復地開發(fā)。      不同工作流管理系統(tǒng)可以有不同的實現(xiàn)方法,不同的底層通訊機制,應用的范圍也可能有很大的差距,但所有的工作流管理系統(tǒng)從用戶的應用層上來看,通用工作流管理系統(tǒng)應該能夠提供以下三個

5、方面的功能支持:      首先是建造功能,即對工作流的業(yè)務(wù)流程及組成這些業(yè)務(wù)流程的活動進行定義和建模。      其次是運行控制功能,即在一定的運行環(huán)境下,負責創(chuàng)建、執(zhí)行和控制工作流實例,激活相應的資源和應用,并完成過程中從一個活動到另一個活動的控制轉(zhuǎn)移.它是整個工作流管理系統(tǒng)的核心部分。      最后是運行交互功能,即在工作流實例的運行中,工作流管理系統(tǒng)與工作流參與者(業(yè)務(wù)工作的參與者或控制者)及外部應用程序進行交互的功能. &#

6、160;    由于信息技術(shù)的發(fā)展和日趨激烈的商業(yè)競爭,人們不再滿足于獨立、零散的辦公自動化和計算機應用,而是需要綜合的、集成化的解決方案。作為一種對常規(guī)性事務(wù)進行管理、集成的技術(shù),WfMS 的出現(xiàn)是必然的。它可以改進和優(yōu)化業(yè)務(wù)流程,提高業(yè)務(wù)工作效率;實現(xiàn)更好的業(yè)務(wù)過程控制,提高顧客服務(wù)質(zhì)量;提高業(yè)務(wù)流程的柔性等。二、工作流管理系統(tǒng)的組成      一個完整的工作流管理系統(tǒng)中主要包括如下七個部分的部件和數(shù)據(jù)。a。過程定義工具      過程定義工具被用來創(chuàng)建計算機可

7、處理的業(yè)務(wù)過程描述。它可以是形式化的過程定義語言或?qū)ο箨P(guān)系模型,也可以是簡單地規(guī)定用戶間信息傳輸?shù)囊唤M路由命令。b。過程定義      過程定義(數(shù)據(jù))包含了所有使業(yè)務(wù)過程能被工作流執(zhí)行子系統(tǒng)執(zhí)行的必要信息.這些信息包括起始和終止條件、各個組成活動、活動調(diào)度規(guī)則、各業(yè)務(wù)的參與者需要做的工作、相關(guān)應用程序和數(shù)據(jù)的調(diào)用信息等。c。工作流執(zhí)行子系統(tǒng)和工作流引擎      工作流執(zhí)行子系統(tǒng)也稱為(業(yè)務(wù))過程執(zhí)行環(huán)境,包括一個或多個工作流引擎.工作流引擎是WfMS 的核心軟件組元。它的功能包括:解釋過程定

8、義,創(chuàng)建過程實例并控制其執(zhí)行,調(diào)度各項活動,為用戶工作表添加工作項,通過應用程序接口(API,Application Program Interface)調(diào)用應用程序,提供監(jiān)督和管理功能等.工作流執(zhí)行子系統(tǒng)可以包括多個工作流引擎,不同工作流引擎通過協(xié)作共同執(zhí)行工作流.d.工作流控制數(shù)據(jù)      指被工作流執(zhí)行子系統(tǒng)和工作流引擎管理的系統(tǒng)數(shù)據(jù),例如工作流實例的狀態(tài)信息、每一活動的狀態(tài)信息等.e.工作流相關(guān)數(shù)據(jù)     指與業(yè)務(wù)過程相關(guān)的數(shù)據(jù)。WfMS 使用這些數(shù)據(jù)確定工作流實例的狀態(tài)轉(zhuǎn)移,例如過程調(diào)度決策

9、數(shù)據(jù)、活動間的傳輸數(shù)據(jù)等.工作流相關(guān)數(shù)據(jù)既可以被工作流引擎使用,也可以被應用程序調(diào)用。f.工作表和工作表處理程序     工作表列出了與業(yè)務(wù)過程的參與者相關(guān)的一系列工作項,工作表處理程序則對用戶和工作表之間的交互進行管理。工作表處理程序完成的功能有:支持用戶在工作表中選取一個工作項,重新分配工作項,通報工作項的完成,在工作項被處理的過程中調(diào)用相應的應用程序等.g。應用程序和應用數(shù)據(jù)      應用程序可以直接被WfMS 調(diào)用或通過應用程序代理被間接調(diào)用.通過應用程序調(diào)用,WfMS 部分或完全自動地完成一個

10、活動,或者對業(yè)務(wù)參與者的工作提供支持。與工作流控制數(shù)據(jù)和相關(guān)數(shù)據(jù)不同,應用數(shù)據(jù)對應用程序來講是局部數(shù)據(jù),對WfMS 的其他部件來說是不可見的。三、工作流管理系統(tǒng)的分類      工作流管理系統(tǒng)是大型信息系統(tǒng)中驅(qū)動業(yè)務(wù)流程的必備基礎(chǔ)軟件.當前市場上存在很多產(chǎn)品聲稱是工作流系統(tǒng),或者帶有工作流特性.最終用戶和開發(fā)商在接觸各種產(chǎn)品時,往往會產(chǎn)生很多困惑。      從技術(shù)角度來看,可分為四類:      ·基于Domino的工作流管理系統(tǒng)&#

11、160;     由于Domino在群件市場上的普及率,加上蓮花公司對工作流概念的大力宣傳,人們很容易誤認為Domino是一個工作流系統(tǒng).實際上這種觀點是完全錯誤的.Domino充其量是一個可以編寫帶有流程的應用的編程和運行環(huán)境,其本身并不具備一個工作流管理系統(tǒng)的特征,如圖形化的工作流定義、獨立的工作流引擎、清晰的工作流訪問接口等.應用程序所需要的每一個工作流特性,都需要自己手工編寫.為了彌補Domino的不足,國內(nèi)一些OA廠商在Domino上添加了用其他語言編寫的圖形化工作流定義組件,但這仍然不能叫做一個工作流管理系統(tǒng).基于Domino的工作流管理系統(tǒng)

12、的典型例子實際上還是蓮花公司推出的DominoWorkflow?.它運行在Domino平臺上,為開發(fā)工作流應用提供了很大的便利。當然,人們只能在Domino平臺上使用它.在為其他平臺開發(fā)應用時,人們必須求助于其它工作流管理系統(tǒng).      ·基于消息中間件的工作流管理系統(tǒng)      這方面的典型代表是IBM公司的MQSeriesWorkflow。它通過MQSeries將不同的應用集成在一起,并形成業(yè)務(wù)流程。它沒有一個集中的工作流引擎。當進行分布式的應用系統(tǒng)的集成時,它是一個不錯的選擇。

13、但當你需要為運行在單一服務(wù)器上的應用提供工作流功能,而且不想因此而購買一大套消息中間件的時候,你必須考慮別的選擇.      ·基于微軟平臺的工作流管理系統(tǒng)      這方面的典型代表是Ultimus和微軟公司在BizTalk中提供的工作流組件,它們?yōu)榛谖④浧脚_的工作流應用提供支撐.      ·基于J2EE的工作流管理系統(tǒng)      這類系統(tǒng)是我們本文討論的重點。隨著Jav

14、a技術(shù)的日趨成熟和應用面的擴大,絕大多數(shù)企業(yè)級的應用系統(tǒng)開始基于J2EE技術(shù)來設(shè)計,對在J2EE平臺上的工作流系統(tǒng)的需求也越來越大。這種工作流系統(tǒng)應用能夠充分發(fā)揮J2EE技術(shù)的優(yōu)勢,提供高度的可靠性、可擴展性和安全性。Ewayworkflow?正是這種類型的系統(tǒng)。      從產(chǎn)品化程度和存在形態(tài)來說,可分為兩類:      ·嵌入在已有產(chǎn)品中的工作流組件      國內(nèi)從事OA產(chǎn)品研發(fā)的公司都能生成有工作流功能的產(chǎn)品。但大多數(shù)OA產(chǎn)品

15、中只是包含了一個圖形化的流程定義工具,并不是一個真正的工作流系統(tǒng),不具備完整的工作流引擎、工作流管理功能,也沒有清晰定義的接口。其提供的功能有限,與系統(tǒng)的其他部分緊密耦合,不可能作為統(tǒng)一的工作流平臺來建立各種應用系統(tǒng),如行政審批系統(tǒng),也無法提供給其他開發(fā)商使用。又如內(nèi)容管理系統(tǒng),也往往含有自己的工作流管理功能,其情形也差不多。      ·產(chǎn)品化的工作流管理系統(tǒng)      這種系統(tǒng)從一開始就作為單獨的工作流管理系統(tǒng)來設(shè)計,考慮到了符合相關(guān)的國際標準,由專業(yè)產(chǎn)商以產(chǎn)品的形式推出,并提供給

16、其他廠商在各個行業(yè)的應用系統(tǒng)中采用,或由用戶在進行系統(tǒng)整體設(shè)計的時候統(tǒng)一采購。E-wayworkflow?是產(chǎn)品化的工作流產(chǎn)品。      從工作流產(chǎn)品和宿主系統(tǒng)之間的關(guān)系來說,可分為兩類:      ·封閉的開發(fā)環(huán)境      這種產(chǎn)品強調(diào)在一個平臺中提供完整的工作流引擎、表單工具和組織結(jié)構(gòu)及權(quán)限管理工具,Ultimus和FormFlow就是典型的例子,這對于快速創(chuàng)建簡單的基于流程的應用確實有幫助,但它們的問題在于,其系統(tǒng)結(jié)構(gòu)一般是封

17、閉的。應用系統(tǒng)的開發(fā)者要么完全接受它所強制提供的結(jié)構(gòu),要么完全不采用它。在開放性越來越成為趨勢的情況下,這種產(chǎn)品難以適用于構(gòu)建大型的復雜的系統(tǒng).      ·開放的可嵌入的工作流產(chǎn)品      這類產(chǎn)品的設(shè)計思路與上面的一類不同,它們特別強調(diào)開放性和嵌入到宿主系統(tǒng)中的能力,采用組件化設(shè)計,并遵守業(yè)界的標準提供訪問接口和擴展機制。這類系統(tǒng)的典型代表是ewayworkflow。它能夠迅速地嵌入到宿主系統(tǒng)中,并引用宿主系統(tǒng)的組織結(jié)構(gòu)模型,而不會對宿主系統(tǒng)的結(jié)構(gòu)產(chǎn)生負面的影響。四、工作流管理系

18、統(tǒng)帶來的好處      由于信息技術(shù)的發(fā)展和日趨激烈的商業(yè)競爭,人們不再滿足于獨立、零散的辦公自動化和計算機應用,而是需要綜合的、集成化的解決方案。作為一種對常規(guī)性事務(wù)進行管理、集成的技術(shù),WFMS的出現(xiàn)是必然的.它可以帶來以下收益:      ·改進和優(yōu)化業(yè)務(wù)流程,提高業(yè)務(wù)工作效率;      ·實現(xiàn)更好的業(yè)務(wù)過程控制,提高顧客服務(wù)質(zhì)量;      ·提高業(yè)務(wù)流程的

19、柔性等。五、工作流管理系統(tǒng)的基本結(jié)構(gòu)      在這個一般結(jié)構(gòu)模型中,有三種類型的部件:      ·WFMS內(nèi)提供各種功能支持的軟件組元(用深色填充圖形表示);      ·為一個或多個軟件組元使用的各種系統(tǒng)定義和控制數(shù)據(jù)(未填充圖形);      ·應用程序和數(shù)據(jù)庫(淺色填充圖形)。六、工作流管理系統(tǒng)功能分析    

20、0; 前面已經(jīng)介紹過,一個完整的通用工作流管理系統(tǒng)應當包括七個部件,這里限于篇幅的原因,只對工作流管理系統(tǒng)的核心部分:工作流執(zhí)行子系統(tǒng)和工作流引擎進行分析。      工作流管理系統(tǒng)核心功能      工作流管理系統(tǒng)的核心組成部分稱為工作流執(zhí)行子系統(tǒng),它為創(chuàng)建、初始化和執(zhí)行過程實例提供了一個運行環(huán)境。      在一個工作流執(zhí)行子系統(tǒng)中可以包括一個或多個工作流引擎,前者是一種集中式的實現(xiàn)方式,而后者是一種分布式的實現(xiàn)方式.分布式的實現(xiàn)方式又可以分

21、為同構(gòu)和異構(gòu)兩種不同的情況。所謂同構(gòu)是指在一個運行服務(wù)系統(tǒng)中包含了多個兼容的工作流引擎;所謂異構(gòu)是指在工作流管理系統(tǒng)中包含了兩個以上異構(gòu)的工作流執(zhí)行子系統(tǒng)。      工作流引擎是工作流管理系統(tǒng)的核心軟件部件。它的主要功能有:解釋過程定義,控制過程實例(創(chuàng)建、激活、掛起、終止等),按照過程定義已確定的業(yè)務(wù)邏輯調(diào)用各項活動,為用戶工作表添加工作項,維護工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù),調(diào)用應用程序,提供監(jiān)督,管理和審計功能。      工作流執(zhí)行子系統(tǒng)涉及四種數(shù)據(jù):工作流控制數(shù)據(jù)、工作流相關(guān)數(shù)據(jù)、組

22、織/角色模型數(shù)據(jù)和工作表.      第一種,工作流控制數(shù)據(jù)。指只由工作流執(zhí)行子系統(tǒng)維護的內(nèi)部控制數(shù)據(jù),主要用于表示過程實例與活動實例的狀態(tài)信息。      第二種,工作流相關(guān)數(shù)據(jù)。指與業(yè)務(wù)過程相關(guān)的數(shù)據(jù),他們由應用程序或由用戶通過工作項處理來產(chǎn)生和更新,工作流引擎根據(jù)相關(guān)數(shù)據(jù)來確定過程實例的狀態(tài)轉(zhuǎn)移,例如過程調(diào)度決策數(shù)據(jù)、活動間的傳輸數(shù)據(jù)等。      第三種,組織/角色模型數(shù)據(jù)。是描述組織結(jié)構(gòu)的數(shù)據(jù),主要用于確定工作項的執(zhí)行者。 &

23、#160;    第四種,工作表.列出了與工作流參與者相關(guān)的一系列工作項。七、工作流管理系統(tǒng)的標準和產(chǎn)品      工業(yè)界的許多人將工作流管理奉為90年代的軟件技術(shù)。近年來,工作流技術(shù)得到長足的發(fā)展.1993年成立了工作流管理聯(lián)盟(Workflow Management Coalition,WFMC).此后,該組織頒布了一系列工作流產(chǎn)品標準,包括工作流參考模型、工作流術(shù)語表、工作流管理系統(tǒng)各部分間接口規(guī)格、工作流產(chǎn)品的互操作性標準等。這些舉措加速了工作流技術(shù)的商品化.現(xiàn)在,許多公司都基于這些標準推出了自己的工作流產(chǎn)

24、品,如Action Technologies Inc。的ActionWorkflow、IBM的FlowMark等。LotusNotes等群件產(chǎn)品也具備較強的工作流支持功能。這些產(chǎn)品為我們開發(fā)自己的工作流應用提供了條件.      工作流管理系統(tǒng)的應用      和其他的軟件產(chǎn)品一樣,用戶可以引進成熟的工作流和群件產(chǎn)品,也可以自行開發(fā)適合自己業(yè)務(wù)的工作流系統(tǒng),特別是基于Intranet的工作流應用.與Intranet技術(shù)相結(jié)合,工作流系統(tǒng)更具開放性,有更多的工具可供選用,且Browser/Serv

25、er風格的界面簡單易用,這也是當前工作流產(chǎn)品的發(fā)展方向。      另外值得注意的是,WFMS的引入是與管理思想和管理業(yè)務(wù)的轉(zhuǎn)變密切相關(guān)的.一般來說,我們應把WFMS的引進視為改進或重組業(yè)務(wù)流程的機遇。WFMS可以和企業(yè)再造或規(guī)范化管理相結(jié)合。企業(yè)再造追求的是對企業(yè)的經(jīng)營管理模式和生產(chǎn)作業(yè)程序進行徹底的革命性變革。規(guī)范化管理則是在管理經(jīng)驗的基礎(chǔ)上對業(yè)務(wù)過程進行科學化、規(guī)范化研究,以建立一套完整的管理工作規(guī)范體系為目標。這種規(guī)范化一般會促進系統(tǒng)組織結(jié)構(gòu)和運行的改善.      目前在國外,企業(yè)再造

26、和工作流系統(tǒng)的關(guān)系較為人們所關(guān)注,如Workflow And Reengineering International Association(WARIA)就是致力于此的國際組織。然而,由于國情不同,我國多數(shù)企事業(yè)單位面臨的主要管理問題是隨意性大、運行不規(guī)范.除了少數(shù)企業(yè)外,大部分單位不需要、也不可能進行革命性的重組。因此,相對于企業(yè)再造理論,規(guī)范化管理在我國更現(xiàn)實、更可行,更適于和WFMS的引進相結(jié)合.八、建模實例      1 創(chuàng)建用例視圖      用例視圖從外部用戶的角度捕獲系統(tǒng)的行為。它

27、將系統(tǒng)功能劃分為對活動者(系統(tǒng)的理想用戶)具有意義的事務(wù).這些功能片被稱為用例。用例通過系統(tǒng)與一個或多個活動者之間的一系列消息描述了與活動者的交互。其活動者包括人員、其它的計算機系統(tǒng)和進程。 活動者用一個小人表示,活動者的名字標在這個小人的下方。用例用一個橢圓表示,用例的名字標在橢圓中或下方,用實線與同自身通信的活動者相連接.用例視圖對活動者,所感知的系統(tǒng)功能進行建模,目的是列舉活動者和用例,顯示活動者在每個用例中的參與情況。      a。 工作流執(zhí)行子系統(tǒng)      圖1表示工作流執(zhí)行子系統(tǒng)

28、的用例圖.活動者包括WfClient(工作流客戶端)、Monitor(工作流監(jiān)控端)、DefinitionDB(工作流定義數(shù)據(jù)庫)、EnactmentDB(工作流運行數(shù)據(jù)庫)、OrganizationDB(組織機構(gòu)數(shù)據(jù)庫)、ApplicationDB(應用程序數(shù)據(jù)庫)、WorkItemDB(工作項數(shù)據(jù)庫)、ConfigFile(工作流系統(tǒng)配置文件)。這里,WfClient 作為接收用戶交互的界面部分,將用戶所作的行為,依照固定的規(guī)則,將請求送給工作流執(zhí)行子系統(tǒng)進行處理。Monitor 作為接收系統(tǒng)管理員交互的界面部分,將系統(tǒng)管理員對系統(tǒng)作出的調(diào)整,發(fā)送給工作流執(zhí)行子系統(tǒng)進行處理。其余的Defi

29、nitionDB 等活動者,負責將工作流執(zhí)行子系統(tǒng)每一步的操作與狀態(tài)記錄到數(shù)據(jù)庫中,以永久保存。用例包括ResourceLocate ( 資源定位)、EngineContainer ( 引擎容器)、ProcessDefLoad(定義裝載)、ProcessMonitor(過程監(jiān)控)、Util(公用程序)。其中,EngineContainer 通過ResourceLocate 定位所有系統(tǒng)所用到的資源,表EngineContainer 用例使用ResourceLocate 用例,用帶有箭頭的實線表示。EngineContainer 不直接與用戶交互,活動者對工作流的參與都是通過ProcessMon

30、itor 這個工作流執(zhí)行子系統(tǒng)的入口來進行的。EngineContainer 通過ProcessDefLoad 將現(xiàn)有的工作流定義裝入,這樣才能運行該工作流,EngineContainer 用例與ResourceLocate 用例之間是使用關(guān)系.      這里僅給出用例ProcessMonitor 的具體功能分析.這些功能分析作為對ProcessMonitor 用例的注釋,不在用例圖上標識,只作為系統(tǒng)詳細設(shè)計時的要點.對其余用例的分析方法與之類似。      過程監(jiān)督服務(wù)器作為引擎容器的一部分

31、,主要提供外部對引擎容器的運行狀況的監(jiān)督,即對引擎當前運行狀況的查詢。      譬如,當客戶端或管理端需要了解引擎的運行狀況時,首先發(fā)出一個消息請求,消息服務(wù)器接受到該消息后對消息進行解釋,如果屬于查詢引擎的運行狀況,則調(diào)用監(jiān)督服務(wù)部分提供的API(應用程序接口)對引擎進行查詢,然后將結(jié)果返回至請求者。      監(jiān)督服務(wù)器處理的查詢請求根據(jù)請求對象的不同主要有如下內(nèi)容:       引擎容器運行狀況的查詢;各引擎運行狀況的查詢;過程定義信息的

32、查詢;過程實例信息的查詢;活動實例信息的查詢;工作項信息的查詢;同步命令請求的響應。      b.工作流引擎         圖2表示工作流引擎的用例圖。其中的活動者包括EngineManager(引擎管理器)與LogFiles(日志文件).EngineManager 負責控制工作流中所有元素的狀態(tài),是工作流調(diào)度的核心。LogFiles 階段性將固定格式的文字記錄為日志,用以保存.這里的用例有ProcessControl(控制過程實例)、TransitionControl(

33、控制轉(zhuǎn)移)、ActivityControl(控制活動)、WorkItemControl(控制工作項)、DanamaticModify(動態(tài)修改流程)、CreateLogfile(創(chuàng)建日志文件)。EngineManager 根據(jù)一定的條件,通過ProcessControl、TransitionControl、ActivityControl、WorkItemControl 與DanamaticModify,控制工作流各個組成元素的狀態(tài),以達到控制工作流的目的.      c。過程監(jiān)督       圖

34、3表示過程監(jiān)督用例圖。其中的活動者包括EnactmentDB(工作流運行數(shù)據(jù)庫)與engineContainer(引擎容器).用例有EngineQuery(對引擎的查詢)、ProcessDefQuery(對過程定義信息的查詢)、EngineContainerQuery(引擎容器運行狀況的查詢)、ProcessInstanceQuery(對過程實例進行查詢)、ActivityInstanceQuery(對活動實例進行查詢)、WorkItemQuery(對工作項進行查詢)、TransitionQuery(對轉(zhuǎn)移信息查詢).      這里僅對用例P

35、rocessInstanceQuery 進行詳細功能分析,對其余用例的分析方法與之類似. ProcessInstanceQuery 是對系統(tǒng)中的過程實例進行查詢,主要包含如下內(nèi)容:取得過程實例列表:得到系統(tǒng)中的所有過程實例的一個列表;從過程實例列表中取得一個過程實例的信息;根據(jù)給定的過程實例編號得到該過程實例的詳細信息;關(guān)閉已經(jīng)打開的過程實例列表;取得系統(tǒng)中過程實例的各種狀態(tài)的一個列表;根據(jù)給定的過程實例編號查詢其狀態(tài);關(guān)閉打開的過程實例列表;取得系統(tǒng)中過程實例的各種屬性信息的列表.      2 創(chuàng)建交互視圖   

36、;   交互視圖描述了實現(xiàn)系統(tǒng)行為角色之間的消息交換序列。分類角色是對交互中充當特殊角色的對象的描述。交互視圖提供了系統(tǒng)中行為在全局的描述,顯示了多個角色間的控制流程。交互視圖用側(cè)重點不同的兩種圖來顯示:順序圖和協(xié)作圖. 消息指角色間的單向通信,從發(fā)送者到接收者的攜帶信息的控制流。消息可能帶有角色間傳遞值的參數(shù).      順序圖和協(xié)作圖均顯示了交互,但它們強調(diào)了不同的方面。順序圖顯示了時間順序,但角色間的關(guān)系是隱式的。協(xié)作圖表現(xiàn)了角色之間的關(guān)系,并將消息關(guān)聯(lián)至關(guān)系,但時間順序由于用順序號表達,并不十分明顯。每一種圖應根據(jù)主

37、要的關(guān)注焦點而使用。      a。順序圖      順序圖表示了隨時間安排的一系列消息。每個分類角色顯示為一條生命線,代表整個交互期間上的角色。消息則顯示為生命線之間的箭頭.順序圖可以表達場景,即一項事務(wù)的特定歷史.      順序圖以二維圖表來顯示交互??v向是時間軸,時間自上而下.橫向顯示了代表協(xié)作中單個對象的分類角色。每個對象用方框表示,對象的名字在方框內(nèi)部,并在名字的下方加下劃線。每個分類角色表現(xiàn)為垂直列生命線.在角色存在的時間內(nèi),生命線

38、顯示為虛線;在角色的過程激活時間內(nèi),生命線顯示為雙線.      消息顯示為從一個角色生命線出發(fā)至另一個角色生命線的箭頭,箭頭用從上而下來的時間順序來安排。      順序圖的一個用途是顯示用例的行為序列。當行為被實現(xiàn)時,每個順序圖中的消息同對象的操作或狀態(tài)機中遷移上的事件觸發(fā)相一致。       圖4 表示處理請求用例的順序圖。圖中五個方框分別表示五個對象:ProcessMonitor、EngineManager、Engine、Entactme

39、ntDB、Logfiles。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉(zhuǎn)換成固定的請求,發(fā)送給引擎執(zhí)行而產(chǎn)生的。      當ProcessMonitor 接收到用戶在界面上所作的操作后,將這些操作轉(zhuǎn)換為固定的命令請求,發(fā)送給EngineManager。EngineManager 再根據(jù)接收到命令的類別,將命令分發(fā)給不同的Engine。Engine 則具體執(zhí)行相應的命令。Engine 執(zhí)行完命令后,通知EntactmentDB 修改相應的數(shù)據(jù)。接下來,Engine 再通知Logfiles 將所作的操作記錄下來,以供以后

40、查詢。最后,Engine 直接將結(jié)果返回給ProcessMonitor,由ProcessMonitor將結(jié)果包裝,顯示給用戶。      b。協(xié)作圖      協(xié)作圖對交互中存在意義的對象和鏈建模。對象和鏈僅在提供的上下文中存在意義。分類角色描述了對象,關(guān)聯(lián)角色描述了協(xié)作中的鏈。協(xié)作圖通過圖形的幾何排布顯示交互中的角色。消息顯示為附屬在連接分類角色的關(guān)系直線上的箭頭.消息的順序由消息描述前的順序號來表示.      協(xié)作圖的一個用途是表現(xiàn)操作的實

41、現(xiàn)。協(xié)作顯示了操作的參數(shù)和局部變量,以及更永久性的關(guān)聯(lián)。當行為被實現(xiàn)時,消息的順序與程序的嵌套調(diào)用結(jié)構(gòu)和信號傳遞一致。       圖5表示對應于處理請求用例的協(xié)作圖。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉(zhuǎn)換成固定的請求,發(fā)送給引擎執(zhí)行而產(chǎn)生的。這個協(xié)作圖表現(xiàn)了處理請求用例所涉及的五個相關(guān)對象之間相互協(xié)作的關(guān)系.      3 創(chuàng)建狀態(tài)機視圖      狀態(tài)機視圖通過對一種對象的可能生命歷史進行建模,描述了對象在時

42、間序列上的動態(tài)行為。每個對象被認為是通過檢測事件并對之響應來與外界進行通訊的孤立實體.事件表達了對象可以檢測的變動對象間的調(diào)用或顯示信號、某個值的改變或時間的推移。任何影響對象的事物可以被描述成事件。真實世界發(fā)生的事情被建模成外部世界至系統(tǒng)的信號。      狀態(tài)指就某個特定類而言,對于發(fā)生的事件具有相同性質(zhì)響應的一系列對象值。換言之,同一狀態(tài)的所有對象以相同的方式響應某個事件,即對于給定的所有對象在接收到同一事件時執(zhí)行相同的動作。而不同狀態(tài)的對象可能對相同事件具有不同的響應,執(zhí)行不同的動作. 狀態(tài)機包含由事件連接的狀態(tài)。每個狀態(tài)對對象生命期中

43、的一段時間建模,該時間內(nèi)對象滿足一定的條件.當事件發(fā)生時,它可能導致遷移的激發(fā),使對象改變至新狀態(tài)。當遷移激發(fā)時,附屬于遷移的動作可    能被執(zhí)行。狀態(tài)機在UML 中顯示為狀態(tài)圖。      在狀態(tài)機視圖中,狀態(tài)用帶圓角的長方形表示,初始狀態(tài)用實心填充的圓表示,結(jié)束狀態(tài)用實心填充的圓外套一個圓圈表示。       圖6 表示過程實例的狀態(tài)機視圖.從圖中可以看出,一個工作流定義的過程實例,在運行時可能有五種不同的過程,分別為初始狀態(tài)、就緒狀態(tài)、運行狀態(tài)、掛起狀態(tài)與結(jié)束狀態(tài)。      一個過程實例在初始時,均為初始狀態(tài)(initial st

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論