




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一種面向?qū)ο蠊ぷ髁飨到y(tǒng)的實(shí)現(xiàn)
報(bào)告人:叢明指導(dǎo)老師:趙政教授項(xiàng)目背景介紹概述工作流技術(shù)是在上世紀(jì)九十年代發(fā)展起來的一門新興研究方向,是近來計(jì)算機(jī)應(yīng)用技術(shù)與信息技術(shù)領(lǐng)域最具發(fā)展?jié)摿Φ姆较蛑?。從歷史發(fā)展的角度看,傳統(tǒng)的信息系統(tǒng)只能夠支持單個(gè)任務(wù)的執(zhí)行,而如今的信息系統(tǒng)卻需要支持各種業(yè)務(wù)流程。信息系統(tǒng)不再只著眼于任務(wù)本身,而要能夠控制、監(jiān)督和支持業(yè)務(wù)流程的邏輯層面??傊畔⑾到y(tǒng)必須能夠管理一個(gè)企業(yè)或組織內(nèi)部的工作的流動(dòng)。基于這樣的需求,“工作流管理”這一術(shù)語便產(chǎn)生了。
工作流管理的優(yōu)點(diǎn)智能化
轉(zhuǎn)移過程自動(dòng)進(jìn)行處理和判斷,相關(guān)信息也不需要人工傳遞。工作人員只需專注于與其相關(guān)處理環(huán)節(jié)的具體工作,而不用再操心環(huán)節(jié)間的銜接。高效性
工作流減少了中間環(huán)節(jié),所以可減少員工數(shù)量,降低成本。
可控性靈活性
事務(wù)處理流程可以根據(jù)實(shí)際情況隨時(shí)建立,隨時(shí)修改。
集成化
可將企業(yè)現(xiàn)有的多種管理工具和現(xiàn)有軟件系統(tǒng)納入工作流的處理環(huán)節(jié)中去。工作流系統(tǒng)模型1994年11月,工作流管理聯(lián)盟(WFMC)發(fā)布了工作流管理系統(tǒng)參考模型。本文提出的工作流系統(tǒng)模型即以此參考模型為基礎(chǔ)。本文提出的工作流系統(tǒng)分為3個(gè)層次。它們分別為用戶端層次,工作流引擎層次,數(shù)據(jù)庫層次。過程定義工具工作流引擎(分布式)DBMS數(shù)據(jù)庫任務(wù)表管理器系統(tǒng)模型(續(xù))其中用戶端包括過程模型定義工具和參與活動(dòng)的角色部分,也就是工作流聯(lián)盟提出的工作流參考模型中的任務(wù)表管理器。工作流引擎是解釋執(zhí)行過程定義工具產(chǎn)生的表示業(yè)務(wù)流程的程序的解釋器。工作流引擎通過消息(如Java中的JMS)的形式向任務(wù)表管理器發(fā)送任務(wù)。數(shù)據(jù)庫層次則負(fù)責(zé)存儲(chǔ)過程定義和工作流系統(tǒng)運(yùn)行中產(chǎn)生的一些中間數(shù)據(jù)。這樣工作流引擎可以通過與數(shù)據(jù)庫操作系統(tǒng)的接口來進(jìn)行過程定義的解釋執(zhí)行,還可以利用DBMS的一些特性來服務(wù)于工作流系統(tǒng)。體系結(jié)構(gòu)本文重點(diǎn)對(duì)建模部分進(jìn)行了分析,并用面向?qū)ο蟮姆椒ńo出了較為具體的模型實(shí)現(xiàn)。運(yùn)用這些模型,就可以進(jìn)行企業(yè)業(yè)務(wù)流程的定義。設(shè)計(jì)采用Java作為模型和過程定義的描述語言。得到的過程定義類似于一個(gè)大的分布式的Java程序,而工作流引擎就是一個(gè)對(duì)此Java程序解釋執(zhí)行的系統(tǒng)。這也正好利用了Java的平臺(tái)無關(guān)性,較好的滿足了企業(yè)中執(zhí)行任務(wù)單位的分布性要求。
模型模型是進(jìn)行工作流過程定義所要用到的一系列元素。要較完善的對(duì)企業(yè)業(yè)務(wù)流程進(jìn)行描述,需要定義的模型主要包括:過程模型,角色模型,資源模型等。其中過程模型就是描述企業(yè)業(yè)務(wù)流程的模型,是工作流的核心。本文重點(diǎn)放在介紹過程模型上面。本文的工作流系統(tǒng)模型采用面向?qū)ο蟮脑O(shè)計(jì)方法,可以方便的通過繼承,重載等面向?qū)ο蟮姆椒▉黹_發(fā)符合具體情況的新模型。
過程模型目前比較流行的描述企業(yè)業(yè)務(wù)流程的方法有Petri網(wǎng),狀態(tài)圖,活動(dòng)網(wǎng)絡(luò)圖等。活動(dòng)網(wǎng)絡(luò)圖雖然描述能力不如Petri網(wǎng)強(qiáng)大,邏輯性也不如Petri網(wǎng)嚴(yán)謹(jǐn),但通過一些具體的改進(jìn),也能較好的描述企業(yè)業(yè)務(wù)流程。而且更為重要的是,活動(dòng)網(wǎng)絡(luò)圖符合人們的習(xí)慣,并在實(shí)現(xiàn)上難度也較小。本文即采用這種方法建立模型?;顒?dòng)網(wǎng)絡(luò)圖活動(dòng)網(wǎng)絡(luò)圖一般由節(jié)點(diǎn),連接弧構(gòu)成。規(guī)定節(jié)點(diǎn)代表工作流過程中的一個(gè)活動(dòng),而連接弧表示活動(dòng)之間的關(guān)聯(lián)。在實(shí)際企業(yè)業(yè)務(wù)流程中,數(shù)據(jù)的流動(dòng)和活動(dòng)的流動(dòng)并不是完全一致的,所以在本文中,連接弧分為兩種,分別是控制弧和數(shù)據(jù)弧。但這兩種連接弧在結(jié)構(gòu)上是相同的,只是在過程定義時(shí)區(qū)分。本文提出的工作流模型采用面向?qū)ο蟮姆椒?,把?jié)點(diǎn)和連接弧都定義成類,即節(jié)點(diǎn)類(活動(dòng)類),連接弧類,并通過類中的屬性方法實(shí)現(xiàn)相互之間的接口。這樣可以用面向?qū)ο蟮囊恍┓椒▉黹_發(fā)工作流模型,維護(hù)工作流系統(tǒng)?;顒?dòng)網(wǎng)絡(luò)圖(續(xù))在過程定義工具中,根據(jù)具體活動(dòng)設(shè)置活動(dòng)類的屬性,編寫具體執(zhí)行代碼;用連接弧類表示活動(dòng)進(jìn)行的路由。之所以把連接弧也定義成類,而不在節(jié)點(diǎn)類中直接指出前趨后繼節(jié)點(diǎn),是出于面向?qū)ο蠓椒ㄖ械姆庋b目的,把活動(dòng)的內(nèi)容完全封裝,這樣在維護(hù)中可以隨時(shí)改變流程的路由,而不必改動(dòng)活動(dòng)本身定義。此外,還可以在連接弧類中加入簡(jiǎn)單屬性或方法派生出新類,豐富模型的描述能力。下面就此進(jìn)行詳細(xì)的闡述。
路由方式圖1-2路由方式(續(xù))圖1-2顯示了由工作流管理聯(lián)盟定義的工作流路由結(jié)構(gòu)。,其中包含了以下四種路由方式:(1)
順序路由工作流流程實(shí)例中的任務(wù)是順序執(zhí)行的,即后一個(gè)任務(wù)在前一個(gè)任務(wù)執(zhí)行完畢后才開始執(zhí)行。在圖1-2(A)中,任務(wù)B在任務(wù)A完成以后被執(zhí)行,同時(shí)在任務(wù)C啟動(dòng)以前被執(zhí)行。(2)
并行路由在圖1-2(B)中,任務(wù)B和任務(wù)C是并行執(zhí)行的。這意味著B和C可以同時(shí)執(zhí)行,也可以以任何順序執(zhí)行。任務(wù)A執(zhí)行完以后執(zhí)行B和C。然后,在B和C都執(zhí)行完以后,D才可以開始執(zhí)行。路由方式(續(xù))(3)
條件路由在圖1-2(C)中,無論是任務(wù)B,還是任務(wù)C都有可能被執(zhí)行。假如任務(wù)A被執(zhí)行了,會(huì)在任務(wù)B和C中做出一個(gè)條件性選擇。然后,任務(wù)D可以在B或C結(jié)束以后開始執(zhí)行。(4)
反復(fù)路由有時(shí),有必要多次執(zhí)行同一個(gè)任務(wù)。在圖1-2(D)中,任務(wù)B可以被執(zhí)行多次。節(jié)點(diǎn)活動(dòng)網(wǎng)絡(luò)圖表示企業(yè)經(jīng)營過程,節(jié)點(diǎn)則代表其中的各個(gè)活動(dòng)。當(dāng)然,為了結(jié)構(gòu)的清晰方便,可以將若干活動(dòng)定義為一個(gè)活動(dòng)節(jié)點(diǎn)。作為表示活動(dòng)的節(jié)點(diǎn)類,應(yīng)該具有如下的屬性和方法。其中屬性包括(1)存儲(chǔ)所有以此節(jié)點(diǎn)為尾的連接弧數(shù)組,用來確定是否所有前趨節(jié)點(diǎn)已經(jīng)完成或者在必要的時(shí)候?qū)η摆吂?jié)點(diǎn)進(jìn)行反饋;(2)存儲(chǔ)所有以此節(jié)點(diǎn)為首的連接弧的數(shù)組,用于在此活動(dòng)完成后,激活后繼節(jié)點(diǎn);(3)存儲(chǔ)所有需要發(fā)送數(shù)據(jù)的節(jié)點(diǎn)方向(連接?。┑臄?shù)組,用來向其發(fā)送必要的數(shù)據(jù);
節(jié)點(diǎn)(續(xù))(4)存儲(chǔ)所有要參與這個(gè)活動(dòng)的角色數(shù)組,用來向這個(gè)角色的任務(wù)表管理器發(fā)送JMS(JavaMessageService);(5)存儲(chǔ)表示執(zhí)行這個(gè)活動(dòng)的工作流機(jī)的地址。由于工作流機(jī)一般處在分布式的環(huán)境中,因此要表明這個(gè)活動(dòng)由分布式的工作流機(jī)組中的哪個(gè)來執(zhí)行。這個(gè)地址的形式根據(jù)工作流機(jī)所在網(wǎng)絡(luò)環(huán)境來決定;(6)狀態(tài)標(biāo)志。一個(gè)活動(dòng)可以有許多狀態(tài),工作流系統(tǒng)可以根據(jù)活動(dòng)的狀態(tài)來決定下一步的動(dòng)作。狀態(tài)標(biāo)志的使用,彌補(bǔ)了活動(dòng)網(wǎng)絡(luò)圖對(duì)于狀態(tài)及其轉(zhuǎn)換描述能力的不足。(7)除此之外,還應(yīng)該有屬性來存儲(chǔ)要接收或發(fā)送數(shù)據(jù),發(fā)送給參與角色的JMS內(nèi)容以及表示這個(gè)活動(dòng)的ID號(hào)等。
節(jié)點(diǎn)(續(xù))除了上述屬性,一個(gè)活動(dòng)節(jié)點(diǎn)類還應(yīng)包括各種必要的方法(1)激活方法。這個(gè)方法可以由前趨活動(dòng)在其完成后來調(diào)用,激活本活動(dòng);(2)從自己的數(shù)據(jù)空間中讀取數(shù)據(jù)的方法;(3)給需要的活動(dòng)發(fā)送數(shù)據(jù)的方法;(4)具體的處理方法。這個(gè)方法是活動(dòng)的核心,即這個(gè)活動(dòng)所要做的操作,(5)此外,改變活動(dòng)狀態(tài)的方法,給角色發(fā)JMS的方法也是需要的。
上述的屬性和方法是一個(gè)活動(dòng)基本具備的。可以通過具有這些屬性方法的基類通過繼承或重載來派生出符合具體情況新的活動(dòng)類,來更好的描述具體的企業(yè)業(yè)務(wù)流程。
連接弧連接弧是位于節(jié)點(diǎn)之間的有向線段,它從前驅(qū)節(jié)點(diǎn)指向后繼節(jié)點(diǎn),表示活動(dòng)的轉(zhuǎn)移或數(shù)據(jù)的流動(dòng)。一個(gè)連接弧類應(yīng)該具備的基本屬性方法為:這個(gè)連接弧的起始活動(dòng)節(jié)點(diǎn),后繼活動(dòng)節(jié)點(diǎn),狀態(tài),ID號(hào)等。當(dāng)然也可以通過繼承派生出新的更符合實(shí)際情況的連接弧,如加入一些條件的判斷等操作。
本文前面所提到的數(shù)據(jù)連接弧與控制連接弧在結(jié)構(gòu)上是相同的,只是在過程定義時(shí)由用戶加以區(qū)分。角色模型角色模型所要描述的是一項(xiàng)活動(dòng)的參與者的信息。用來被活動(dòng)調(diào)用,獲得和設(shè)置它的內(nèi)容。其基本屬性有ID號(hào),所處地址,角色狀態(tài)等。必要的時(shí)候,也包括處理任務(wù)數(shù),角色的說明等屬性。
當(dāng)然,也可以通過繼承來派生新的角色類。其他模型一個(gè)企業(yè)業(yè)務(wù)流程是很復(fù)雜的,要完全準(zhǔn)確地描述,還應(yīng)該再定義集中模型類。如活動(dòng)要調(diào)用的應(yīng)用類,要用到的各種資源類,活動(dòng)間傳遞的數(shù)據(jù)類等等。它們同樣可以用面向?qū)ο蟮姆椒ǎ尚碌念?。論文主要工作需要解決的問題
本文描述的工作流系統(tǒng)在應(yīng)用中先進(jìn)行建模,然后編寫Java程序得到過程定義,最后將過程定義送到工作流引擎對(duì)其解釋執(zhí)行。具體步驟為:
建模將要建模的企業(yè)業(yè)務(wù)流程分解為一個(gè)個(gè)任務(wù),并找出它們之間的邏輯關(guān)系,畫出相應(yīng)的活動(dòng)網(wǎng)絡(luò)圖。然后利用建模工具把每個(gè)任務(wù)定義為一個(gè)活動(dòng)節(jié)點(diǎn)類的實(shí)例,根據(jù)具體任務(wù)來設(shè)置類的屬性。接著定義連接弧來表征這些活動(dòng)的關(guān)系。還要根據(jù)實(shí)際情況決定活動(dòng)之間的數(shù)據(jù)流向。將每?jī)蓚€(gè)之間發(fā)生數(shù)據(jù)流動(dòng)的活動(dòng)之間定義一個(gè)數(shù)據(jù)連接弧類。最后根據(jù)企業(yè)業(yè)務(wù)流程各個(gè)任務(wù)所需要參與的人,定義角色模型。為每個(gè)不同的角色定義一個(gè)角色類,并設(shè)置其中的各個(gè)屬性。過程定義建模結(jié)束后,得到表示流程的各個(gè)對(duì)象。這些對(duì)象的業(yè)務(wù)邏輯封裝在節(jié)點(diǎn)類中,順序邏輯和數(shù)據(jù)流邏輯封裝在連接弧類中。然后,編寫Java程序?qū)崿F(xiàn)過程定義。最后,就可以送到工作流引擎里解釋執(zhí)行。在運(yùn)行階段,激活初始活動(dòng),然后流程就可以按照
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專利權(quán)質(zhì)押合同范例
- 企業(yè)用人訂單合同范例
- 個(gè)人購銷合同范例藥材
- 會(huì)展設(shè)備采購合同范例
- 臨建空調(diào)采購合同范例
- 2025年光學(xué)纖維倒像器合作協(xié)議書
- 2025年HB步進(jìn)電機(jī)合作協(xié)議書
- 2023-2024學(xué)年安徽省江淮名校高一下學(xué)期開學(xué)聯(lián)考英語試題(解析版)
- 2025年醋酸乙酯合作協(xié)議書
- 檔案代管合同
- 2024年全國公共營養(yǎng)師之三級(jí)營養(yǎng)師考試重點(diǎn)試題(附答案)
- 管道工(三級(jí))高級(jí)工題庫(電子題庫)附有答案
- 小學(xué)預(yù)防性侵害主題班會(huì)
- DZ∕T 0080-2010 煤炭地球物理測(cè)井規(guī)范(正式版)
- 《微波法原油含水率在線檢測(cè)儀》
- 第1課 立足時(shí)代 志存高遠(yuǎn) (課件+視頻)- 【中職專用】高一思想政治《心理健康與職業(yè)生涯》(高教版2023·基礎(chǔ)模塊)
- 19S406建筑排水管道安裝-塑料管道
- MOOC 人工智能基礎(chǔ)-國防科技大學(xué) 中國大學(xué)慕課答案
- 裝配式建筑預(yù)制構(gòu)件安裝-水平構(gòu)件安裝技術(shù)
- 部編版語文五年級(jí)下冊(cè)第四單元大單元整體教學(xué)設(shè)計(jì)
- 《廂式貨運(yùn)車系列型譜》
評(píng)論
0/150
提交評(píng)論