版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
四川大學軟件工程碩士學位論文題目基于WEB技術(shù)的工作流管理系統(tǒng)設(shè)計與實現(xiàn)作者劉福順完成日期2006年4月培養(yǎng)單位四川大學指導教師唐寧九教授專業(yè)計算機軟件與理論研究方向軟件工程授于學位日期年月日基于WEB技術(shù)的工作流管理系統(tǒng)設(shè)計與實現(xiàn)計算機軟件與理論專業(yè)研究生劉福順指導教師唐寧九工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則,文檔、信息或任務能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行。工作流管理系統(tǒng)是一個軟件系統(tǒng),它完成工作流的定義和管理,并按照在計算機中預先定義好的工作流邏輯推進工作流實例的執(zhí)行。一個完整的工作流管理系統(tǒng)是由工作流執(zhí)行部件、工作流功能部件和外部應用系統(tǒng)構(gòu)成的。工作流執(zhí)行部件,即工作流引擎,是工作流管理系統(tǒng)的核心。工作流引擎負責解釋過程定義、創(chuàng)建模型實例、調(diào)度模型實例任務、推進流程等功能。一個過程模型就是企業(yè)經(jīng)營過程中業(yè)務流程的一個抽象模型,當使用諸如Petri網(wǎng)這樣的形式語言來描述一個企業(yè)經(jīng)營過程時,就形成了過程定義。過程定義被工作流引擎解釋轉(zhuǎn)換為能被工作流引擎執(zhí)行的過程模型,創(chuàng)建運行時模型實例并依據(jù)特定的調(diào)度算法,例如經(jīng)典Petri網(wǎng)調(diào)度算法,對過程實例中的活動進行調(diào)度。工作流技術(shù)在企業(yè)中的應用范圍主要有兩類,一類是在以公文流轉(zhuǎn)為功能主體的辦公自動化系統(tǒng)中的應用,另一類則是為企業(yè)業(yè)務系統(tǒng)提供運行支撐平臺的工作流管理系統(tǒng)。不同的應用對工作流引擎的功能要求也是不同的,作為一個功能完善的工作流引擎,核心調(diào)度能力要靈活,同時要能夠支持常見的流程模型,例如:固定流程、自由流程以及嵌套流程等。本文論述的是一個基于WEB技術(shù)的工作流管理系統(tǒng)的設(shè)計與實現(xiàn),提出了一種將工作流技術(shù)應用于企業(yè)的工作流管理系統(tǒng)的通用架構(gòu),闡述了經(jīng)典petri網(wǎng)調(diào)度算法在工作流引擎中的應用與實現(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)的基本元素............................................................................庫所........................................................................................變遷........................................................................................弧............................................................................................標記........................................................................................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)對外服務............................................................................................165系統(tǒng)設(shè)計.............................................................................................................185.1工作流管理系統(tǒng)架構(gòu)................................................................................185.1.1業(yè)務系統(tǒng)注冊服務..........................................................................195.1.2過程模型定義服務..........................................................................205.1.3工作流程監(jiān)控服務..........................................................................225.1.4通用功能接口服務..........................................................................235.1.5統(tǒng)一工作平臺服務..........................................................................235.2部件功能解析............................................................................................245.2.1工作流執(zhí)行服務部件......................................................................245.2.2工作流功能服務部件......................................................................245.2.3業(yè)務系統(tǒng)應用部件5.3工作流引擎詳解5.3.1任務調(diào)度策略..................................................................................Petri網(wǎng)調(diào)度算法...................................................................調(diào)度實例說明.......................................................................275.3.2對流程模型的支持..........................................................................30固定流程支持.......................................................................30自由流程支持.......................................................................3嵌套流程支持.......................................................................355.3.3任務表管理器..................................................................................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參考文獻................................................................................................................61作者在讀期間參與科研及論文發(fā)表情況................................................................64獨創(chuàng)性聲明............................................................................................................65致謝.......................................................................................................................661緒論1.1工作流的起源工作流技術(shù)起源于二十世紀七十年代中期辦公自動化領(lǐng)域的研究,由于當時計算機尚未普及,網(wǎng)絡技術(shù)水平還很低以及理論基礎(chǔ)匱乏,這項新技術(shù)并未取得成功。1983年至1985年間,在圖像處理領(lǐng)域和電子郵件領(lǐng)域出現(xiàn)了早期的含有工作流特征的商用系統(tǒng)。進入九十年代以后,隨著個人計算機、網(wǎng)絡技術(shù)的普及和推廣,以及信息化建設(shè)的日益完善,使得工作流技術(shù)的研究與開發(fā)進入了一個新的熱潮。1993年8月,第一個工作流技術(shù)標準化的工業(yè)組織——工作流管理聯(lián)盟(WorkflowManagementCoalition,簡稱WFMC,下同)成立。1994年,工作流管理聯(lián)盟發(fā)布了用于工作流管理系統(tǒng)之間互操作的工作流參考模型,并相繼制定了一系列工業(yè)標準。與此同時,關(guān)于工作流技術(shù)的學術(shù)研究也十分活躍,許多原型系統(tǒng)在實驗室里開發(fā)出來。進入二十一世紀以來,工作流技術(shù)已被越來越多的人認可,與之相關(guā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ǔ)知識進行解釋;第三部分相關(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è)計思想作了詳細的說明;在第五部分的系統(tǒng)設(shè)計基礎(chǔ)之上,第六部分內(nèi)容對本工作流管理系統(tǒng)的各個主要功能部件進行了關(guān)代碼進行了說明。12基本理論2.1工作流“工作流”這個概念并不為大多數(shù)人所了解,即使是在專業(yè)的軟件開發(fā)人員中,“工作流”這三個字也是遠遠比不上DBMS這樣的術(shù)語為人熟悉和使用的程度,這并不是說工作流技術(shù)不及DBMS等技術(shù),只是說明了工作流技術(shù)相對于DBMS等成熟、穩(wěn)定的技術(shù)來說,還處于發(fā)展的初期。工作流的英文單詞是workflow,猶如大多數(shù)計算機領(lǐng)域的術(shù)語一樣,也是個合成詞,是英文單詞work和英文單詞flow的組合。Work翻譯為任務、工作等,flow則翻譯為流程、流動等。Flow反映的是一種事物的動態(tài)屬性或變化過程,例如水的流動被稱為水流,空氣的流動被稱為氣流,還有物料流、資金流等,在抽象領(lǐng)域還有信息流、控制流等,因此,使用任務、活動以及活動之間的變化過程表示業(yè)務流程就被稱為工作流。在企業(yè)實際應用中,雖然工作流的概念相對于物料流、資金流、信息流等概念要抽象一些,但是工作流從更高的層次上提供了實現(xiàn)物料流、資金流、信息流及其涉及的相關(guān)過程與應用的集成機制,從而使得企業(yè)能夠?qū)崿F(xiàn)業(yè)務過程繼承、業(yè)務過程自動化與業(yè)務過程的管理。在工作流概念下實現(xiàn)業(yè)務過程集成與業(yè)務過程自動化的繼承機制是通過定義不同任務之間相互關(guān)系的工作流模型(也稱為過程模型)來實現(xiàn)的。在工作流模型中,無論是具體的物料轉(zhuǎn)移動作、實際物理裝置的操作動作、還是抽象的信息處理動作與決策過程,都可以用工作流的基本組成元素——任務(也稱為活動)來統(tǒng)一地描述。同樣,反映不同任務之間的關(guān)系,無論是具體的車間中零件加工順序關(guān)系、辦公自動化中的文件批轉(zhuǎn)、還是抽象的決策流之間的關(guān)系都可以用工作流的基本組成元素——連接弧來統(tǒng)一地進行描述。連接弧反映了對企業(yè)業(yè)務經(jīng)營過程的一種控制邏輯,它定義了活動之間的連接關(guān)系和執(zhí)行順序。工作流尚沒有一個統(tǒng)一的、明確的定義,不同的組織和研究人員對工作流給出了各自的定義:2定義1:工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則,文檔、信息或任務能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行。定義2:工作流是將一組任務組織起來完成某個經(jīng)營過程。在工作流中定義了任務的觸發(fā)順序和觸發(fā)條件。每個任務可以由一個或多個軟件系統(tǒng)完成,也可以由一個或一組人完成,還可以是由一個或多個人與軟件系統(tǒng)協(xié)作完成。任務的觸發(fā)順序和觸發(fā)條件用來定義并實現(xiàn)任務的觸發(fā)、任務的同步和信息流(數(shù)據(jù)流)的傳遞。定義3:工作流是一個用來實施經(jīng)營過程實踐的機制。定義4:工作流是經(jīng)營過程的一種計算機化的表示模型,定義了完成整個過程所需要的各種參數(shù)。這些參數(shù)包括對過程中每一個步驟的定義、步驟間的執(zhí)行順序、條件以及數(shù)據(jù)流的建立、每一步驟由誰負責以及每個活動所需要的應用程序。以上這些工作流的定義,雖然在表述方式上有所不同,但是基本上說明了這樣一個問題,即工作流是經(jīng)營過程的一個計算機實現(xiàn)。使用工作流作為經(jīng)營過程的實現(xiàn)技術(shù)首先要求工作流系統(tǒng)能夠反映經(jīng)營過程的如下幾個方面問題:1.經(jīng)營過程是什么,即由哪些活動、任務組成,也就是結(jié)構(gòu)上的定義;2.怎么做,即活動間的執(zhí)行條件、規(guī)則以及所交互的信息,也就是控制流與信息流的定義;3.由誰來做,即人或者計算機應用程序,也就是組織角色的定義;4.做得怎樣,即通過工作流管理系統(tǒng)對執(zhí)行過程進行監(jiān)控。2.2工作流參考模型隨著對工作流產(chǎn)品需求的不斷擴大,許多公司紛紛推出了不同的工作流產(chǎn)品。3的工作流產(chǎn)品從術(shù)語的定義和使用、系統(tǒng)結(jié)構(gòu)的設(shè)計到與應用之間的接口規(guī)范上都存在較大的差異,導致這些產(chǎn)品之間、產(chǎn)品與其它應用之間的集成十分困難。按照對系統(tǒng)開放性的要求,這些工作流系統(tǒng)和產(chǎn)品的規(guī)范化程度和開放性不夠,導致它們之間不能夠?qū)崿F(xiàn)互操作。工作流管理系統(tǒng)互操作是指兩個或多個工作流機之間通訊和協(xié)作工作的能力,具有通訊和協(xié)作的能力就稱為可以互操作,否則就稱為不能互操作。不同工作流管理系統(tǒng)之間不能互操作這種情況給開發(fā)商和用戶都帶來了很大的不方便,也在一定程度上阻礙了工作流管理系統(tǒng)的推廣和發(fā)展。為了能夠更好的支持企業(yè)經(jīng)營建模、分析和實施,適應世界市場的多元化趨勢,需要建立工作流管理系統(tǒng)的相關(guān)標準,從系統(tǒng)結(jié)構(gòu)、術(shù)語使用、接口實施方面提供標準化與規(guī)范化的定義,并以此為基礎(chǔ)實現(xiàn)不同工作流產(chǎn)品之間的互操作,方便于其它應用系統(tǒng)的集成。在建立工作流的相關(guān)規(guī)范和標準方面,WFMC就是這樣的一個國際組織。它提出了有關(guān)工作流管理系統(tǒng)的一些規(guī)范,定義了工作流管理系統(tǒng)的結(jié)構(gòu)及其與應用、管理工具和其它工作流管理系統(tǒng)之間的應用編程接口,其主要目的是為了實現(xiàn)工作流技術(shù)的標準化和開發(fā)性,從而支持異構(gòu)工作流管理系統(tǒng)與產(chǎn)品之間的互操作,并且使得其它的應用可以使用該結(jié)構(gòu)和定義好的通用API(應用編程接口)訪問不同的工作流管理系統(tǒng)提供的服務,實現(xiàn)與其它應用的快速有效集成。WFMC在工作流的相關(guān)規(guī)范和標準方面做出的主要貢獻之一就是提出了一個工作流參考模型(WorkflowReferenceModel)。工作流參考模型來源于對普通工作流程序結(jié)構(gòu)的分析,確定結(jié)構(gòu)中的接口,這些接口可以使不同產(chǎn)品在不同的結(jié)構(gòu)層次上協(xié)同工作。所有工作流系統(tǒng)都包含一系列的公共組件,組件間采用一套被定義好的方法進行協(xié)作;不同的產(chǎn)品在這些公共的組件中,會表現(xiàn)出不同的處理能力。為了實現(xiàn)不同工作流產(chǎn)品間的協(xié)同工作,需要在這些組件間制定一套標準的接口和數(shù)據(jù)交換格式。通過實現(xiàn)這些標準接口,可以達到產(chǎn)品間的協(xié)同工作。圖1描述了WFMC提出的工作流參考模型的主要組件和接口。4圖1:WFMC工作流參考模型——組件與接口過程定義工具:以計算機能處理的形式進行過程定義,現(xiàn)在的大多數(shù)過程定義工具采用了圖形方式,過程設(shè)計者通過繪圖方式來創(chuàng)建過程模型,最后輸出一個XPDL文件,有的過程定義工具還有分析、檢測功能,幫助設(shè)計者設(shè)計出良好的過程模型。工作流執(zhí)行服務:由一個或多個工作流引擎組成,提供過程實例的執(zhí)行,為活動進行導航,與外界資源交互完成各項活動,維護控制數(shù)據(jù)和相關(guān)數(shù)據(jù)等功能。工作流客戶端應用:提供用戶操作工作流管理系統(tǒng)分配來的任務,由工作流任務表管理器和任務操作共同完成。工作流任務表管理器是一個軟件模塊,負責管理工作流的任務表,并完成與工作流參與者的交互操作。工作流引擎直接調(diào)用應用:在工作流任務執(zhí)行過程中,一些不需要人員參與的活動會直接調(diào)用一些應用。在簡單的情況下,工作流引擎使用過程模型中定義的活5息傳遞。系統(tǒng)管理和監(jiān)控工具:對工作流在整個組織內(nèi)的流程情況進行監(jiān)控,并提供一系列管理功能,實現(xiàn)安全性、過程控制、授權(quán)等操作。典型的功能范圍包括用戶管理、角色管理、監(jiān)控管理、資源管理、過程監(jiān)控管理。具體如:過程模型的實例化,啟動、掛起、恢復、終止過程實例;管理正在執(zhí)行的過程實例等。工作流定義轉(zhuǎn)換(接口1):在建?;蚨x工具與運行時期工作流管理軟件間的接口。工作流客戶端應用程序接口(接口2):客戶端工作流應用程序與工作流機之間的通信API。應用程序調(diào)用接口(接口3):工作流機直接調(diào)用應用程序或應用程序代理的API,是工作流系統(tǒng)同應用系統(tǒng)通信的主要接口之一。WAPI協(xié)作功能接口(接口4):工作流機同工作流機之間的通信接口,是構(gòu)成分布式工作流管理系統(tǒng)的主要功能接口之一。管理和監(jiān)控接口(接口5):提供對工作流機狀態(tài)以及工作流運行實例的監(jiān)控和管理的接口。2.3工作流管理系統(tǒng)工作流管理是在迅速發(fā)展的技術(shù),它在不同的行業(yè)已經(jīng)得到了應用。工作流管理技術(shù)與工作流管理系統(tǒng)得到廣泛重視的一個重要原因是它能夠在信息技術(shù)的支持下實現(xiàn)基于人工和計算機活動組成的業(yè)務過程的自動化,它可以實現(xiàn)不同自動化程度(人工操作、半自動化、自動化過程)的規(guī)范化業(yè)務管理功能,具有良好的適應性。因此,雖然工作流管理最早是在辦公自動化領(lǐng)域開始進行應用的,它在工業(yè)領(lǐng)域的應用同樣取得了顯著的成果,尤其是在制造領(lǐng)域得到了廣泛的應用。工作流管理系統(tǒng)——WorkflowManagementSystem(簡稱WFMS),定義基礎(chǔ)上,具有如下定義。6定義1:工作流管理系統(tǒng)是一個軟件系統(tǒng),它完成工作流的定義和管理,并按照在計算機中預先定義好的工作流邏輯推進工作流實例的執(zhí)行。定義2:工作流管理系統(tǒng)是支持企業(yè)經(jīng)營過程高效執(zhí)行并監(jiān)控其執(zhí)行過程的計算機軟件系統(tǒng)。根據(jù)工作流管理系統(tǒng)的定義,一個工作流管理系統(tǒng)應該提供如下的功能:1.定義、實現(xiàn)和管理工作流的運行;2.與工作流執(zhí)行者,即人或應用系統(tǒng),進行交互;3.推進工作流實例的執(zhí)行;4.監(jiān)控工作流的運行狀態(tài)。需要指出的是,工作流管理系統(tǒng)不是企業(yè)的業(yè)務系統(tǒng)。在很大程度上,工作流管理系統(tǒng)為企業(yè)的業(yè)務系統(tǒng)運行提供了一個軟件支撐環(huán)境,非常類似于在單個計算機上的操作系統(tǒng)。只不過工作流管理系統(tǒng)支撐的范圍比較大、環(huán)境比較復雜而以,所以也有人稱工作流管理系統(tǒng)是業(yè)務操作系統(tǒng)。在工作流管理系統(tǒng)的支撐下,通過集成具體的業(yè)務應用軟件和操作人員的界面操作,才能夠良好地完成對企業(yè)經(jīng)營過程運行的支持。所以,工作流管理系統(tǒng)在一個企業(yè)或部門的經(jīng)營過程中的應用過程是一個業(yè)務應用軟件系統(tǒng)的集成與實施過程。工作流管理系統(tǒng)可以用來定義與執(zhí)行不同覆蓋范圍(單個工作者、部門、全企業(yè)、企業(yè)間)、不同時間跨度(分鐘、小時、天、月)的經(jīng)營過程。這完全取決于實際應用背景的需求。按照經(jīng)營過程以及組成活動的復雜程度的不同,工作流管理系統(tǒng)可以采取許多種實施方式,在不同的實施方式中,所應用的信息技術(shù)、通信技術(shù)和支撐系統(tǒng)結(jié)構(gòu)會有很大的差別。工作流管理系統(tǒng)的實際運行環(huán)境可以是在一個工作組內(nèi)部或者在全企業(yè)的所有業(yè)務部門。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),包括過程建模工具,工作流引擎,任務表管理器和用戶界面;系統(tǒng)控制數(shù)據(jù):工作流管理系統(tǒng)中的一個或多個軟件構(gòu)件使用的數(shù)據(jù),包括過程定義,組織/角色模型數(shù)據(jù),工作流控制數(shù)據(jù),工作流相關(guān)數(shù)據(jù),任務表;應用與應用數(shù)據(jù):對于工作流管理系統(tǒng)來說,它們不是工作流管理系統(tǒng)的組成部分,而是屬于外部系統(tǒng)和數(shù)據(jù),它們被工作流管理系統(tǒng)調(diào)用來完成整個或部分工作流管理的功能,如被工作流管理系統(tǒng)調(diào)用的外部應用以及這些應用操作的數(shù)據(jù)。2.4.2工作流管理系統(tǒng)組件說明過程建模工具:過程建模工具被用來創(chuàng)建計算機可處理的業(yè)務過程描述。它可以是形式化的過程定義語言或?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)度各項活動;為用戶工作表添加工作項;通過應用程序接口(API)調(diào)用應用程序;提供監(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è)務過程流程相關(guān)的數(shù)據(jù)。WFMS2數(shù)據(jù)既可以被工作流引擎使用,也可以被應用程序調(diào)用。是一段工作流引擎和應用系統(tǒng)共享的數(shù)據(jù)區(qū)。工作列表:流程執(zhí)行中,當需要用戶的交互時,工作流引擎便將工作項放置到由任務表管理器管理的工作列表中,通過任務表管理器實現(xiàn)與用戶的交互。應用程序和應用數(shù)據(jù):應用程序可以直接被WFMS調(diào)用或通過應用程序代理被間接調(diào)用。通過應用程序調(diào)用,WFMS部分或完全自動地完成一個活動,或者對業(yè)務參與者的工作提供支持。與工作流控制數(shù)據(jù)和相關(guān)數(shù)據(jù)不同,應用數(shù)據(jù)對應用程序來講是局部數(shù)據(jù),對WFMS的其它部件來說是不可見的。2.5Petri網(wǎng)Petri網(wǎng)是一個圖形化的數(shù)學建模工具。一方面可以利用圖形化的方式來描述工作流過程,另一方面可以通過形式化的分析技術(shù)檢查工作流模型的正確與否,甚至對其進行性能分析。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:Petri網(wǎng)基本圖元標示庫所庫所使用圓圈表示。庫所是英文place的中文譯文,在英文中place地點、位置,大多數(shù)中文文獻中都將place4文后繼部分將使用庫所一詞來代表place,為了文章說明的方便,也會交替使用place和庫所,它們代表同樣的圖元。在后繼的文章中,也會使用P來表示庫所,使用Pi(i=1,2,3…)表示在一個Petri網(wǎng)模型中的某個具體的庫所。在Petri網(wǎng)中,庫所因其所處的位置的不同被劃分為三類,分別是:起始庫所、終止庫所、中間庫所。起始庫所,即startplace,在標準Petri網(wǎng)模型中有且僅有一個,它表示Petri網(wǎng)模型的唯一入口,模型實例將從該點開始并進行流程推進。起始庫所的特征是,沒有指向該庫所的外向弧,但可以有一個或多個從該庫所指向變遷的內(nèi)向弧。終止庫所,即endplace,在標準Petri網(wǎng)模型中有且僅有一個,它表示Petri網(wǎng)模型的唯一出口,模型實例將在該點結(jié)束流程。終止庫所的特征是,沒有從該庫所指向變遷的內(nèi)向弧,但可以有一個或多個從變遷指向該庫所得外向弧。中間庫所,即intermediateplace,在標準Petri網(wǎng)模型中可以有0個或多個,它是除去起始庫所和終止庫所外的第三類庫所,通常,中間庫所起到的作用是連接變遷與變遷,中間庫所根據(jù)其相對于變遷的位置的不同又可以分為輸入庫所和輸出庫所兩種。當存在一條內(nèi)向弧P->T時,我們稱P是T的輸入庫所。當存在一條外向弧T->P時,我們稱P是T的輸出庫所。變遷變遷使用矩形表示。變遷是英文transition的中文譯文,在英文中transition意為轉(zhuǎn)換、轉(zhuǎn)變,大多數(shù)中文文獻中都將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é)詳細分析。激發(fā)態(tài),激發(fā)態(tài)的變遷是指那些成為就緒態(tài)的變遷所對應的任務實體被實際執(zhí)行后的變遷的狀態(tài)。嚴格來說,激發(fā)態(tài)并不是變遷的一種靜態(tài)狀態(tài),而是指處于就緒態(tài)的變遷所對應的任務被實際執(zhí)行時刻的動態(tài)狀態(tài),這樣來說,一個就緒態(tài)的變遷所對應的任務實體被實際執(zhí)行后變遷將處于激發(fā)態(tài),激發(fā)態(tài)只是個瞬間狀態(tài),進入激發(fā)態(tài)的變遷即刻處于常態(tài),即進入新的等待調(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的弧。這里需要說明的是,當我們說外向和內(nèi)向時,我們是站在變遷即transition的角度來說明弧的方向的,因為transition在Petri網(wǎng)模型中是主要的元素,transition也將是工作流調(diào)度引擎進行調(diào)度的主體,這將在后繼的文章中說明。標記標記在Petri網(wǎng)模型中使用小黑點來表示,標記一詞是本文對token的翻譯,在大多數(shù)中文文獻中都沒有給出比較合適的翻譯,通常選擇了直接使用token一詞,應該說在Petri網(wǎng)中token所起到的作用很難選擇一個合適的中文來描述。標記不是Petri網(wǎng)靜態(tài)模型的元素,而是Petri網(wǎng)模型實例運行時的存在的元素。具體來說,在Petri網(wǎng)模型建模期間是不存在標記的,只有當該模型被工作流執(zhí)行引擎實例化并開始調(diào)度時存在的。標記始終是存在于庫所中的,如果把庫所理解為一種容器,那么,庫所的作用就是用來裝標記的。Petri網(wǎng)模型實例中標記在所有庫所中的分布狀態(tài)就反映了一個Petri網(wǎng)模型實例的運行狀態(tài)。因此,token在Petri網(wǎng)中是一種運行時模型實例狀態(tài)信息的載體和標記,這也是本文將token翻譯為標記的直接原因。從這個角度來說,有些參考文獻引用網(wǎng)絡中的術(shù)語將Petri網(wǎng)中的token翻譯為令牌是不恰當?shù)模辽偈遣粔驕蚀_的,Petri網(wǎng)中的token從功能上來說是一種反映模型實例運行狀態(tài)的靜態(tài)實體,網(wǎng)絡中的令牌是一種處于移動中的動態(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ā):任務一旦從常態(tài)遷移到了就緒態(tài)就馬上可以被激發(fā)。這種類型的觸發(fā)應用于那些不需要人來交互的而是被應用程序來執(zhí)行的任務。b)用戶觸發(fā):任務由人來觸發(fā),例如,用戶選擇一個處于就緒態(tài)的任務來執(zhí)行。在一個工作流管理系統(tǒng)中每個用戶都有一個任務輸入箱,這個輸入箱所包含的就是那些已經(jīng)就緒的可以被用戶執(zhí)行的任務實例,任務實例也稱為工作項(workitem)。用戶選擇并完成一個工作項的操作就是相關(guān)的任務實例的觸發(fā),同時工作流實例也將進入流程的下一階段。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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024獨家商業(yè)合作協(xié)議書例文版B版
- 2024版餐飲酒水供應協(xié)議3篇
- 《冬季安全知識培訓》課件
- 新能源銷售知識培訓課件
- 2025年度土地流轉(zhuǎn)及農(nóng)業(yè)產(chǎn)業(yè)化合作合同3篇
- 輔警法律知識培訓課件
- 2024短視頻平臺與廣告代理公司戰(zhàn)略合作協(xié)議
- 2024門窗銷售渠道拓展及代理合作協(xié)議范本3篇
- 2025年度GRC構(gòu)件環(huán)保認證采購合同3篇
- 2024游艇銷售及售后服務投訴處理合同范本3篇
- 2025年采購部工作計劃
- 《防范于心反詐于行》中小學防范電信網(wǎng)絡詐騙知識宣傳課件
- 江蘇某小區(qū)園林施工組織設(shè)計方案
- 勘察工作質(zhì)量及保證措施
- 體外膜肺氧合(ECMO)并發(fā)癥及護理
- 墊江縣中醫(yī)院2018年11月份臨床技能中心教學設(shè)備招標項目招標文件
- 排放源統(tǒng)計(環(huán)統(tǒng))年報填報指南
- 反射療法師理論考試復習題及答案
- 房地產(chǎn)銷售主管崗位招聘筆試題及解答(某大型國企)2025年
- 心電圖并發(fā)癥預防及處理
- 重慶市七中學2023-2024學年數(shù)學八上期末統(tǒng)考模擬試題【含解析】
評論
0/150
提交評論