Web服務動態(tài)組合方法研究與設計_第1頁
Web服務動態(tài)組合方法研究與設計_第2頁
Web服務動態(tài)組合方法研究與設計_第3頁
Web服務動態(tài)組合方法研究與設計_第4頁
Web服務動態(tài)組合方法研究與設計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、本文由1989747貢獻 pdf文檔可能在WAP端瀏覽體驗不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機查看。 第卷 第期 計算機工程與設計 年月 服務動態(tài)組合方法研究與設計 夏海江。, 鄧水光, 吳朝暉 (溫州大學計算機科學與工程學院,浙江溫州; 浙江大學計算機學院中間件技術(shù)工程研究中心,浙江杭州) 摘要:目前基于工作流的服務組合方法大多要求預先定義流程結(jié)構(gòu),不能適應現(xiàn)代企業(yè)業(yè)務流程復雜多變的需求。提 出了一種服務動態(tài)組合方法,將流程中動態(tài)部分用黑盒子流程進行封裝,在執(zhí)行時根據(jù)預定義規(guī)則和用戶需求將黑盒 子流程自動組合展開為實際運行流程。對具體服務、抽象服務、黑盒子流程等概念和服務選取規(guī)則、

2、服務組合規(guī)則進行了定 義,詳細描述黑盒子流程展開算法,并設計了一個實現(xiàn)動態(tài)服務流程組合的框架結(jié)構(gòu)。 關(guān)鍵詞:服務組合;動態(tài)流程;業(yè)務流程管理;業(yè)務規(guī)則;工作流 中圖法分類號: 文獻標識碼: 文章編號:() ”, , ,; ( , , , , , ,) : , , , 。 , , , : ; ; ; 引 言 方式過于剛性,應用范圍窄。動態(tài)組合方式在設計以抽象服 務代替具體的服務,在執(zhí)行時根據(jù)運行情況再綁定具體服務, 此方式適應了網(wǎng)上服務不斷變化或事先無法確定綁定哪個具 體服務的需求。但現(xiàn)有的項目大都要求事先給出流程結(jié)構(gòu), 實際上許多業(yè)務流程不是一成不變的,多變性和不確定性是 現(xiàn)代企業(yè)業(yè)務流程的特

3、點,流程業(yè)務規(guī)則邏輯復雜多變,用戶 需求各異,不同流程實例執(zhí)行路徑和所要綁定的服務可能是 不同的,在設計時很難給出完整的流程定義,即便能夠給出完 整定義,其流程結(jié)構(gòu)往往過于龐大,難以理解和更新,很難適 應業(yè)務規(guī)則多變的需求。因此服務組合需要在運行時確 定流程結(jié)構(gòu)。 針對上述動態(tài)流程的需求,本文提出一種基于動態(tài)工作 流服務組合方法,在流程定義時給出流程框架,對其中可 以事先明確的流程進行定義,而對于難 以事先明確流程的子 流程以黑盒方式封裝,在運行時根據(jù)預定義規(guī)則和運行信息 將其展開為實際運行流程。本文設計一個實現(xiàn)動態(tài)服務流的 服務技術(shù)通過基于的開放性標準和協(xié)議,實現(xiàn) 了分布計算環(huán)境中各種異構(gòu)平

4、臺上的應用程序間的信息交互 和遠程調(diào)用“。當前越來越多的應用程序以服務的方式 出現(xiàn)在網(wǎng)絡中,以便被發(fā)現(xiàn)和調(diào)用,達到業(yè)務增值的目的。 服務組合技術(shù)通過將獨立于各個系統(tǒng)中單一功能的服務 松耦合集成,以實現(xiàn)具體的業(yè)務流程。服務組合作為下一 代應用的關(guān)鍵技術(shù),引起了許多公司和研究機構(gòu)的極 大興趣。 服務組合與工作流有許多共同之處,可以以流程中 心將服務組合在一起,將服務組合視為一種特殊的工作流,稱 之為服務流。目前出現(xiàn)了許多基于工作流的服務組合 項目,如“】、 、 ”等,服務組合方式可分為靜態(tài)組合和動態(tài)組合方式。靜態(tài)組 合方式在流程執(zhí)行前定義了流程結(jié)構(gòu)并綁定具體服務,這種 收稿臼期:? : 基金項目:

