【正文】
能夠創(chuàng)造出機(jī)器可讀以 及高度抽象的模型,這些模型獨(dú)立于實(shí)現(xiàn)的技術(shù),以標(biāo)準(zhǔn)化的方式存儲(chǔ)。 (4)可集成程度差 工作流引擎不可避免得需要與外部應(yīng)用程序進(jìn)行交互。 按實(shí)現(xiàn)框架分類 , 又可將工作流引擎分為基于關(guān)系數(shù)據(jù)庫的、基于 .的、基于 J2EE 的、基于 CORBA 的等等??梢詮?四 個(gè)方面進(jìn)行分類 [2]: 按工作流模型分析 , 根據(jù)工作流引擎支持的工作流模型,可將其分為符合XPDL 和不符合 XPDL 的。 基于狀態(tài)和活動(dòng)圖的建模方法是一種介于 Petri 網(wǎng)模型和圖形化模型之間的建模方法。大多數(shù)工作流研究都是從描述過程開始的,比如流程圖、狀態(tài)圖、活動(dòng)網(wǎng)絡(luò)圖以及 Keller 等人提出的 事件過程鏈模型 (Eventdriven Process Chain, EPC)等等。 (3)系統(tǒng)運(yùn)行時(shí)間 功能 用戶與處理各活動(dòng)步驟的 外部應(yīng)用程序或者 IT 應(yīng)用工具之間的交互。 Geakopoulos 給出的工作流定義 是將一組任務(wù)組織起來完成某個(gè)經(jīng)營過程 。提出的目的是通過將工作分解成定義良好的任務(wù)、角色,按照一定的規(guī)則和過程來執(zhí)行這些任務(wù)并對(duì)它們進(jìn)行監(jiān)控,達(dá)到提高辦事哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文 2 效率、降低生產(chǎn)成本、提高企業(yè)生產(chǎn)經(jīng)營管理水平和企業(yè)競(jìng)爭(zhēng)力的目標(biāo)。 企業(yè)的業(yè)務(wù)流程也隨之遷移到企業(yè)應(yīng)用軟件中。 本文首先研究了 可配置可互操作 可執(zhí)行的 模型驅(qū)動(dòng) 構(gòu)架 (Interoperable Configurable Executable Model Driven Architecture, ICEMDA)支持下的工作流模型 。 MDA的提出將一系列 新的趨勢(shì)性技術(shù)整合在一起 來滿足企業(yè)復(fù)雜多變的需求。 隨著 經(jīng)濟(jì)全球化和 信息技術(shù)的 迅速 發(fā)展,越來越多的企業(yè) 采用了信息化的手段對(duì)企業(yè)進(jìn)行管理。 與課題相關(guān)國內(nèi)外研究進(jìn)展及成果 工作流技術(shù)綜述 工作流 起源于 辦公自動(dòng)化領(lǐng)域, 它是針對(duì)日常工作中具有固定程序的活動(dòng)而提出的一個(gè)概念 [1]。 WfMC 對(duì)工作流的定義為: 工作流是一類能夠完全或者部分自動(dòng)化執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行 [2]。 (2)系統(tǒng)運(yùn)行時(shí)間的控制功能 在其運(yùn)行環(huán)境中管理工作流過程,并連續(xù)地處理組成一個(gè)過程的各活動(dòng)。 現(xiàn)今的 工作流建模方法主要有基于活動(dòng)網(wǎng)絡(luò)、 Petri 網(wǎng)、語言行為理論、活動(dòng)與狀態(tài)圖以及擴(kuò)展事務(wù)模型的建模方法。但基于 Pertri 網(wǎng)的工作流模型有著模型不直觀的缺點(diǎn),導(dǎo)致了 其不易被非專業(yè)人員理解和溝通 [12~15]。 目前工作流引擎產(chǎn)品數(shù)量相當(dāng)多,其中有軟件制 造商所提供的商業(yè)產(chǎn)品,也有一些由個(gè)人或自由組織所發(fā)起的開源項(xiàng)目。嵌入式工作流引擎的一個(gè)代表是開源工作流引擎 OSWorkflow,它可看作是一個(gè)嵌入在系統(tǒng)內(nèi)部的有限狀態(tài)機(jī),簡單靈活。 (3)內(nèi)部執(zhí)行機(jī)制各不相同 由于工作流引擎輸入的模型不盡相同,也導(dǎo)致了各種工作流引擎的內(nèi)部 執(zhí)行機(jī)制各不一樣,有的采用 Petri 網(wǎng)的令牌機(jī)制,有的則采用了有限狀態(tài)機(jī)的執(zhí)行方法。 MDA 把建模語言當(dāng)作是編程語言 來用, 而不 致使當(dāng)作 設(shè)計(jì)語言 來用。 有的模型是直觀的、 容易被人理解的, 例如活動(dòng)圖等; 而有的模型 是 形式化 的,很容易被計(jì)算機(jī)所理解, Petri 網(wǎng)是一個(gè)典型的代表。重點(diǎn)研究了工作流引擎中的路由算法和條件判斷策略 。 圖 11 是本文的研究思路和問題鏈。 其中BO[27]是融數(shù)據(jù)和方法于一體的,具有一定生命周期的對(duì)象。訂單、報(bào)表、設(shè)備、員工等都可以稱為業(yè)務(wù)對(duì)象。因此,這些約束 條件 也該在圖形化的工作流模型中表達(dá)出來 。下面分別介紹 PIM 工作流元模型中的各個(gè)元素。從形式上,連接了活動(dòng)與活動(dòng)、 活動(dòng)與連接器、決策節(jié)點(diǎn)和連接器、決策節(jié)點(diǎn)和業(yè)務(wù)活動(dòng)等之間的關(guān)系,最終使整個(gè)工作量模型形成一個(gè)有向圖 事件和功能或業(yè)務(wù)過程之間的執(zhí)行順序關(guān)系。 (5)角色 角色是對(duì)能夠區(qū)分不同責(zé)任的一類用戶的抽象描述,在軟件系統(tǒng)中,角色往往體現(xiàn)的是權(quán)限。 (7)業(yè)務(wù)活動(dòng)輸入輸出數(shù)據(jù) 每個(gè)業(yè)務(wù)活動(dòng)都包含一個(gè)輸入數(shù)據(jù)或者輸出數(shù)據(jù),例如采購訂單需要根據(jù)采購需求或者采購計(jì)劃制定,輸出結(jié)果是采購訂單。 PIM 層工作流模型 可由 一個(gè)二十三元組描述 。 其中, n 表示 Decision 包含的條件表達(dá)式的個(gè)數(shù); DeciCond 是一個(gè)函數(shù):? ?1 , 2 , ,D e c iCon d n Con d it ion s?? (8)Conditions 是 PIM 層工作流模型的約束條件集合。 (15)ActPreCond 也是一個(gè)函數(shù),為業(yè)務(wù)活動(dòng)指定前置條件,類似的,前置條件是業(yè)務(wù)活動(dòng)的可選項(xiàng),因此也是一個(gè)部分函數(shù) : 哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文 15 PA c t P r e C o n d B u s i n e s s A c t i v i t i e s C o n d i t i o n s? ??? (16)ActPostCond 與 ActPreCond 類似,是一個(gè)為業(yè)務(wù)活動(dòng)指定后置條件的函數(shù),類似的,后置條件也是業(yè)務(wù)活動(dòng)的可選項(xiàng),因此也是一個(gè)部分函數(shù) : PA c t P o s t C o n d B u s i n e s s A c t i v i t i e s C o n d i t i o n s? ??? (17)EventType 描述 event 類型的函數(shù): ? ?,E v e n t T y p e E v e n t s a r t i f i c a l t i m e?? (18)FlowType 是將每一個(gè)控制流 Flow 指定類型的函數(shù) , 控制流有三種類型:附加事件型、附加條件型以及無任何附加型 。 ? ?? ?x De c i si onsy C onn e c t ors y XO Rx z Flo w s Sou rc e Flo w z xyz T arg e t Flo w z y??????? ? ? ?? ? ?? ? ????? ???????? ICEPSM 層可執(zhí)行工作流模型 ICEPSM 層可執(zhí)行工作流模型是以業(yè)務(wù)構(gòu)件 ( Business Component, 簡稱BC) 的業(yè)務(wù)活動(dòng)為中心的,描述了一個(gè)業(yè)務(wù)構(gòu)件間的業(yè)務(wù)活動(dòng)的流轉(zhuǎn)次序以及業(yè)務(wù) 構(gòu)件之間的時(shí)序執(zhí)行關(guān)系。 XPDL 不可能支持所有模型的附加屬性,依靠一系列有限的描述工作流過程定義的實(shí)體, XPDL可以支持一些不同的擴(kuò)展屬性處理方法。 在表 21 中詳細(xì)描述了工作流過程定義的屬性以及包含的子元素,并對(duì)這些屬性和子元素作了語義描述。圖 25 是 XPDL 的元模型以及上層實(shí)體。 通過以上分析, ICEPSM 層可執(zhí)行工作流模型采用 XML 語言描述,并且采用的 XML 語言遵循 XPDL 規(guī)范,對(duì)于 XPDL 不能描述的信息,通過擴(kuò)展屬性的方式描述,這樣通過擴(kuò)展的 XPDL 形成了可執(zhí)行工作流模型。 ? ?S t a r t A c t S t a r t B u s i n e s s A c t i v i t i e s?? (25)FinishAct 是一個(gè)將活動(dòng)或者連接器映射到結(jié)束節(jié)點(diǎn)的函數(shù),描述了模哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文 16 型的結(jié)束業(yè)務(wù)活動(dòng)。 (11)Finish 是 PIM 層工作流模型的結(jié)束節(jié)點(diǎn)。 (4)Flows 是 PIM 層工作流模型的控制流集合 。 圖 23 ICEPIM 工作流元模型元 素圖形化 Figure 23 The graph of the ICEPIM workflow metamodel 示例 采購需求單有制定和審批兩個(gè)活動(dòng),但根據(jù)審批金額的不同,所需要的審批人員也不同,圖 24 描述了采購需求單的內(nèi)部業(yè)務(wù)流程。 哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文 12 (6)條件表達(dá)式 條件表達(dá)式根據(jù)應(yīng)用的位置可分為三類:轉(zhuǎn)移條件、前置條件和后置條件。 在順序模式下,活動(dòng)只產(chǎn)生一個(gè)事件,一個(gè)事件只觸發(fā)一個(gè)活動(dòng)。 (2)事件 業(yè)務(wù)活動(dòng)執(zhí)行完畢后,由執(zhí)行人發(fā)出事件 , 用于觸發(fā)下一個(gè)活動(dòng), 充當(dāng)了 業(yè)務(wù)活動(dòng)的 觸發(fā)器 。如圖 22所示,圖中詳細(xì)描述了 PIM 層工作流模型包含的元素以及元素之間的關(guān)系。 模型需求 業(yè)務(wù)對(duì)象的概念來源于 企業(yè)日常業(yè)務(wù)處理的 單據(jù) 和 報(bào)表,對(duì)單據(jù) 和 報(bào)表的處理過程使業(yè)務(wù)對(duì)象的狀態(tài)不斷發(fā)生變化。該構(gòu)件被稱為 業(yè)務(wù)構(gòu)件 (Business Component, BC)[28],其模型被稱為 BC 模型 。 面向?qū)ο竺嫦蚰J矫嫦驑?gòu)件和配置P I M → P S MICE PIMICE PSMCo deUML+XML+互操作互操作BCCC系統(tǒng)配置框架轉(zhuǎn)換 : P S M → 配置文件BC 模型靜態(tài)配置模型BO 模型角色模型G enerato r/ T ra nsf orm.T ra nsf orm.過程定義文件基于 BO 的工作流模型( 即過程模型 )可執(zhí)行工作流模型( 動(dòng)態(tài)配置模型 )工作流引擎程序生成器 : P S M → Co de自動(dòng)映射建立階段運(yùn)行階段ICE CIMICEMDA 框架 ICEMDA 工作流系統(tǒng)P I M 層工作流模型定義P S M 層可執(zhí)行工作流模型定義 圖 21 基于 ICEMDA的工作流系統(tǒng) Figure 21 The workflow system based on ICEMDA ICEMDA 分為四層架構(gòu) ICECIM(Computing Independent Model)、 ICEPIM(Platform Independent Model)、 ICEPSM(Platform Specific Model)和 ICECode 層 四層架 構(gòu) 。接口定義主要包括角色 /用戶數(shù)據(jù)映射、工作流相關(guān)數(shù)據(jù)以及任務(wù)列表 。這樣大大減少了程序員在進(jìn)行業(yè)務(wù)邏輯編程時(shí)的工作量。 哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文 6 國 內(nèi) 外對(duì)于 MDA 的研究主要集中在兩方面。 MDA 的發(fā)展 OMG 在 20xx 年 初宣告了模型驅(qū)動(dòng)構(gòu)架 (Model Driven Architecture, MDA)為它的戰(zhàn)略方向 。后者的主要代表有國 內(nèi) 的 西安協(xié)同、中唐、有生博大、東方易維等 。后者現(xiàn)在主要包括了一些使用 BPEL 的產(chǎn)品。 基于事務(wù)模型的建模方法 來源 于數(shù)據(jù)庫研究領(lǐng)域,事務(wù)處理對(duì)于維護(hù)數(shù)據(jù)哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文 4 庫的正確性、一致性和出錯(cuò)恢復(fù)都具有重要意義 [17~19],在工作流模型中引入事務(wù)概念可以提高工作流管理系統(tǒng)的可靠性。這種 方法的 優(yōu)點(diǎn) 是直觀 并且 易于理解 ,因此 目前 很多 工作流管理系統(tǒng)都采用這種方法 建立工作流模型 。 工作流模型是對(duì)工作流的抽象表示,也就是對(duì)業(yè)務(wù)過程的抽象表示。 IBM Almaden 研究中心給出的工作流定義 為 : 工作流是經(jīng)營過程的一種計(jì)算機(jī)化的表示模型,定義了完成整個(gè)過程所需用的各種參數(shù)。其中以 WfMC 的貢獻(xiàn)最為突出,WfMC 是 在 工作流 領(lǐng)域 中 第一個(gè)致力于標(biāo)準(zhǔn)化工作的 組織 , 創(chuàng)建于 1993 年 。 模型驅(qū)動(dòng)構(gòu) 架 (Model Driven Architecture, MDA)的出現(xiàn)將 基于 構(gòu)件 的開發(fā)、設(shè)計(jì)模式等 一系列 新興 技術(shù)整合到一起,為提高軟件開發(fā)效率、增強(qiáng)軟件的可移植性、協(xié)同工作能力和可維護(hù)性以及文檔編制的便利性指明了解決之道。 其次, 針對(duì) PSM 的可執(zhí)行工作流模型,研究了工作流引擎 中的 路由算法 、 條件判斷策略 和基于負(fù)載平衡的任 務(wù)分配算法 , 并定義了工作流引擎與應(yīng)用程序框架的集成模式,將應(yīng)用程序框架中的角色 /用戶數(shù)據(jù) 和工作流相關(guān)數(shù)據(jù) 集成到工作流引擎中 。 工學(xué)碩士學(xué)位論文 支持 ICEMDA 的 工作流引擎 技術(shù)與實(shí)現(xiàn) 董洪梅 哈爾濱工業(yè)大學(xué) 20xx 年 7 月 國內(nèi)圖書分類號(hào): TP315 國際圖書分類號(hào): 工學(xué)碩士學(xué)位論文 支持 ICEMDA 的工作流引擎 技術(shù)與實(shí)現(xiàn) 碩 士 研 究 生 : 董洪梅 導(dǎo)師 : 劉國忠 副 教授 申 請(qǐng) 學(xué) 位 : 工學(xué)碩士 學(xué) 科 、 專 業(yè) : 計(jì)算機(jī)科學(xué)與技術(shù) 所 在 單 位 : 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 答 辯 日 期 : 20xx 年 7 月 授予 學(xué)位單 位 : 哈爾濱工業(yè)大學(xué) Classified Index: TP315 U. D. C. : Dissertation for the Master Degree in Engineering TECHNOLOGY AND IMPLEMENTATION OF WORKFLOW ENGINE FOR ICEMDA Candidate: