版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
四川大學(xué)軟件工程碩士學(xué)位論文題目基于WEB技術(shù)的工作流管理系統(tǒng)設(shè)計與實現(xiàn)作者劉福順完成日期2006年4月培養(yǎng)單位四川大學(xué)指導(dǎo)教師唐寧九教授專業(yè)計算機(jī)軟件與理論研究方向軟件工程授于學(xué)位日期年月日基于WEB技術(shù)的工作流管理系統(tǒng)設(shè)計與實現(xiàn)計算機(jī)軟件與理論專業(yè)研究生劉福順指導(dǎo)教師唐寧九工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。工作流管理系統(tǒng)是一個軟件系統(tǒng),它完成工作流的定義和管理,并按照在計算機(jī)中預(yù)先定義好的工作流邏輯推進(jìn)工作流實例的執(zhí)行。一個完整的工作流管理系統(tǒng)是由工作流執(zhí)行部件、工作流功能部件和外部應(yīng)用系統(tǒng)構(gòu)成的。工作流執(zhí)行部件,即工作流引擎,是工作流管理系統(tǒng)的核心。工作流引擎負(fù)責(zé)解釋過程定義、創(chuàng)建模型實例、調(diào)度模型實例任務(wù)、推進(jìn)流程等功能。一個過程模型就是企業(yè)經(jīng)營過程中業(yè)務(wù)流程的一個抽象模型,當(dāng)使用諸如Petri網(wǎng)這樣的形式語言來描述一個企業(yè)經(jīng)營過程時,就形成了過程定義。過程定義被工作流引擎解釋轉(zhuǎn)換為能被工作流引擎執(zhí)行的過程模型,創(chuàng)建運行時模型實例并依據(jù)特定的調(diào)度算法,例如經(jīng)典Petri網(wǎng)調(diào)度算法,對過程實例中的活動進(jìn)行調(diào)度。工作流技術(shù)在企業(yè)中的應(yīng)用范圍主要有兩類,一類是在以公文流轉(zhuǎn)為功能主體的辦公自動化系統(tǒng)中的應(yīng)用,另一類則是為企業(yè)業(yè)務(wù)系統(tǒng)提供運行支撐平臺的工作流管理系統(tǒng)。不同的應(yīng)用對工作流引擎的功能要求也是不同的,作為一個功能完善的工作流引擎,核心調(diào)度能力要靈活,同時要能夠支持常見的流程模型,例如:固定流程、自由流程以及嵌套流程等。本文論述的是一個基于WEB技術(shù)的工作流管理系統(tǒng)的設(shè)計與實現(xiàn),提出了一種將工作流技術(shù)應(yīng)用于企業(yè)的工作流管理系統(tǒng)的通用架構(gòu),闡述了經(jīng)典petri網(wǎng)調(diào)度算法在工作流引擎中的應(yīng)用與實現(xiàn),分析并實現(xiàn)了工作流引擎對三種常見的流程模型的支持。關(guān)鍵詞:工作流;工作流管理系統(tǒng);Petri網(wǎng);工作流引擎Web-basedWorkflowManagementSystemDesignandImplementationLiuFushun(ComputerSoftware&Theory)DirectedbyTangNingjiuWorkflowistheautomationofabusinessprocess,inwholeorpart,duringwhichdocuments,informationortasksarepassedfromoneparticipanttoanotherforaction,accordingtoasetofproceduralrules.Workflowmanagementsystemisasystemthatdefines,createsandmanagestheexecutionofworkflowsthroughtheuseofsoftware,runningononeormoreworkflowengines,whichisabletointerprettheprocessdefinition,interactwithworkflowparticipantsand,whererequired,invoketheuseofITtoolsandapplications.Awholeworkflowmanagementsystemconsistsofworkflowenactmentcomponent,workflowfunctioncomponentandexternalapplicationsystem.Workflowenactmentcomponent,so-calledworkflowengine,isthekernelofaworkflowmanagementsystem.Allfunctionssuchastheinterpretationofprocessdefinition,theinstantiationofprocessmodelandthescheduleofactivityareallunderthechargeofworkflowengine.Aprocessmodelisapuremodelofbusinessworkflowinenterpriserunningprocess.WhenanenterpriserunningprocessismodeledusingformallanguagesuchasPetri-net,aprocessmodelcomesintobeing.Thescopeofworkflowtechnologyapplicationinenterpriseinvolvedintwocategories,oneisOAsystemwithdocumenttransitionasitsmainfoundation,andanotherisworkflowmanagementsystemservesastherunningplatformofenterprisebusinesssystems.Differentapplicationsrequiredifferentfunctionsofworkflowengine.Beingawell-functionalworkflowengine,itskernelschedulearithmeticshouldbeflexible.Atthesametime,itshouldbeabletosupportthreekindsofprocessmodelsuchasfixedprocess,freedomprocessandnestedprocess.Inthispaper,wediscussthedesignandimplementationofaweb-basedworkflowmanagementsystem;giveoutacommonworkflowmanagementsystemstructurewhichisusefulwhenyouwanttoapplyworkflowtechnologytoenterpriseapplication;expoundtheapplicationandimplementationofclassicalPetri-netschedulearithmeticinworkflowengine;analyzethesupportofthreekindsofprocessmodelinworkflowengine.KeyWords:Workflow;WorkflowManagementSystem;Petri-net;W目錄1緒論.......................................................................................................................11.1工作流的起源..............................................................................................11.2本文結(jié)構(gòu)安排..............................................................................................12基本理論...............................................................................................................22.1工作流.........................................................................................................22.2工作流參考模型..........................................................................................32.3工作流管理系統(tǒng)..........................................................................................62.4工作流管理系統(tǒng)架構(gòu)...................................................................................12.4.1工作流管理系統(tǒng)組成部分.................................................................12.4.2工作流管理系統(tǒng)組件說明.................................................................22.5Petri網(wǎng)........................................................................................................32.5.1Petri網(wǎng)的基本元素............................................................................庫所........................................................................................變遷........................................................................................弧............................................................................................標(biāo)記........................................................................................72.5.2Petri網(wǎng)的觸發(fā)器2.5.3Petri網(wǎng)的路由...................................................................................92.5.4Petri網(wǎng)的發(fā)散和匯聚......................................................................103相關(guān)工作.............................................................................................................123.1工作流發(fā)展現(xiàn)狀........................................................................................123.2工作流研究領(lǐng)域........................................................................................144系統(tǒng)描述.............................................................................................................154.1系統(tǒng)功能描述............................................................................................154.2系統(tǒng)對外服務(wù)............................................................................................165系統(tǒng)設(shè)計.............................................................................................................185.1工作流管理系統(tǒng)架構(gòu)................................................................................185.1.1業(yè)務(wù)系統(tǒng)注冊服務(wù)..........................................................................195.1.2過程模型定義服務(wù)..........................................................................205.1.3工作流程監(jiān)控服務(wù)..........................................................................225.1.4通用功能接口服務(wù)..........................................................................235.1.5統(tǒng)一工作平臺服務(wù)..........................................................................235.2部件功能解析............................................................................................245.2.1工作流執(zhí)行服務(wù)部件......................................................................245.2.2工作流功能服務(wù)部件......................................................................245.2.3業(yè)務(wù)系統(tǒng)應(yīng)用部件5.3工作流引擎詳解5.3.1任務(wù)調(diào)度策略..................................................................................Petri網(wǎng)調(diào)度算法...................................................................調(diào)度實例說明.......................................................................275.3.2對流程模型的支持..........................................................................30固定流程支持.......................................................................30自由流程支持.......................................................................3嵌套流程支持.......................................................................355.3.3任務(wù)表管理器..................................................................................376系統(tǒng)實現(xiàn).............................................................................................................386.1數(shù)據(jù)庫設(shè)計...............................................................................................386.1.1模型定義數(shù)據(jù)..................................................................................396.1.2模型引用數(shù)據(jù)..................................................................................406.1.3實例靜態(tài)數(shù)據(jù)..................................................................................406.1.4實例動態(tài)數(shù)據(jù)..................................................................................416.2圖形建模工具............................................................................................426.2.1VML和SVG的比較......................................................................436.2.2輸出文件格式說明..........................................................................446.3過程模型轉(zhuǎn)換器........................................................................................466.3.1DM轉(zhuǎn)換器6.3.2MD轉(zhuǎn)換器6.4工作流引擎核心代碼分析.........................................................................496.4.1FindTransitionsCanBeEnabled..........................................................496.4.2EnableATransition............................................................................506.4.3FireAnEnabledTransition..................................................................516.4.4PushAnEnabledTransitionToWorkitem..............................................526.4.5InstantiateAWorkflow.......................................................................536.4.6CommitATransition..........................................................................556.4.7GetWorkitemFromEngine.................................................................566.4.8CommitAWorkitem..........................................................................567結(jié)束語.................................................................................................................59參考文獻(xiàn)................................................................................................................61作者在讀期間參與科研及論文發(fā)表情況................................................................64獨創(chuàng)性聲明............................................................................................................65致謝.......................................................................................................................661緒論1.1工作流的起源工作流技術(shù)起源于二十世紀(jì)七十年代中期辦公自動化領(lǐng)域的研究,由于當(dāng)時計算機(jī)尚未普及,網(wǎng)絡(luò)技術(shù)水平還很低以及理論基礎(chǔ)匱乏,這項新技術(shù)并未取得成功。1983年至1985年間,在圖像處理領(lǐng)域和電子郵件領(lǐng)域出現(xiàn)了早期的含有工作流特征的商用系統(tǒng)。進(jìn)入九十年代以后,隨著個人計算機(jī)、網(wǎng)絡(luò)技術(shù)的普及和推廣,以及信息化建設(shè)的日益完善,使得工作流技術(shù)的研究與開發(fā)進(jìn)入了一個新的熱潮。1993年8月,第一個工作流技術(shù)標(biāo)準(zhǔn)化的工業(yè)組織——工作流管理聯(lián)盟(WorkflowManagementCoalition,簡稱WFMC,下同)成立。1994年,工作流管理聯(lián)盟發(fā)布了用于工作流管理系統(tǒng)之間互操作的工作流參考模型,并相繼制定了一系列工業(yè)標(biāo)準(zhǔn)。與此同時,關(guān)于工作流技術(shù)的學(xué)術(shù)研究也十分活躍,許多原型系統(tǒng)在實驗室里開發(fā)出來。進(jìn)入二十一世紀(jì)以來,工作流技術(shù)已被越來越多的人認(rèn)可,與之相關(guān)的標(biāo)準(zhǔn)規(guī)范、工作流引擎及商業(yè)產(chǎn)品不勝枚舉。人們在開發(fā)推廣工作流產(chǎn)品的同時,更加注重工作流的理論研究,以推動該項技術(shù)走向成熟。1.2本文結(jié)構(gòu)安排本文后面內(nèi)容將按如下章節(jié)編排:第二部分基礎(chǔ)理論部分將對工作流及工作流管理系統(tǒng)的概念、模型等信息和Petri網(wǎng)相關(guān)基礎(chǔ)知識進(jìn)行解釋;第三部分相關(guān)工作章節(jié)簡述了工作流的發(fā)展現(xiàn)狀以及工作流的研究領(lǐng)域等;第四章是本文所涉及的工作流管理系統(tǒng)的系統(tǒng)功能描述,意在從系統(tǒng)需求的角度在功能層上介紹本工作流管理系統(tǒng);第五部分以本工作流管理系統(tǒng)的系統(tǒng)架構(gòu)為核心,分別從不同的角度對本工作流管理系統(tǒng)的系統(tǒng)設(shè)計思想作了詳細(xì)的說明;在第五部分的系統(tǒng)設(shè)計基礎(chǔ)之上,第六部分內(nèi)容對本工作流管理系統(tǒng)的各個主要功能部件進(jìn)行了關(guān)代碼進(jìn)行了說明。12基本理論2.1工作流“工作流”這個概念并不為大多數(shù)人所了解,即使是在專業(yè)的軟件開發(fā)人員中,“工作流”這三個字也是遠(yuǎn)遠(yuǎn)比不上DBMS這樣的術(shù)語為人熟悉和使用的程度,這并不是說工作流技術(shù)不及DBMS等技術(shù),只是說明了工作流技術(shù)相對于DBMS等成熟、穩(wěn)定的技術(shù)來說,還處于發(fā)展的初期。工作流的英文單詞是workflow,猶如大多數(shù)計算機(jī)領(lǐng)域的術(shù)語一樣,也是個合成詞,是英文單詞work和英文單詞flow的組合。Work翻譯為任務(wù)、工作等,flow則翻譯為流程、流動等。Flow反映的是一種事物的動態(tài)屬性或變化過程,例如水的流動被稱為水流,空氣的流動被稱為氣流,還有物料流、資金流等,在抽象領(lǐng)域還有信息流、控制流等,因此,使用任務(wù)、活動以及活動之間的變化過程表示業(yè)務(wù)流程就被稱為工作流。在企業(yè)實際應(yīng)用中,雖然工作流的概念相對于物料流、資金流、信息流等概念要抽象一些,但是工作流從更高的層次上提供了實現(xiàn)物料流、資金流、信息流及其涉及的相關(guān)過程與應(yīng)用的集成機(jī)制,從而使得企業(yè)能夠?qū)崿F(xiàn)業(yè)務(wù)過程繼承、業(yè)務(wù)過程自動化與業(yè)務(wù)過程的管理。在工作流概念下實現(xiàn)業(yè)務(wù)過程集成與業(yè)務(wù)過程自動化的繼承機(jī)制是通過定義不同任務(wù)之間相互關(guān)系的工作流模型(也稱為過程模型)來實現(xiàn)的。在工作流模型中,無論是具體的物料轉(zhuǎn)移動作、實際物理裝置的操作動作、還是抽象的信息處理動作與決策過程,都可以用工作流的基本組成元素——任務(wù)(也稱為活動)來統(tǒng)一地描述。同樣,反映不同任務(wù)之間的關(guān)系,無論是具體的車間中零件加工順序關(guān)系、辦公自動化中的文件批轉(zhuǎn)、還是抽象的決策流之間的關(guān)系都可以用工作流的基本組成元素——連接弧來統(tǒng)一地進(jìn)行描述。連接弧反映了對企業(yè)業(yè)務(wù)經(jīng)營過程的一種控制邏輯,它定義了活動之間的連接關(guān)系和執(zhí)行順序。工作流尚沒有一個統(tǒng)一的、明確的定義,不同的組織和研究人員對工作流給出了各自的定義:2定義1:工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。定義2:工作流是將一組任務(wù)組織起來完成某個經(jīng)營過程。在工作流中定義了任務(wù)的觸發(fā)順序和觸發(fā)條件。每個任務(wù)可以由一個或多個軟件系統(tǒng)完成,也可以由一個或一組人完成,還可以是由一個或多個人與軟件系統(tǒng)協(xié)作完成。任務(wù)的觸發(fā)順序和觸發(fā)條件用來定義并實現(xiàn)任務(wù)的觸發(fā)、任務(wù)的同步和信息流(數(shù)據(jù)流)的傳遞。定義3:工作流是一個用來實施經(jīng)營過程實踐的機(jī)制。定義4:工作流是經(jīng)營過程的一種計算機(jī)化的表示模型,定義了完成整個過程所需要的各種參數(shù)。這些參數(shù)包括對過程中每一個步驟的定義、步驟間的執(zhí)行順序、條件以及數(shù)據(jù)流的建立、每一步驟由誰負(fù)責(zé)以及每個活動所需要的應(yīng)用程序。以上這些工作流的定義,雖然在表述方式上有所不同,但是基本上說明了這樣一個問題,即工作流是經(jīng)營過程的一個計算機(jī)實現(xiàn)。使用工作流作為經(jīng)營過程的實現(xiàn)技術(shù)首先要求工作流系統(tǒng)能夠反映經(jīng)營過程的如下幾個方面問題:1.經(jīng)營過程是什么,即由哪些活動、任務(wù)組成,也就是結(jié)構(gòu)上的定義;2.怎么做,即活動間的執(zhí)行條件、規(guī)則以及所交互的信息,也就是控制流與信息流的定義;3.由誰來做,即人或者計算機(jī)應(yīng)用程序,也就是組織角色的定義;4.做得怎樣,即通過工作流管理系統(tǒng)對執(zhí)行過程進(jìn)行監(jiān)控。2.2工作流參考模型隨著對工作流產(chǎn)品需求的不斷擴(kuò)大,許多公司紛紛推出了不同的工作流產(chǎn)品。3的工作流產(chǎn)品從術(shù)語的定義和使用、系統(tǒng)結(jié)構(gòu)的設(shè)計到與應(yīng)用之間的接口規(guī)范上都存在較大的差異,導(dǎo)致這些產(chǎn)品之間、產(chǎn)品與其它應(yīng)用之間的集成十分困難。按照對系統(tǒng)開放性的要求,這些工作流系統(tǒng)和產(chǎn)品的規(guī)范化程度和開放性不夠,導(dǎo)致它們之間不能夠?qū)崿F(xiàn)互操作。工作流管理系統(tǒng)互操作是指兩個或多個工作流機(jī)之間通訊和協(xié)作工作的能力,具有通訊和協(xié)作的能力就稱為可以互操作,否則就稱為不能互操作。不同工作流管理系統(tǒng)之間不能互操作這種情況給開發(fā)商和用戶都帶來了很大的不方便,也在一定程度上阻礙了工作流管理系統(tǒng)的推廣和發(fā)展。為了能夠更好的支持企業(yè)經(jīng)營建模、分析和實施,適應(yīng)世界市場的多元化趨勢,需要建立工作流管理系統(tǒng)的相關(guān)標(biāo)準(zhǔn),從系統(tǒng)結(jié)構(gòu)、術(shù)語使用、接口實施方面提供標(biāo)準(zhǔn)化與規(guī)范化的定義,并以此為基礎(chǔ)實現(xiàn)不同工作流產(chǎn)品之間的互操作,方便于其它應(yīng)用系統(tǒng)的集成。在建立工作流的相關(guān)規(guī)范和標(biāo)準(zhǔn)方面,WFMC就是這樣的一個國際組織。它提出了有關(guān)工作流管理系統(tǒng)的一些規(guī)范,定義了工作流管理系統(tǒng)的結(jié)構(gòu)及其與應(yīng)用、管理工具和其它工作流管理系統(tǒng)之間的應(yīng)用編程接口,其主要目的是為了實現(xiàn)工作流技術(shù)的標(biāo)準(zhǔn)化和開發(fā)性,從而支持異構(gòu)工作流管理系統(tǒng)與產(chǎn)品之間的互操作,并且使得其它的應(yīng)用可以使用該結(jié)構(gòu)和定義好的通用API(應(yīng)用編程接口)訪問不同的工作流管理系統(tǒng)提供的服務(wù),實現(xiàn)與其它應(yīng)用的快速有效集成。WFMC在工作流的相關(guān)規(guī)范和標(biāo)準(zhǔn)方面做出的主要貢獻(xiàn)之一就是提出了一個工作流參考模型(WorkflowReferenceModel)。工作流參考模型來源于對普通工作流程序結(jié)構(gòu)的分析,確定結(jié)構(gòu)中的接口,這些接口可以使不同產(chǎn)品在不同的結(jié)構(gòu)層次上協(xié)同工作。所有工作流系統(tǒng)都包含一系列的公共組件,組件間采用一套被定義好的方法進(jìn)行協(xié)作;不同的產(chǎn)品在這些公共的組件中,會表現(xiàn)出不同的處理能力。為了實現(xiàn)不同工作流產(chǎn)品間的協(xié)同工作,需要在這些組件間制定一套標(biāo)準(zhǔn)的接口和數(shù)據(jù)交換格式。通過實現(xiàn)這些標(biāo)準(zhǔn)接口,可以達(dá)到產(chǎn)品間的協(xié)同工作。圖1描述了WFMC提出的工作流參考模型的主要組件和接口。4圖1:WFMC工作流參考模型——組件與接口過程定義工具:以計算機(jī)能處理的形式進(jìn)行過程定義,現(xiàn)在的大多數(shù)過程定義工具采用了圖形方式,過程設(shè)計者通過繪圖方式來創(chuàng)建過程模型,最后輸出一個XPDL文件,有的過程定義工具還有分析、檢測功能,幫助設(shè)計者設(shè)計出良好的過程模型。工作流執(zhí)行服務(wù):由一個或多個工作流引擎組成,提供過程實例的執(zhí)行,為活動進(jìn)行導(dǎo)航,與外界資源交互完成各項活動,維護(hù)控制數(shù)據(jù)和相關(guān)數(shù)據(jù)等功能。工作流客戶端應(yīng)用:提供用戶操作工作流管理系統(tǒng)分配來的任務(wù),由工作流任務(wù)表管理器和任務(wù)操作共同完成。工作流任務(wù)表管理器是一個軟件模塊,負(fù)責(zé)管理工作流的任務(wù)表,并完成與工作流參與者的交互操作。工作流引擎直接調(diào)用應(yīng)用:在工作流任務(wù)執(zhí)行過程中,一些不需要人員參與的活動會直接調(diào)用一些應(yīng)用。在簡單的情況下,工作流引擎使用過程模型中定義的活5息傳遞。系統(tǒng)管理和監(jiān)控工具:對工作流在整個組織內(nèi)的流程情況進(jìn)行監(jiān)控,并提供一系列管理功能,實現(xiàn)安全性、過程控制、授權(quán)等操作。典型的功能范圍包括用戶管理、角色管理、監(jiān)控管理、資源管理、過程監(jiān)控管理。具體如:過程模型的實例化,啟動、掛起、恢復(fù)、終止過程實例;管理正在執(zhí)行的過程實例等。工作流定義轉(zhuǎn)換(接口1):在建?;蚨x工具與運行時期工作流管理軟件間的接口。工作流客戶端應(yīng)用程序接口(接口2):客戶端工作流應(yīng)用程序與工作流機(jī)之間的通信API。應(yīng)用程序調(diào)用接口(接口3):工作流機(jī)直接調(diào)用應(yīng)用程序或應(yīng)用程序代理的API,是工作流系統(tǒng)同應(yīng)用系統(tǒng)通信的主要接口之一。WAPI協(xié)作功能接口(接口4):工作流機(jī)同工作流機(jī)之間的通信接口,是構(gòu)成分布式工作流管理系統(tǒng)的主要功能接口之一。管理和監(jiān)控接口(接口5):提供對工作流機(jī)狀態(tài)以及工作流運行實例的監(jiān)控和管理的接口。2.3工作流管理系統(tǒng)工作流管理是在迅速發(fā)展的技術(shù),它在不同的行業(yè)已經(jīng)得到了應(yīng)用。工作流管理技術(shù)與工作流管理系統(tǒng)得到廣泛重視的一個重要原因是它能夠在信息技術(shù)的支持下實現(xiàn)基于人工和計算機(jī)活動組成的業(yè)務(wù)過程的自動化,它可以實現(xiàn)不同自動化程度(人工操作、半自動化、自動化過程)的規(guī)范化業(yè)務(wù)管理功能,具有良好的適應(yīng)性。因此,雖然工作流管理最早是在辦公自動化領(lǐng)域開始進(jìn)行應(yīng)用的,它在工業(yè)領(lǐng)域的應(yīng)用同樣取得了顯著的成果,尤其是在制造領(lǐng)域得到了廣泛的應(yīng)用。工作流管理系統(tǒng)——WorkflowManagementSystem(簡稱WFMS),定義基礎(chǔ)上,具有如下定義。6定義1:工作流管理系統(tǒng)是一個軟件系統(tǒng),它完成工作流的定義和管理,并按照在計算機(jī)中預(yù)先定義好的工作流邏輯推進(jìn)工作流實例的執(zhí)行。定義2:工作流管理系統(tǒng)是支持企業(yè)經(jīng)營過程高效執(zhí)行并監(jiān)控其執(zhí)行過程的計算機(jī)軟件系統(tǒng)。根據(jù)工作流管理系統(tǒng)的定義,一個工作流管理系統(tǒng)應(yīng)該提供如下的功能:1.定義、實現(xiàn)和管理工作流的運行;2.與工作流執(zhí)行者,即人或應(yīng)用系統(tǒng),進(jìn)行交互;3.推進(jìn)工作流實例的執(zhí)行;4.監(jiān)控工作流的運行狀態(tài)。需要指出的是,工作流管理系統(tǒng)不是企業(yè)的業(yè)務(wù)系統(tǒng)。在很大程度上,工作流管理系統(tǒng)為企業(yè)的業(yè)務(wù)系統(tǒng)運行提供了一個軟件支撐環(huán)境,非常類似于在單個計算機(jī)上的操作系統(tǒng)。只不過工作流管理系統(tǒng)支撐的范圍比較大、環(huán)境比較復(fù)雜而以,所以也有人稱工作流管理系統(tǒng)是業(yè)務(wù)操作系統(tǒng)。在工作流管理系統(tǒng)的支撐下,通過集成具體的業(yè)務(wù)應(yīng)用軟件和操作人員的界面操作,才能夠良好地完成對企業(yè)經(jīng)營過程運行的支持。所以,工作流管理系統(tǒng)在一個企業(yè)或部門的經(jīng)營過程中的應(yīng)用過程是一個業(yè)務(wù)應(yīng)用軟件系統(tǒng)的集成與實施過程。工作流管理系統(tǒng)可以用來定義與執(zhí)行不同覆蓋范圍(單個工作者、部門、全企業(yè)、企業(yè)間)、不同時間跨度(分鐘、小時、天、月)的經(jīng)營過程。這完全取決于實際應(yīng)用背景的需求。按照經(jīng)營過程以及組成活動的復(fù)雜程度的不同,工作流管理系統(tǒng)可以采取許多種實施方式,在不同的實施方式中,所應(yīng)用的信息技術(shù)、通信技術(shù)和支撐系統(tǒng)結(jié)構(gòu)會有很大的差別。工作流管理系統(tǒng)的實際運行環(huán)境可以是在一個工作組內(nèi)部或者在全企業(yè)的所有業(yè)務(wù)部門。72.4工作流管理系統(tǒng)架構(gòu)圖2:WFMC提出的通用工作流管理系統(tǒng)產(chǎn)品架構(gòu)2.4.1工作流管理系統(tǒng)組成部分圖2為WFMC提出的工作流管理系統(tǒng)產(chǎn)品架構(gòu)。這個架構(gòu)給出了抽象的工1看出,工作流管理系統(tǒng)主要由三部分組成:軟件構(gòu)件:完成工作流管理系統(tǒng)不同組成部分功能的實現(xiàn),包括過程建模工具,工作流引擎,任務(wù)表管理器和用戶界面;系統(tǒng)控制數(shù)據(jù):工作流管理系統(tǒng)中的一個或多個軟件構(gòu)件使用的數(shù)據(jù),包括過程定義,組織/角色模型數(shù)據(jù),工作流控制數(shù)據(jù),工作流相關(guān)數(shù)據(jù),任務(wù)表;應(yīng)用與應(yīng)用數(shù)據(jù):對于工作流管理系統(tǒng)來說,它們不是工作流管理系統(tǒng)的組成部分,而是屬于外部系統(tǒng)和數(shù)據(jù),它們被工作流管理系統(tǒng)調(diào)用來完成整個或部分工作流管理的功能,如被工作流管理系統(tǒng)調(diào)用的外部應(yīng)用以及這些應(yīng)用操作的數(shù)據(jù)。2.4.2工作流管理系統(tǒng)組件說明過程建模工具:過程建模工具被用來創(chuàng)建計算機(jī)可處理的業(yè)務(wù)過程描述。它可以是形式化的過程定義語言或?qū)ο箨P(guān)系模型,也可以是簡單地規(guī)定用戶間信息傳輸?shù)囊唤M路由命令。組織/角色模型:包含了組織結(jié)構(gòu)和組織中角色的信息。這些信息往往與流程定義信息緊密相關(guān)。工作流執(zhí)行系統(tǒng)和工作流引擎:工作流執(zhí)行系統(tǒng)也稱為過程執(zhí)行環(huán)境,包括一個或多個工作流引擎。工作流引擎是WFMS的核心軟件。它的功能包括:解釋過程定義;創(chuàng)建過程實例并控制其執(zhí)行;調(diào)度各項活動;為用戶工作表添加工作項;通過應(yīng)用程序接口(API)調(diào)用應(yīng)用程序;提供監(jiān)督和管理功能等。工作流執(zhí)行子系統(tǒng)可以包括多個工作流引擎,不同工作流引擎通過協(xié)作共同執(zhí)行工作流。工作流控制數(shù)據(jù):被工作流執(zhí)行系統(tǒng)和工作流引擎管理的系統(tǒng)數(shù)據(jù),如工作流實例的狀態(tài)信息、每一活動的狀態(tài)信息等。工作流相關(guān)數(shù)據(jù):指與業(yè)務(wù)過程流程相關(guān)的數(shù)據(jù)。WFMS2數(shù)據(jù)既可以被工作流引擎使用,也可以被應(yīng)用程序調(diào)用。是一段工作流引擎和應(yīng)用系統(tǒng)共享的數(shù)據(jù)區(qū)。工作列表:流程執(zhí)行中,當(dāng)需要用戶的交互時,工作流引擎便將工作項放置到由任務(wù)表管理器管理的工作列表中,通過任務(wù)表管理器實現(xiàn)與用戶的交互。應(yīng)用程序和應(yīng)用數(shù)據(jù):應(yīng)用程序可以直接被WFMS調(diào)用或通過應(yīng)用程序代理被間接調(diào)用。通過應(yīng)用程序調(diào)用,WFMS部分或完全自動地完成一個活動,或者對業(yè)務(wù)參與者的工作提供支持。與工作流控制數(shù)據(jù)和相關(guān)數(shù)據(jù)不同,應(yīng)用數(shù)據(jù)對應(yīng)用程序來講是局部數(shù)據(jù),對WFMS的其它部件來說是不可見的。2.5Petri網(wǎng)Petri網(wǎng)是一個圖形化的數(shù)學(xué)建模工具。一方面可以利用圖形化的方式來描述工作流過程,另一方面可以通過形式化的分析技術(shù)檢查工作流模型的正確與否,甚至對其進(jìn)行性能分析。Petri網(wǎng)定義成三元組,PN=(P,T,F),其中:
P={p1,p2,p3…pm}是庫所的有限非空集;
T={t1,t2,t3…tn}是變遷的有限非空集;
F=P×T∪T×P是有向弧的集合,P和T還滿足P∩T=?且P∪T≠?;3圖3:一個Petri網(wǎng)模型實例2.5.1Petri網(wǎng)的基本元素Petri網(wǎng)作為一個圖形化的建模工具,具有四種基本的圖元,任何一個Petri網(wǎng)模型都是由如下四種基本圖元組合形成的。這四種基本圖元是:(1)庫所(2)變遷(3)弧(4)標(biāo)記圖4:Petri網(wǎng)基本圖元標(biāo)示庫所庫所使用圓圈表示。庫所是英文place的中文譯文,在英文中place地點、位置,大多數(shù)中文文獻(xiàn)中都將place4文后繼部分將使用庫所一詞來代表place,為了文章說明的方便,也會交替使用place和庫所,它們代表同樣的圖元。在后繼的文章中,也會使用P來表示庫所,使用Pi(i=1,2,3…)表示在一個Petri網(wǎng)模型中的某個具體的庫所。在Petri網(wǎng)中,庫所因其所處的位置的不同被劃分為三類,分別是:起始庫所、終止庫所、中間庫所。起始庫所,即startplace,在標(biāo)準(zhǔn)Petri網(wǎng)模型中有且僅有一個,它表示Petri網(wǎng)模型的唯一入口,模型實例將從該點開始并進(jìn)行流程推進(jìn)。起始庫所的特征是,沒有指向該庫所的外向弧,但可以有一個或多個從該庫所指向變遷的內(nèi)向弧。終止庫所,即endplace,在標(biāo)準(zhǔn)Petri網(wǎng)模型中有且僅有一個,它表示Petri網(wǎng)模型的唯一出口,模型實例將在該點結(jié)束流程。終止庫所的特征是,沒有從該庫所指向變遷的內(nèi)向弧,但可以有一個或多個從變遷指向該庫所得外向弧。中間庫所,即intermediateplace,在標(biāo)準(zhǔn)Petri網(wǎng)模型中可以有0個或多個,它是除去起始庫所和終止庫所外的第三類庫所,通常,中間庫所起到的作用是連接變遷與變遷,中間庫所根據(jù)其相對于變遷的位置的不同又可以分為輸入庫所和輸出庫所兩種。當(dāng)存在一條內(nèi)向弧P->T時,我們稱P是T的輸入庫所。當(dāng)存在一條外向弧T->P時,我們稱P是T的輸出庫所。變遷變遷使用矩形表示。變遷是英文transition的中文譯文,在英文中transition意為轉(zhuǎn)換、轉(zhuǎn)變,大多數(shù)中文文獻(xiàn)中都將transition翻譯為變遷是比較形象、合理的,本文后繼部分將使用變遷一詞來代表transition,為了文章說明的方便,也會交替使用transition和變遷,它們代表同樣的圖元。在后繼的文章中,也會使用T來表示變遷,使用Ti(i=1,2,3…)表示在一個Petri網(wǎng)模型中的某個具體變遷。例中可能存在的狀態(tài)。一個變遷在模型實例中可能存在三種狀態(tài),分別是:5就緒態(tài)和激發(fā)態(tài)。常態(tài),或者說是未就緒態(tài),處于該狀態(tài)的變遷是指那些尚不滿足被調(diào)度的條件的變遷。就緒態(tài),就緒態(tài)的變遷是指那些已具備了被調(diào)度的條件的變遷,這里的被調(diào)度的條件是指該變遷的所有輸入庫所中都至少獲得了一個token,這將在工作流引擎調(diào)度策略章節(jié)詳細(xì)分析。激發(fā)態(tài),激發(fā)態(tài)的變遷是指那些成為就緒態(tài)的變遷所對應(yīng)的任務(wù)實體被實際執(zhí)行后的變遷的狀態(tài)。嚴(yán)格來說,激發(fā)態(tài)并不是變遷的一種靜態(tài)狀態(tài),而是指處于就緒態(tài)的變遷所對應(yīng)的任務(wù)被實際執(zhí)行時刻的動態(tài)狀態(tài),這樣來說,一個就緒態(tài)的變遷所對應(yīng)的任務(wù)實體被實際執(zhí)行后變遷將處于激發(fā)態(tài),激發(fā)態(tài)只是個瞬間狀態(tài),進(jìn)入激發(fā)態(tài)的變遷即刻處于常態(tài),即進(jìn)入新的等待調(diào)度條件的狀態(tài)。圖5說明了變遷狀態(tài)的變更。等待激發(fā)圖5:變遷的運行時狀態(tài)遷移圖弧弧使用一條有向線段表示?;∈怯⑽腶rc的中文譯文,弧在Petri6到的作用是連接庫所和變遷,因為有弧的存在,一個Petri網(wǎng)的模型最終形成了一個有向圖。根據(jù)弧的方向是從庫所指向變遷還是從變遷指向庫所,弧可以分為兩類:內(nèi)向弧和外向弧。內(nèi)向弧是指從庫所指向變遷的弧,如圖。內(nèi)向弧是英文inwardarc的中文譯文。內(nèi)向弧通常使用P->T來表示,即從place指向transition的弧。外向弧是指從變遷指向庫所的弧,如圖。外向弧是英文outwardarc的中文譯文。外向弧通常使用T->P來表示,即從transition指向place的弧。這里需要說明的是,當(dāng)我們說外向和內(nèi)向時,我們是站在變遷即transition的角度來說明弧的方向的,因為transition在Petri網(wǎng)模型中是主要的元素,transition也將是工作流調(diào)度引擎進(jìn)行調(diào)度的主體,這將在后繼的文章中說明。標(biāo)記標(biāo)記在Petri網(wǎng)模型中使用小黑點來表示,標(biāo)記一詞是本文對token的翻譯,在大多數(shù)中文文獻(xiàn)中都沒有給出比較合適的翻譯,通常選擇了直接使用token一詞,應(yīng)該說在Petri網(wǎng)中token所起到的作用很難選擇一個合適的中文來描述。標(biāo)記不是Petri網(wǎng)靜態(tài)模型的元素,而是Petri網(wǎng)模型實例運行時的存在的元素。具體來說,在Petri網(wǎng)模型建模期間是不存在標(biāo)記的,只有當(dāng)該模型被工作流執(zhí)行引擎實例化并開始調(diào)度時存在的。標(biāo)記始終是存在于庫所中的,如果把庫所理解為一種容器,那么,庫所的作用就是用來裝標(biāo)記的。Petri網(wǎng)模型實例中標(biāo)記在所有庫所中的分布狀態(tài)就反映了一個Petri網(wǎng)模型實例的運行狀態(tài)。因此,token在Petri網(wǎng)中是一種運行時模型實例狀態(tài)信息的載體和標(biāo)記,這也是本文將token翻譯為標(biāo)記的直接原因。從這個角度來說,有些參考文獻(xiàn)引用網(wǎng)絡(luò)中的術(shù)語將Petri網(wǎng)中的token翻譯為令牌是不恰當(dāng)?shù)?,至少是不夠?zhǔn)確的,Petri網(wǎng)中的token從功能上來說是一種反映模型實例運行狀態(tài)的靜態(tài)實體,網(wǎng)絡(luò)中的令牌是一種處于移動中的動態(tài)實體。Petri網(wǎng)中的token的生存期只是在某個特定的place耗的過程,并不會出現(xiàn)token在不同的place中移動的情況。7體的解釋。2.5.2Petri網(wǎng)的觸發(fā)器從上文所闡述的變遷運行期狀態(tài)遷移中可以看出,變遷處于就緒態(tài)的時刻和變遷處于激發(fā)態(tài)的時刻是不同的。能夠引起一個處于就緒態(tài)的變遷向激發(fā)態(tài)遷移的事件被稱為一個“觸發(fā)器”。存在四種不同類型的觸發(fā)器。abcd圖6:petri網(wǎng)中變遷的四種觸發(fā)類型表示圖a)自動觸發(fā):任務(wù)一旦從常態(tài)遷移到了就緒態(tài)就馬上可以被激發(fā)。這種類型的觸發(fā)應(yīng)用于那些不需要人來交互的而是被應(yīng)用程序來執(zhí)行的任務(wù)。b)用戶觸發(fā):任務(wù)由人來觸發(fā),例如,用戶選擇一個處于就緒態(tài)的任務(wù)來執(zhí)行。在一個工作流管理系統(tǒng)中每個用戶都有一個任務(wù)輸入箱,這個輸入箱所包含的就是那些已經(jīng)就緒的可以被用戶執(zhí)行的任務(wù)實例,任務(wù)實例也稱為工作項(workitem)。用戶選擇并完成一個工作項的操作就是相關(guān)的任務(wù)實例的觸發(fā),同時工作流實例也將進(jìn)入流程的下一階段。c)HYPERLINK"/retype/zoom/5b9113ea6294dd88d0d26b46?pn=22&x=0&y=1116&raww=34&rawh=50&o=png_6_0_0_474_492_51_75_773.64_1092.6&type=pic&aimh=50&md5sum=c2554e276f15dfddc88898b3729c9a55&sign=958
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度馬鈴薯種薯品牌授權(quán)與推廣合同4篇
- 二零二五年度消防安全應(yīng)急物資儲備協(xié)議
- 二零二五版智能家居鋁合金門窗集成服務(wù)合同4篇
- 2025年度木材運輸與加工服務(wù)合同范本3篇
- 二零二五年度風(fēng)力發(fā)電項目承包合同范本3篇
- 二零二五版銀行間質(zhì)押式回購合同與貸款合同異同解析3篇
- 2025年度環(huán)保園區(qū)綠化苗木采購與可持續(xù)發(fā)展協(xié)議4篇
- 2025年度金融科技產(chǎn)品銷售代理合同樣本4篇
- 2025年度影視項目策劃制作合同4篇
- 2025年度工業(yè)用地安全租賃合同規(guī)范文本4篇
- (二統(tǒng))大理州2025屆高中畢業(yè)生第二次復(fù)習(xí)統(tǒng)一檢測 物理試卷(含答案)
- 影視作品價值評估-洞察分析
- 公司員工出差車輛免責(zé)協(xié)議書
- 2023年浙江杭州師范大學(xué)附屬醫(yī)院招聘聘用人員筆試真題
- 江蘇某小區(qū)園林施工組織設(shè)計方案
- 口腔執(zhí)業(yè)醫(yī)師定期考核試題(資料)帶答案
- 2024人教版高中英語語境記單詞【語境記單詞】新人教版 選擇性必修第2冊
- 能源管理總結(jié)報告
- 藥店醫(yī)保政策宣傳與執(zhí)行制度
- 勘察工作質(zhì)量及保證措施
- 體外膜肺氧合(ECMO)并發(fā)癥及護(hù)理
評論
0/150
提交評論