5、浙江省科技廳重大重點科技攻關(guān)基金項目)。 作者簡介:夏海江(一),男,浙江溫州人,碩士研究生,講師,研究方向為服務組合、應用中間件技術(shù); 研究方向為工作流、服務組合; 吳朝暉,教授,博士生導師,研究方向為網(wǎng)格與軟件平臺、分布式人工智能等。 鄧水光,男,博士研究生 一 萬 方數(shù)據(jù) 框架結(jié)構(gòu),并對組合規(guī)則和算法進行了詳細抽述。 在定義黑盒子流程時,、為空。在流程運行時根 據(jù)用戶需求在中自動填入的實際運行抽象服務集,在 填入用戶的需求規(guī)則,并根據(jù)在規(guī)則庫中查詢相應業(yè)務 規(guī)則加入中。 規(guī)則定義 定義 場景 以一個旅游預定業(yè)務的場景來說明動態(tài)服務流程的 需求。一家旅游公司開展個性化旅游服務業(yè)務,業(yè)務流程

6、如 圖所示。在取得客戶基本信息、信用卡信息后,先調(diào)動相應 核查信用卡信息曲服務,若有效再取得客戶需求信息,通過 調(diào)用各相關(guān)公司或代理提供的服務完成相應項目的預 定,最后通過調(diào)用信用卡服務完成收費。由于客戶需要 預定項目各異(如是否需要預定機票、旅館、旅游項目、餐飲、 車輛、保險等),同時預定項目選 取和預定先后次序受政策、行 規(guī)、公司業(yè)務規(guī)則、相互間數(shù)據(jù)和控制依賴等因素制約(如參 加某項目必須買某項保險,在完成機票預定后才能預定旅館 等),項目預定功能無法事先設定流程,不同客戶需求產(chǎn)生的 流程結(jié)構(gòu)可能是不同的,只有在流程運行根據(jù)客戶需求才能 確定實際流程。 其中:卜規(guī)則類型,規(guī)則涉及的服務集,

7、規(guī) 則表達式。 抽象服務選取規(guī)則 規(guī)定了黑盒子流程在選取抽象服務必須滿足約 束條件。 定義 選擇規(guī)則:表達式爿爿行表示至少有一 規(guī)則以三元組表示,) 項必須被選中。 定義 選一項。 定義 依賴規(guī)則:表達式彳表示如果選中, 排斥規(guī)則:表達式彳爿船表示最多只能 必須被選中。 定義 單個規(guī)則:表達式表示必須表中, 表達式:表示不能選中。 抽象服務組合規(guī)則 規(guī)定了黑盒子流程展開為實際的流程時抽象服務 之間的結(jié)構(gòu)關(guān)系。 定義順序規(guī)則:表達式一爿表示必須在之 后執(zhí)行,但不一定與相連。 定義 相連規(guī)則:表達式吲表示在之后執(zhí) 數(shù)據(jù)依賴規(guī)則:表達式 表示的輸入 行并且必須相連。 定義 依賴輸出。規(guī)則隱含有一爿規(guī)

8、則。 具體服務選取規(guī)則 圖旅游項目預定業(yè)務流程 在流程運行時抽象服務要綁定為具體服務才能執(zhí)行,一 個抽象服務往往有多個接口功能相同的具體相匹配,是 選取綁定服務時必須遵守的規(guī)則。 定義優(yōu)先規(guī)則:表達式三日其中為抽象服務,為 具體服務,表示抽象服務綁定具體服務時優(yōu)先考慮。 定義關(guān)聯(lián)規(guī)則:表達式;其中,為抽象 , 服務,為具體服務,表示若選取,則必須選取。 計算公式:目前我們只考慮了費用和時間兩項指標, 由于兩者度量單位不同,用文獻提出的公式來無量綱化。 設候選具體服務集為,),其費用和時間值分別 為,和,協(xié),為,)最大 值和最小值。 基本定義 活動節(jié)點定義 定義具體服務描述了業(yè)務伙伴提供的服務接

