



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
可支持多語(yǔ)言的工作流動(dòng)態(tài)演進(jìn)4800字工作流管理系統(tǒng)(WorkflowManagementSystem,WFMS)就是通過(guò)管理一系列的工作活動(dòng)以及相關(guān)人員、資源、信息技術(shù)資料來(lái)提供業(yè)務(wù)處理程序上的自動(dòng)控制,其最大優(yōu)點(diǎn)就是實(shí)現(xiàn)具體應(yīng)用邏輯和過(guò)程邏輯的別離,實(shí)現(xiàn)在不修改具體功能的情況下,通過(guò)修改業(yè)務(wù)流程模板來(lái)改變系統(tǒng)的功能,完成對(duì)組織生產(chǎn)經(jīng)營(yíng)過(guò)程的局部業(yè)務(wù)或全部業(yè)務(wù)的集成管理,有效地把人力資源、物質(zhì)資源和信息組織在一起,發(fā)揮最大的效能。對(duì)業(yè)務(wù)過(guò)程的強(qiáng)大支持是企業(yè)獲得成功的一個(gè)關(guān)鍵因素,工作流管理系統(tǒng)正是用來(lái)調(diào)整業(yè)務(wù)流程及實(shí)現(xiàn)業(yè)務(wù)過(guò)程自動(dòng)化的軟件系統(tǒng)。工作流管理系統(tǒng)并不是企業(yè)的業(yè)務(wù)系統(tǒng),其本身并不執(zhí)行任何業(yè)務(wù)邏輯,它只為業(yè)務(wù)系統(tǒng)提供一個(gè)運(yùn)行環(huán)境。
1.工作流系統(tǒng)可分為業(yè)務(wù)過(guò)程定義和業(yè)務(wù)過(guò)程執(zhí)行兩局部,定義局部稱(chēng)為流原型(WFT),執(zhí)行單元稱(chēng)為工作流實(shí)例(WFI),一組工作流原型稱(chēng)為工作流元模型(workflowmeta-mode),可以通過(guò)工作流元模型來(lái)描述工作流模型。元模型用抽象的語(yǔ)義描述了WFT所需的上層實(shí)體,并定義了如何表示W(wǎng)FT,其中一種元模型可以看作是一種工作流定義語(yǔ)言。定義語(yǔ)言、WFT、WFI的概念比擬難以理解,可分別同C語(yǔ)言、C程序、C程序進(jìn)程進(jìn)行類(lèi)比。業(yè)務(wù)流程是企業(yè)應(yīng)用中最活潑的局部,很難在設(shè)計(jì)階段就提供完美的WFT以適應(yīng)各種情況,因此工作流管理系統(tǒng)必須具備演進(jìn)的能力。也就是說(shuō),即使實(shí)例已經(jīng)在運(yùn)行當(dāng)中,也可以修改其定義,但任何修改都要保證模型與實(shí)例的正確性。一般情況下,如果沒(méi)有正在運(yùn)行的實(shí)例,則對(duì)WFT的改動(dòng)將不會(huì)帶來(lái)什么問(wèn)題。
但如果一個(gè)正在被其他WFT所引用的WFT被刪除時(shí),整個(gè)工作流模型便失效了;如果WFT的改變與正在執(zhí)行實(shí)例發(fā)生沖突的話,實(shí)例也就無(wú)效了。在實(shí)際生產(chǎn)生活中,工作流實(shí)例經(jīng)常有一個(gè)較長(zhǎng)的運(yùn)行周期,因此工作流管理系統(tǒng)必須支持運(yùn)行實(shí)例的修改,也就是在運(yùn)行期間動(dòng)態(tài)演進(jìn)WFT。關(guān)于工作流的動(dòng)態(tài)演進(jìn)問(wèn)題,目前提出的解決計(jì)劃有工作原型版本化(WFTversioning)以及工作流實(shí)例遷移(migrationofWFT)。一個(gè)版本代表了演進(jìn)實(shí)體的一個(gè)狀態(tài),當(dāng)流程發(fā)生改變時(shí)不是直接修改WFT,而是給出該WFT的一個(gè)新版本,通過(guò)運(yùn)用一系列定義良好的修改操作,使新版本繼承自源版本,然后通過(guò)遷移算法使正在執(zhí)行中的實(shí)例依據(jù)WFT的新版本繼續(xù)執(zhí)行。這種辦法雖然解決了動(dòng)態(tài)演進(jìn)問(wèn)題,但修改操作及遷移算法都綁定于特定的工作流定義語(yǔ)言,這意味著一旦定義語(yǔ)言改變,那么修改操作及遷移算法都不得不重新實(shí)現(xiàn),因此工作流管理系統(tǒng)應(yīng)具備處理不同定義語(yǔ)言的能力。本文將首先討論如何實(shí)現(xiàn)工作流管理系統(tǒng)的定義語(yǔ)言無(wú)關(guān)性,在此根底上提出了一個(gè)WFT動(dòng)態(tài)演進(jìn)的計(jì)劃,并設(shè)計(jì)了一個(gè)組件,它為特定的工作流管理系統(tǒng)提供演進(jìn)支持,同時(shí)可兼容于不同的元模型(定義語(yǔ)言)。
2實(shí)現(xiàn)工作流
管理系統(tǒng)的定義語(yǔ)言無(wú)關(guān)性工作流是由工作流定義語(yǔ)言進(jìn)行描述的,目前存在許多定義語(yǔ)言,各種語(yǔ)言對(duì)工作流中相同的語(yǔ)義有著不同的描述。由于不足統(tǒng)一的規(guī)范,很難使WFT在不同的WFMS之間移植。每種定義語(yǔ)言都有一套自己的概念和結(jié)構(gòu),由WFMS解釋這些概念和結(jié)構(gòu),一旦改變定義語(yǔ)言,那么WFMS的相當(dāng)一局部都要重寫(xiě)。由于各種語(yǔ)言都有自己的特長(zhǎng),倚重或偏廢任何一個(gè)都不利于技術(shù)的整體開(kāi)展,因此作為獨(dú)立的工作流管理系統(tǒng)必須具備處理各種定義語(yǔ)言的能力。可以采用“加一層〞的方法來(lái)解決這個(gè)問(wèn)題。在工作流定義與工作流執(zhí)行引擎之間加一層所謂的“后臺(tái)定義〞,這樣一來(lái),由各種定義語(yǔ)言所描述的WFT就成了“前臺(tái)定義〞。如此劃分可以減小不同定義語(yǔ)言所帶來(lái)的影響,以便在工作流執(zhí)行引擎的級(jí)別上保持相同的數(shù)據(jù)結(jié)構(gòu),下面通過(guò)微型工作流(micro-workflow)體系結(jié)構(gòu),來(lái)解釋前、后臺(tái)定義及其轉(zhuǎn)換。
2.1前臺(tái)定義Micro-workflow有自己的定義語(yǔ)言,即本文所稱(chēng)的前臺(tái)定義,它的關(guān)鍵抽象是過(guò)程(Procedure),一顆由過(guò)程組成的層次樹(shù)便定義了一個(gè)工作流程。(1)簡(jiǎn)單過(guò)程(SimpleProcedure)——這些過(guò)程表示樹(shù)(指定義樹(shù),非元模型)中的葉子節(jié)點(diǎn),它既可以是一個(gè)代表軟件效勞的過(guò)程,也可以是一個(gè)代表用戶(hù)必須完成的工作過(guò)程。(2)復(fù)合過(guò)程(CompositeProcedure)——復(fù)合過(guò)程用于表示對(duì)控制流(序列、條件等)的管理結(jié)構(gòu),是樹(shù)中的非葉子節(jié)點(diǎn)。
2.2后臺(tái)定義采用根底數(shù)據(jù)結(jié)構(gòu)中的有向圖來(lái)進(jìn)行后臺(tái)定義,其中節(jié)點(diǎn)代表活動(dòng)步驟,節(jié)點(diǎn)之間的連接代表流(數(shù)據(jù)流或控制流)??刂屏鹘⒘斯?jié)點(diǎn)的執(zhí)行順序,數(shù)據(jù)流定義了從一個(gè)活動(dòng)傳遞到另一個(gè)活動(dòng)的數(shù)據(jù),任何圖都有一個(gè)開(kāi)始節(jié)點(diǎn)和終止節(jié)點(diǎn)。
2.3前臺(tái)定義到后臺(tái)定義的翻譯要完成從前臺(tái)到后臺(tái)的翻譯,前臺(tái)定義模型與后臺(tái)定義模型之間必須有一個(gè)完備的映射。前臺(tái)定義模型提供編譯規(guī)那么從而生成后臺(tái)定義,micro-workflow中的編譯是按照自頂向下的方式完成的,它從前臺(tái)定義的根部開(kāi)始,遞歸進(jìn)行,每個(gè)復(fù)合過(guò)程編譯它的子節(jié)點(diǎn)作為其相應(yīng)后臺(tái)定義圖中的表示。每個(gè)簡(jiǎn)單過(guò)程編譯成圖中的一個(gè)節(jié)點(diǎn),而復(fù)合過(guò)程中的信息那么成節(jié)點(diǎn)之間的連接,生成的結(jié)果圖就是工作流引擎可任意處理的后臺(tái)定義,定義編譯算法時(shí)要考慮所有存在的規(guī)那么,如控制流、數(shù)據(jù)流以及發(fā)送給各個(gè)節(jié)點(diǎn)的消息類(lèi)型等。圖2大體描述了一個(gè)前臺(tái)到后臺(tái)的映射。
3工作原型
修改一個(gè)靈活的工作流管理系統(tǒng)應(yīng)該具備WFT的修改功能,即便是已經(jīng)有實(shí)例運(yùn)行在WFT上,它也可以被修改,下面將解決這個(gè)問(wèn)題。首先介紹WFT版本化的概念并給出圖1的擴(kuò)展,然后介紹修改操作(modificationoperation)的概念。
3.1WFT版本化WFT版本化的主要思想是創(chuàng)立WFT的新版本而不是直接修改原有的WFT。WFT的行為信息保存在它的各個(gè)版本中,圖3是圖1元模型的擴(kuò)展,提供了WFT版本化支持。一個(gè)WFT由一個(gè)或多個(gè)版本組成,并且某一版本只唯一隸屬于一個(gè)WFT,也就說(shuō)一個(gè)版本可以有多個(gè)子孫,但只能有一個(gè)父親,每個(gè)版本都有一個(gè)版本號(hào)作為唯一標(biāo)識(shí)。當(dāng)一個(gè)新的WFT參加到工作流模型中時(shí),便建立了此WFT的根版本。如果要施加任何修改操作,那么先創(chuàng)立此版本的一個(gè)子孫版本,然后在新版本上進(jìn)行修改操作。一個(gè)版本可處于三種狀態(tài)中:臨時(shí)狀態(tài)、發(fā)布狀態(tài)及過(guò)時(shí)狀態(tài)。一個(gè)版本一旦創(chuàng)立便置于臨時(shí)狀態(tài)中,處于臨時(shí)狀態(tài)的版本可以進(jìn)行修改或移除,但不能進(jìn)行實(shí)例化也不能產(chǎn)生子孫版本;一旦修改操作完成那么變?yōu)榘l(fā)布狀態(tài),處于此狀態(tài)的版本不能修改或移除,但可產(chǎn)生新版本;最后,當(dāng)發(fā)布狀態(tài)的版本變失效時(shí),它的狀態(tài)被置為過(guò)時(shí)。
3.2修改操作為了處理工作流模型,必須有一套定義良好的操作。所謂“定義良好〞是指到達(dá)兩個(gè)根本條件:完備性和正確性。完備性是指可以創(chuàng)立或移除WFT模型上的所有元素,正確性是指當(dāng)完成一系列修改操作后可以保持WFT模型及實(shí)例的正確性。為了到達(dá)這兩個(gè)條件,必須設(shè)置某些操作的先決條件,如果先決條件不滿足,則操作就不能執(zhí)行。修改操作有兩類(lèi):(1)CLASS1——?jiǎng)?chuàng)立和移除WFT以及控制版本的操作。這一類(lèi)操作完全獨(dú)立于前臺(tái)定義語(yǔ)言。(2)CLASS2——修改WFT版本內(nèi)容的操作,這些操作依賴(lài)于前臺(tái)定義語(yǔ)言。因此當(dāng)前臺(tái)定義語(yǔ)言改變時(shí),這些操作必須重新實(shí)現(xiàn)。
4工作流實(shí)例遷移
WFI的遷移是一個(gè)WFI綁定到一個(gè)新版本W(wǎng)FT的過(guò)程。當(dāng)一個(gè)工作流實(shí)例w從版本wt[x]遷移到wt[y]時(shí),它便依據(jù)wt[y]開(kāi)始執(zhí)行。必須保證遷移操作不會(huì)產(chǎn)生無(wú)效的WFI,只有當(dāng)w遷移到wt[y]后仍然保持有效狀態(tài),才允許進(jìn)行遷移操作。
4.1遷移條件要判斷工作流實(shí)例w在t時(shí)刻是否可以遷移到wt[y],一個(gè)簡(jiǎn)單的辦法是分析以往w在t時(shí)刻所包含的事件,看其是否與wt[y]兼容,也就是說(shuō)必須檢驗(yàn)t時(shí)刻的每一個(gè)事件,看遷移到wt[y]后是否會(huì)導(dǎo)致無(wú)效的WFI。很明顯這種辦法的效率不高,可以采用產(chǎn)生新版本W(wǎng)FI的修改操作(CLASS2,參見(jiàn)3.2)。為了決定是否可以遷移,必須考慮每個(gè)修改操作的先決條件,修改操作OP的先決條件保證wt[y]在經(jīng)過(guò)繼承自wt[x]的修改操作OP后,實(shí)例w的正確性。因此如果w在時(shí)刻t可以滿足所有修改操作的先決條件,那么w可以在時(shí)刻t從wt[x]遷移到wt[y],于是遷移條件便可由修改操作導(dǎo)出。需要注意的是,修改操作只與前臺(tái)定義相關(guān),而遷移條件必須依據(jù)后臺(tái)定義設(shè)置,這意味著實(shí)現(xiàn)一個(gè)修改操作必須了解后臺(tái)定義模型以便生成正確的遷移條件。遷移算法在檢查遷移條件后執(zhí)行實(shí)例遷移,只要有一個(gè)遷移條件不滿足,演進(jìn)策略就將被激活(參見(jiàn)4.2)。遷移算法工作在后臺(tái)定義的層次上,不需要任何前臺(tái)定義的知識(shí)。由于修改操作直接依賴(lài)于前臺(tái)定義語(yǔ)言并且要生成不同的遷移條件,因此采用不同的前臺(tái)語(yǔ)言必然導(dǎo)致修改操作重新實(shí)現(xiàn),而遷移條件按后臺(tái)定義設(shè)置,遷移算法可獨(dú)立于前臺(tái)定義語(yǔ)言得到重用。
4.2演進(jìn)策略如上所述,工作流實(shí)例遷移依賴(lài)于對(duì)一組遷移條件的評(píng)估,對(duì)不滿足遷移條件的實(shí)例,可采用下列三種方式:(1)Abort——放棄此工作流實(shí)例的執(zhí)行。(2)Complete——依據(jù)老的WFT定義完成此實(shí)例的執(zhí)行。(3)Rollback——回滾實(shí)例直到可以進(jìn)行遷移操作的執(zhí)行點(diǎn)。前兩種動(dòng)作很簡(jiǎn)單,但都有缺點(diǎn)。Abort將浪費(fèi)大量已完成的工作,而Complete要求實(shí)例運(yùn)行在一個(gè)已過(guò)時(shí)的WFT上,一般是不能接受的,Rollback策略那么克服了前兩種辦法帶來(lái)的問(wèn)題。Rollback動(dòng)作由單步的undo操作組成,先分析實(shí)例的執(zhí)行歷史,然后針對(duì)每個(gè)活動(dòng)執(zhí)行undo操作,通過(guò)不斷的undo操作來(lái)更新執(zhí)行歷史,直到所有的遷移條件都滿足。和遷移算法一樣,Rollback算法也工作在后臺(tái)定義上,因此它可以獨(dú)立于前臺(tái)定義語(yǔ)言而獲得重用。
5演進(jìn)組件體系結(jié)構(gòu)
依照上述原理,本文設(shè)計(jì)了一個(gè)工作流演進(jìn)組件,此組件對(duì)工作流管理系統(tǒng)提供三個(gè)支持:WFT版本化管理、實(shí)例遷移管理、定義語(yǔ)言無(wú)關(guān)支持,以此來(lái)實(shí)現(xiàn)支持多語(yǔ)言的工作流動(dòng)態(tài)演進(jìn)策略。圖4是該組件的體系結(jié)構(gòu)圖,其在邏輯上可分為三個(gè)模塊:版本管理器、遷移管理器、內(nèi)容管理器,如此劃分可提供良好的復(fù)用性。版本管理器對(duì)WFT版本進(jìn)行管理,要提供3.2中所描述的第一類(lèi)操作。遷移管理器提供遷移算法、演進(jìn)策略并且對(duì)遷移條件進(jìn)行檢測(cè)。這兩個(gè)模塊都工作在后臺(tái)定義上,可以得到完全復(fù)用。通過(guò)前面討論可知,要支持不同的工作流定義語(yǔ)言,與前臺(tái)定義語(yǔ)言相關(guān)的修改操作是不可復(fù)用的,內(nèi)容管理器正是來(lái)完成這一工作,它能提供3.2中所描述的第二類(lèi)操作,將不同
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播簽約薪酬合同范本
- 別墅室內(nèi)石材合同范本
- 保密設(shè)備合同范本
- 分時(shí)度假 合同范本
- 保險(xiǎn)增值服務(wù)合同范本
- 第15課 現(xiàn)代醫(yī)療衛(wèi)生體系與社會(huì)生活 教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版(2019)高二歷史選擇性必修2 經(jīng)濟(jì)與社會(huì)生活
- 勞動(dòng)合同范本txt
- 2024年招商銀行鄭州分行招聘考試真題
- 二手電線買(mǎi)賣(mài)合同范本
- 2024年銀川市永寧三沙源上游學(xué)校招聘筆試真題
- 分離工程授課教案
- 《HSK標(biāo)準(zhǔn)教程3》第10課
- 人民醫(yī)院能源托管服務(wù)項(xiàng)目可研技術(shù)方案書(shū)
- 系統(tǒng)上線驗(yàn)收合格證書(shū)
- ABO血型鑒定及交叉配血
- 消防水箱安裝施工方案
- 【重慶長(zhǎng)安汽車(chē)公司績(jī)效管理現(xiàn)狀、問(wèn)題及優(yōu)化對(duì)策(7600字論文)】
- 孔軸的極限偏差表
- 熱軋鋼板和鋼帶尺寸允許偏差
- BBC-商務(wù)英語(yǔ)會(huì)話
評(píng)論
0/150
提交評(píng)論