9、口, 以八元組表示 其中:服務名稱,服務提 供者信息,操作名 稱,操作的功能描述,輸入信息,輸出信息, 初始條件,執(zhí)行結(jié)果。 定義抽象服務提供了“占位”功能,它描述了所要調(diào)用 服務應具備的功能、輸入輸出信息,以四元組表示 , 其中:服務名稱,功能描述,輸入信息,一 輸出信息。 定義 組表示 ,) 黑盒子流程封裝事先無法明確的子流程,以五元 吒轡黑? 氣石面函面 當聆: 聆 當 同理可得,則具體服務的值為()(一 )(),值為權(quán)重系數(shù),由用戶需求而定。 定義局部規(guī)則:表達式()(其中為抽 象服務,玎)來表示權(quán)重系數(shù),在選取抽象服務時,按權(quán) 重值計算具體服務。 定義 全局規(guī)則:表達式(”)來表示權(quán)

10、重 一 其中:黑盒子流程名稱;鼢一子流程中所有候選抽象 服務集;實際流程所選的抽象服務集,它是的子 集;規(guī)則集;選取具體服務集。 萬 方數(shù)據(jù) 系數(shù),在綁定服務時,若無,按作為默認值權(quán)重值計算 具體服務。 定義 費用規(guī)則:表達式似)玎其中為抽象服務, 初始化:, 表示在綁定抽象服務時,所選具體服務的費用不能大于。 ?!?為 ,。 ) 黑盒子流程展開算法 在服務流程運行時,先將黑盒子流程根據(jù)抽象服務組合 算法展開為抽象子流程,再根據(jù)具體服務選取算法選取具體 服務組合運行子流程。 定義子流圖,:表示子流圖是有向無環(huán)圖。 其中是子流圖中的節(jié)點集合,包括一個開始節(jié)點、一個 結(jié)束節(jié)點以及抽象活動節(jié)點;是有

11、向邊集合。 定義 入度函數(shù)():其中是予流圖中節(jié)點,表示 ” 為)() ; (。) (劃” 為()() ” 為() ” 以為頭的有向邊數(shù)目:出度函數(shù)():表示以為尾的有 向邊數(shù)目。連通函數(shù)(,):表示若從結(jié)點出發(fā)能夠 到達結(jié)點,則(,)為真,否則為假。 抽象服務組合算法:組合時若兩節(jié)點間無組合規(guī)則約束, 則將它們并發(fā)處理,提高流程執(zhí)行效率。 : :, 其中:,)為用選定的抽象服務集, 為組合規(guī)則集。 :,或 檢查是否符合規(guī)則,若否返回; 初始化:,) ;”; 謾 (” 為。 。 ) ; ) 框架結(jié)構(gòu) 為了實現(xiàn)服務流程的動態(tài)組合,我們設計了一個實現(xiàn)動 態(tài)服務流程的框架結(jié)構(gòu)(如圖所示)。其中流程庫

12、存儲服務 流程定義文件;規(guī)則庫存儲業(yè)務規(guī)則,我們把相關(guān)領(lǐng)域規(guī)則和 ,) 型” 為 (,), 業(yè)務規(guī)則統(tǒng)稱為業(yè)務規(guī)則;服務庫存儲業(yè)務伙伴注冊的 , , 服務接口描述文件。 則庫) 俎務鹿 (” 為礦峨 (,), ,) , , , (” 為 () (,), ! , , 子流程 組合器 回 膛一噩螽 器 具體 務 務 (硭)(,),(,) , ()(,) ()(,) ) ) 具 觚上勰斯彈 壚仃一 一用需 一戶求 服 具體服務選取算法:在將抽象服務綁定為具體服務時,若 無優(yōu)先規(guī)則、關(guān)聯(lián)規(guī)則約束,則依照最大值選取。 : 圖動態(tài)服務流程框架結(jié)構(gòu) 流程設計者通過圖形化流程定義工具,參照從規(guī)則庫和 服務庫獲

13、取規(guī)則和具體服務接口描述進行設計。在定義活動 節(jié)點時,如果活動所需調(diào)用服務是事先可以明確的固定服務, 則直接設置為具體服務;若活動所需調(diào)用服務需動態(tài)選擇,則 定義為抽象服務,對于事先無法明確流程的子流程,則封裝為 黑盒子流程。 :,) 其中:。,)為用選定的抽象服務集;札,) 為組合規(guī)則集;。,:,。)為選定具體服務集,初始為。 。,:,。)其中;為對應的候選具體服務集 :或 一一 萬 方數(shù)據(jù) 流程執(zhí)行引擎是系統(tǒng)核心部件,負責動態(tài)流程的執(zhí)行。 在執(zhí)行時若活動節(jié)點為黑盒子流程,由子流程組合器根據(jù)組 合規(guī)則和流程執(zhí)行信息組合為執(zhí)行子流程,并將展開的子流 程返回執(zhí)行引擎繼續(xù)執(zhí)行;若活動節(jié)點為抽象服務

14、,由服務 匹配器根據(jù)具體服務選取規(guī)則從服務庫中選取具體服務,并 將取得的具體服務返回執(zhí)行引擎繼續(xù)執(zhí)行;若活動節(jié)點為具 體服務,執(zhí)行引擎通過調(diào)用業(yè)務伙伴的具體服務完成業(yè)務 流程,若調(diào)用具體服務時發(fā)生異常,交由服務匹配器重新選 取服 務。 圓 吲 : ,( ): , ,: , 川 , , , , 結(jié)束語 本文提出一種基于工作流服務動態(tài)組合方法,用黑 盒子流程封裝難以事先定義流程結(jié)構(gòu)的部分,根據(jù)用戶需求 和預定義規(guī)則擴展為實際流程。 當業(yè)務規(guī)則發(fā)生變化時,只需更改相應規(guī)則,適應了現(xiàn)代 業(yè)務流程復雜多變的需求。采用何種策略解決規(guī)則沖突是我 們下一步的研究方向。 吲 吲 ,(): , , , ,: ,

15、, : 參考文獻: 】 , 吲 【: ? , , , : ,(): (上接第頁) 參考文獻: 】 周曉鋒,劉馨月,張靖波,等基于可重用組件技術(shù)的軟件開發(fā)方 法】信息技術(shù),(): 一 (一舊 “ 】 ,侯捷,熊節(jié): 重構(gòu)改善既有代碼的設計【北京:中國電 力出版社, 】 肖統(tǒng)民具有數(shù)據(jù)庫更新通知功能的數(shù)據(jù)庫中間件現(xiàn)代計 算機,( ): 【】 王懷民,王玉峰,丁博分布對象中間件技術(shù)發(fā)展以 標準為背景】中國計算機學會通訊,(): : , 圖應對變化,重構(gòu)的中間件結(jié)構(gòu) 結(jié)束語 通觀上述的設計過程,我們不難發(fā)現(xiàn)“需求的變化是隨時 都可能發(fā)生的”。盡管這里的討論有示意性的味道,但是“應 對變化”是一個不可爭議的事實。 軟 件開發(fā)需要優(yōu)秀的前期設計,因為這是構(gòu)筑軟件系統(tǒng) 的根基,也是未來適應變化的前提;軟件開發(fā)同樣需要不斷的 重構(gòu),因為只有這樣才可以找到改變的平衡點。于是,人們會 發(fā)現(xiàn)所謂設計不再是一切動作的前提,而是整個開發(fā)過程中 逐漸浮現(xiàn)出來的。 當

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論