專利名稱:基于內(nèi)部工作流的網(wǎng)格服務(wù)構(gòu)造方法
技術(shù)領(lǐng)域:
本發(fā)明是一種網(wǎng)格環(huán)境下面向應(yīng)用的網(wǎng)格服務(wù)使用方法的解決方案,主要用于解決復(fù)雜網(wǎng)格服務(wù)的使用問題,屬于網(wǎng)格計(jì)算技術(shù)領(lǐng)域。
背景技術(shù):
網(wǎng)格計(jì)算是一個(gè)分布式和并行計(jì)算的支持平臺(tái),是一種無縫、集成計(jì)算和協(xié)同環(huán)境。它可以作為虛擬的整體使用在地理上分散的計(jì)算資源,如高速互連的異構(gòu)計(jì)算機(jī)、數(shù)據(jù)庫、科學(xué)儀器、文件和超級(jí)計(jì)算系統(tǒng)等?;贗nternet的網(wǎng)格計(jì)算系統(tǒng)不但能使人們聚集分散的計(jì)算能力、形成超級(jí)計(jì)算的能力,解決諸如高能物理、大氣、天文、生物信息和石油地質(zhì)等許多重大應(yīng)用領(lǐng)域中的問題(諸如虛擬核爆炸、新藥研制、氣象預(yù)報(bào)和環(huán)境監(jiān)測(cè)等),而且還能使人們共享和充分利用網(wǎng)絡(luò)中的各種資源。簡(jiǎn)言之,網(wǎng)格把整個(gè)Internet整合成一臺(tái)巨大的超級(jí)計(jì)算機(jī),實(shí)現(xiàn)計(jì)算資源、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源的全面共享和協(xié)同。
網(wǎng)格計(jì)算技術(shù)的核心是解決網(wǎng)格研究所面臨的應(yīng)用集成、資源共享、系統(tǒng)互操作和標(biāo)準(zhǔn)化等問題,目前,一些研究工作也從不同的角度嘗試借助Web服務(wù)來部分地解決網(wǎng)格系統(tǒng)的互操作性。2001年,F(xiàn)oster提出了開放的網(wǎng)格服務(wù)體系架構(gòu)(簡(jiǎn)稱OGSA),將Web服務(wù)的互操作模型引入到網(wǎng)格研究中,確立了Web服務(wù)作為網(wǎng)格資源的新的抽象形式和使用基礎(chǔ)。盡管OGSA提出了Web服務(wù)在網(wǎng)格基礎(chǔ)架構(gòu)中的中心地位,但是并沒有明確指出Web服務(wù)如何直接應(yīng)用于網(wǎng)格系統(tǒng)使用和網(wǎng)格平臺(tái)建設(shè),現(xiàn)有的網(wǎng)格服務(wù)方法難以將不同的網(wǎng)格應(yīng)用集成起來,使應(yīng)用彼此像一個(gè)天衣無縫的整體協(xié)調(diào)工作,因此,開發(fā)新的能面向應(yīng)用集成的網(wǎng)格服務(wù)方法顯得越來越重要。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種基于內(nèi)部工作流的網(wǎng)格服務(wù)構(gòu)造方法,使得工作流技術(shù)服務(wù)于網(wǎng)格服務(wù)之中,從而充分發(fā)揮出二者的優(yōu)點(diǎn),為協(xié)同應(yīng)用及應(yīng)用集成提供可行方案,通過使用本發(fā)明提出的方法可以達(dá)到網(wǎng)格服務(wù)協(xié)同應(yīng)用的目標(biāo)。
技術(shù)方案本發(fā)明的方法是一種策略性的方法,通過引入內(nèi)工作流功能而提出,其目標(biāo)是通過服務(wù)組合、工作流管理等來動(dòng)態(tài)的解決網(wǎng)格環(huán)境下的系統(tǒng)應(yīng)用問題。
內(nèi)工作流的內(nèi)涵1.工作流是一類能夠完全或者部分自動(dòng)執(zhí)行的經(jīng)營(yíng)過程,文檔、信息或任務(wù)遵循一定的規(guī)則在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。
2.外部工作流可以控制一組構(gòu)成應(yīng)用程序的網(wǎng)格服務(wù)流,也就是說工作流調(diào)用的是外部網(wǎng)格服務(wù),這些服務(wù)可以是在建模時(shí)確定的,也可能是客戶端應(yīng)用。
3.內(nèi)工作流是指作為網(wǎng)格服務(wù)來提供的工作流,該工作流作為網(wǎng)格服務(wù)可以被提交計(jì)算請(qǐng)求的網(wǎng)格應(yīng)用客戶調(diào)用,而且請(qǐng)求創(chuàng)建后,工作流應(yīng)用程序可以自動(dòng)根據(jù)當(dāng)前的資源情況以及客戶請(qǐng)求的情況來制定計(jì)算執(zhí)行的過程或者步驟,工作流引擎負(fù)責(zé)工作調(diào)度。
一、體系結(jié)構(gòu)基于內(nèi)工作流的網(wǎng)格服務(wù)使用方法體系結(jié)構(gòu)可以分為兩部分客戶端應(yīng)用和服務(wù)器端應(yīng)用。服務(wù)器端應(yīng)用包括執(zhí)行引擎、執(zhí)行監(jiān)視、模型庫和GSH??蛻舳藨?yīng)用包括服務(wù)搜索器、服務(wù)建模工具。
下面我們給出幾個(gè)具體部分的說明執(zhí)行引擎執(zhí)行引擎是整個(gè)原型的核心并被實(shí)現(xiàn)為網(wǎng)格服務(wù)。對(duì)于基于內(nèi)工作流的網(wǎng)格服務(wù)來說,執(zhí)行引擎就是服務(wù)的容器,執(zhí)行引擎負(fù)責(zé)管理服務(wù)流程的生命周期,創(chuàng)建構(gòu)件服務(wù)實(shí)例,激活服務(wù)的操作(事實(shí)上,服務(wù)的操作其實(shí)是流程模型,以下簡(jiǎn)稱為服務(wù)流),處理對(duì)服務(wù)數(shù)據(jù)的訪問以及服務(wù)生成的主題消息的訂閱、發(fā)布等。執(zhí)行引擎主要協(xié)調(diào)器,語言解析器,服務(wù)調(diào)用代理和管理狀態(tài)數(shù)據(jù)的數(shù)據(jù)管理器等幾個(gè)重要構(gòu)件組成。
執(zhí)行監(jiān)視一個(gè)特殊的網(wǎng)格服務(wù),它是執(zhí)行引擎狀態(tài)消息的訂閱者。其職責(zé)是監(jiān)聽執(zhí)行引擎發(fā)布的狀態(tài)消息,并記錄收到的一切消息。
模型庫模型庫構(gòu)件是建模工具的服務(wù)器端,其職責(zé)是解析文檔,生成服務(wù)流的部署描述信息,把這些信息寫到WSDD文件,完成服務(wù)流的部署,最后再把文檔保存到文檔數(shù)據(jù)庫中。
GSHGSH(Grid Service Handle,網(wǎng)格服務(wù)句柄)的職責(zé)是截獲相關(guān)GSR(GridService Reference,網(wǎng)格服務(wù)參考,一種地址)的消息,最終于提供網(wǎng)格服務(wù)的節(jié)點(diǎn)形成網(wǎng)格環(huán)境下唯一標(biāo)識(shí)符。如果消息請(qǐng)求的是執(zhí)行服務(wù)流或者獲取服務(wù)流的狀態(tài)信息,則把消息轉(zhuǎn)發(fā)給執(zhí)行引擎進(jìn)行處理,執(zhí)行引擎處理完畢后,再返回處理結(jié)果;如果消息請(qǐng)求的是服務(wù)流的GSR,則從文檔數(shù)據(jù)庫中讀取相應(yīng)的服務(wù)流規(guī)范并自動(dòng)映射成對(duì)應(yīng)的WSDL(Web Service Description Language,萬維網(wǎng)服務(wù)描述語言)文檔,返回給請(qǐng)求者。因此,從用戶的角度來看,基于內(nèi)工作流的網(wǎng)格服務(wù)與簡(jiǎn)單網(wǎng)格服務(wù)沒有什么區(qū)別。
二、方法流程在Web服務(wù)研究領(lǐng)域,已經(jīng)開發(fā)了一些方法或技術(shù),用于描述Web服務(wù)之間的協(xié)同以及Web服務(wù)的組合,如WSFL、BPEL4WS等。這些語言以過程模型為基礎(chǔ),描述活動(dòng)和活動(dòng)之間的關(guān)系,如分支關(guān)系、合流關(guān)系等,而服務(wù)則是活動(dòng)的執(zhí)行者,在執(zhí)行時(shí),活動(dòng)被綁定到具體的服務(wù)實(shí)現(xiàn)。為了定義活動(dòng)和服務(wù)之間的綁定關(guān)系,它們對(duì)WSDL進(jìn)行了擴(kuò)充。這些面向Web服務(wù)的流程語言,基本能夠解決OGSA框架下的網(wǎng)格服務(wù)協(xié)同和組合問題?;趦?nèi)工作流的網(wǎng)格服務(wù)使用方法,基于BPEL4WS,用Java語言開發(fā)了面向服務(wù)的工作流支持功能?;趦?nèi)工作流的網(wǎng)格服務(wù)使用方法流程如下1.建模工程師利用服務(wù)搜索器搜索網(wǎng)格服務(wù)。服務(wù)搜索器有自己獨(dú)立的執(zhí)行線程,負(fù)責(zé)從GT3核心獲取已經(jīng)部署的可用的網(wǎng)格服務(wù)信息,從中抽取對(duì)組合服務(wù)建模工程師有用的信息,如網(wǎng)格服務(wù)的GSH、操作描述、消息定義等。
2.建模工程師利用建模工具編輯文檔,定義網(wǎng)格服務(wù)流規(guī)劃。
3.建模工程師完成服務(wù)流建模后,利用編輯器提供的組合服務(wù)部署功能,在模型庫的幫助下,部署服務(wù)流。
4.最終用戶發(fā)出網(wǎng)格服務(wù)請(qǐng)求消息。
5.GSH截獲相關(guān)GSR(Grid Service Reference,網(wǎng)格服務(wù)參考)的消息,對(duì)其進(jìn)行分析。如果消息請(qǐng)求的是執(zhí)行服務(wù)流或者獲取服務(wù)流的狀態(tài)信息,則把消息轉(zhuǎn)發(fā)給執(zhí)行引擎進(jìn)行處理,執(zhí)行引擎處理完畢后,再返回處理結(jié)果;如果消息請(qǐng)求的是服務(wù)流的GSR,則從文檔數(shù)據(jù)庫中讀取相應(yīng)的服務(wù)規(guī)范并自動(dòng)映射成對(duì)應(yīng)的WSDL文檔,返回給請(qǐng)求者。
6.執(zhí)行引擎收到GSH發(fā)來的消息,實(shí)現(xiàn)網(wǎng)格服務(wù)創(chuàng)建構(gòu)件服務(wù)實(shí)例,激活服務(wù)的操作,管理服務(wù)的生命周期。
下面對(duì)執(zhí)行引擎重要構(gòu)件的功能進(jìn)行說明(1)協(xié)調(diào)器職責(zé)就是解釋流程模型,協(xié)調(diào)流程模型中定義的所有網(wǎng)格服務(wù)的運(yùn)行。協(xié)調(diào)器并不真正激活網(wǎng)格服務(wù),而是把激活網(wǎng)格服務(wù)的任務(wù)委托給服務(wù)調(diào)用代理。
(2)服務(wù)調(diào)用代理首先通過解析服務(wù)部署文件獲取服務(wù)的元信息,如該服務(wù)是否是服務(wù)流。如果是服務(wù)流,則返回流程模型信息,由協(xié)調(diào)器調(diào)用語言解析器解析流程模型,然后生成新的執(zhí)行線索。如果是簡(jiǎn)單服務(wù),則激活相應(yīng)的反序列化處理子,把XML編碼的參數(shù)轉(zhuǎn)換為對(duì)應(yīng)的Java對(duì)象方法所需要的參數(shù)類型,調(diào)用Java對(duì)象方法,最后再利用序列化處理子把結(jié)果對(duì)象轉(zhuǎn)換為XML文檔。
(3)顧名思義,解析器的功能就是解析文檔并生成執(zhí)行計(jì)劃。服務(wù)流的客戶可以通過GT3核心提供的標(biāo)準(zhǔn)操作訂閱服務(wù)流的主題消息。如果客戶訂閱的某一主題消息的生產(chǎn)者并不是服務(wù)流,而是服務(wù)流包含的服務(wù)構(gòu)件。
(4)數(shù)據(jù)管理器就把相關(guān)的處理委托給相應(yīng)的服務(wù)構(gòu)件,否則就直接處理。對(duì)于服務(wù)數(shù)據(jù)的處理也與此類似,如果數(shù)據(jù)的所有者是服務(wù)流,則數(shù)據(jù)管理器構(gòu)件就直接處理,否則委托給該服務(wù)數(shù)據(jù)的所有者。
有益效果本發(fā)明方法提出了基于內(nèi)工作流的網(wǎng)格服務(wù)方案,主要用于基于網(wǎng)格服務(wù)的工作流系統(tǒng)應(yīng)用集成,通過使用本發(fā)明提出的方法可以避免過去應(yīng)用集成的復(fù)雜性、可以提高靈活性,可以有效的達(dá)到協(xié)同應(yīng)用的目的。下面我們給出具體的說明。
1.簡(jiǎn)單性在該方法中應(yīng)用以服務(wù)形式提供給工作流系統(tǒng),則工作流系統(tǒng)只需獲得網(wǎng)格服務(wù)接口,便可直接調(diào)用之,而不需對(duì)其內(nèi)部實(shí)現(xiàn)有絲毫了解。舉例來說,另一方面,工作流可以作為網(wǎng)格服務(wù)工作流,網(wǎng)格服務(wù)可以被提交計(jì)算請(qǐng)求的網(wǎng)格應(yīng)用客戶調(diào)用。創(chuàng)建請(qǐng)求后,工作流應(yīng)用程序可以自動(dòng)根據(jù)當(dāng)前的資源情況以及客戶請(qǐng)求的情況來制定計(jì)算執(zhí)行的過程或者步驟,工作流引擎負(fù)責(zé)工作調(diào)度和任務(wù)處理分配,從而大大簡(jiǎn)化了工作流系統(tǒng)應(yīng)用集成應(yīng)用。
2.易于擴(kuò)展性在本方法中,已有的工作流系統(tǒng)如工作流建模、監(jiān)控、工作流引擎等等無需做結(jié)構(gòu)上的改動(dòng),工作流的工作過程也沒有發(fā)生改變,仍舊是引擎執(zhí)行工作流定義,控制流程路由,只是執(zhí)行具體的應(yīng)用變化成了調(diào)用網(wǎng)格服務(wù),也就是說已有的工作流系統(tǒng)非常容易擴(kuò)展到集成更多的應(yīng)用。
3.跨平臺(tái)性對(duì)于工作流系統(tǒng)來說,無論是被調(diào)應(yīng)用還是用戶端應(yīng)用,應(yīng)用以網(wǎng)格服務(wù)形式提供,以服務(wù)聚合為中心的高層服務(wù)接口對(duì)節(jié)點(diǎn)的應(yīng)用進(jìn)行組合并實(shí)例化,節(jié)點(diǎn)應(yīng)用以網(wǎng)格服務(wù)形式執(zhí)行,網(wǎng)格服務(wù)的發(fā)現(xiàn)、注冊(cè)等等也由信息服務(wù)來完成,可見,只需要獲得GSH就可調(diào)用網(wǎng)格服務(wù),至于網(wǎng)格服務(wù)的實(shí)現(xiàn)是用。NET還是J2EE,Linux,工作流系統(tǒng)根本無需了解。
4.高級(jí)的命名訪問為了對(duì)不同的應(yīng)用調(diào)用,工作流系統(tǒng)規(guī)定了被調(diào)應(yīng)用、用戶端應(yīng)用、和工作流系統(tǒng)互連接口。利用網(wǎng)格服務(wù)統(tǒng)一了這些接口,或者說只需按名(利用GSH)調(diào)用,實(shí)現(xiàn)了接口的名字服務(wù),使得工作流系統(tǒng)參考模型可以采用更高級(jí)形式訪問應(yīng)用。
5增強(qiáng)了互連性系統(tǒng)分布式工作流系統(tǒng)往往比較困難,因?yàn)楣ぷ髁飨到y(tǒng)要確定互操作模型和級(jí)別,并定義一組操作集來實(shí)現(xiàn)。把工作流程注冊(cè)為網(wǎng)格服務(wù),互操作基于OGSI來進(jìn)行使得問題容易解決。
圖1是基于內(nèi)工作流的網(wǎng)格服務(wù)使用方法體系結(jié)構(gòu)示意圖。圖中包括執(zhí)行引擎、執(zhí)行監(jiān)視、模型庫和GSH、服務(wù)搜索器、服務(wù)建模工具。
圖2是基于內(nèi)工作流的網(wǎng)格服務(wù)的系統(tǒng)應(yīng)用集成實(shí)例。
圖3是基于內(nèi)部工作流的網(wǎng)格服務(wù)使用方法。
圖4是執(zhí)行引擎執(zhí)行流程。
具體實(shí)施例方式
為了方便描述,我們假定有如下基于內(nèi)工作流的網(wǎng)格服務(wù)的系統(tǒng)應(yīng)用集成應(yīng)用實(shí)例一個(gè)工作流系統(tǒng)(用A表示)要調(diào)用另一個(gè)工作流系統(tǒng)中的活動(dòng)(工作流用B表示、活動(dòng)用d表示),顯然、這要求兩個(gè)工作流系統(tǒng)能夠進(jìn)行共享、互操作、集成。利用基于內(nèi)工作流的網(wǎng)格服務(wù)方案實(shí)施方式如下工作流系統(tǒng)A的建立及執(zhí)行(基于內(nèi)工作流的網(wǎng)格服務(wù)流程)步驟1建模工程師利用服務(wù)搜索器搜索網(wǎng)格服務(wù)。服務(wù)搜索器有自己獨(dú)立的執(zhí)行線程,負(fù)責(zé)從GT3核心獲取已經(jīng)部署的可用的網(wǎng)格服務(wù)信息,從中抽取對(duì)組合服務(wù)建模工程師有用的信息,如網(wǎng)格服務(wù)的GSH、操作描述、消息定義等。
步驟2建模工程師利用建模工具編輯文檔,定義網(wǎng)格服務(wù)流規(guī)劃。
步驟3建模工程師完成服務(wù)流建模后,利用編輯器提供的組合服務(wù)部署功能,在模型庫的幫助下,部署服務(wù)流。
步驟4最終用戶發(fā)出網(wǎng)格服務(wù)請(qǐng)求消息。
步驟5GSH截獲相關(guān)GSR(Grid Service Reference,網(wǎng)格服務(wù)參考)的消息,對(duì)其進(jìn)行分析。如果消息請(qǐng)求的是執(zhí)行服務(wù)流或者獲取服務(wù)流的狀態(tài)信息,則把消息轉(zhuǎn)發(fā)給執(zhí)行引擎進(jìn)行處理,執(zhí)行引擎處理完畢后,再返回處理結(jié)果;如果消息請(qǐng)求的是服務(wù)流的GSR,則從文檔數(shù)據(jù)庫中讀取相應(yīng)的服務(wù)規(guī)范并自動(dòng)映射成對(duì)應(yīng)的WSDL文檔,返回給請(qǐng)求者。
步驟6執(zhí)行引擎收到GSH發(fā)來的消息,實(shí)現(xiàn)網(wǎng)格服務(wù)創(chuàng)建構(gòu)件服務(wù)實(shí)例,激活服務(wù)的操作,管理服務(wù)的生命周期。
執(zhí)行引擎的執(zhí)行流程步驟1協(xié)調(diào)器解釋流程模型,協(xié)調(diào)流程模型中定義的所有網(wǎng)格服務(wù)的運(yùn)行。協(xié)調(diào)器并不真正激活網(wǎng)格服務(wù),而是把激活網(wǎng)格服務(wù)的任務(wù)委托給服務(wù)調(diào)用代理。
步驟2服務(wù)調(diào)用代理通過解析服務(wù)部署文件獲取服務(wù)的元信息,如該服務(wù)是否是服務(wù)流。如果是服務(wù)流,則返回流程模型信息,由協(xié)調(diào)器調(diào)用語言解析器解析流程模型,然后生成新的執(zhí)行線索。如果是簡(jiǎn)單服務(wù),則激活相應(yīng)的反序列化處理子,把XML編碼的參數(shù)轉(zhuǎn)換為對(duì)應(yīng)的Java對(duì)象方法所需要的參數(shù)類型,調(diào)用Java對(duì)象方法,最后再利用序列化處理子把結(jié)果對(duì)象轉(zhuǎn)換為XML文檔。
步驟3解析器解析文檔并生成執(zhí)行計(jì)劃。服務(wù)流的客戶可以通過GT3核心提供的標(biāo)準(zhǔn)操作訂閱服務(wù)流的主題消息。如果客戶訂閱的某一主題消息的生產(chǎn)者并不是服務(wù)流,而是服務(wù)流包含的服務(wù)構(gòu)件。
工作流B的建立和執(zhí)行如同工作流A工作流A調(diào)用工作流B步驟1工作流系統(tǒng)B封裝為一個(gè)基于內(nèi)工作流的網(wǎng)格服務(wù),向外界提供URI,其中d為一個(gè)接口。
步驟2工作流系統(tǒng)B封裝的基于內(nèi)工作流的網(wǎng)格服務(wù)在服務(wù)中心注冊(cè)。
步驟3工作流系統(tǒng)A的利用網(wǎng)格服務(wù)搜索器在注冊(cè)中心搜索服務(wù)。
步驟4注冊(cè)中心將匹配服務(wù)的服務(wù)描述提供給工作流系統(tǒng)A,其中包括工作流系統(tǒng)B封裝成的一個(gè)基于內(nèi)工作流的網(wǎng)格服務(wù)。
步驟5工作流系統(tǒng)A向工作流系統(tǒng)B發(fā)送SOAP消息,實(shí)施服務(wù)調(diào)用,工作流系統(tǒng)A對(duì)該服務(wù)的使用進(jìn)行權(quán)限控制。
步驟6權(quán)限驗(yàn)證通過,具體的服務(wù)執(zhí)行由活動(dòng)d完成,對(duì)于活動(dòng)d的使用,工作流系統(tǒng)A利用服務(wù)命令進(jìn)行管理;步驟7工作流B執(zhí)行。
權(quán)利要求
1.一種基于內(nèi)部工作流的網(wǎng)格服務(wù)構(gòu)造方法,其特征在于該方法所包含的步驟為步驟1利用服務(wù)搜索器搜索網(wǎng)格服務(wù),服務(wù)搜索器有自己獨(dú)立的執(zhí)行線程,負(fù)責(zé)從網(wǎng)格中間件核心獲取已經(jīng)部署的可用的網(wǎng)格服務(wù)信息,從中抽取對(duì)組合服務(wù)有用的信息,即網(wǎng)格服務(wù)的引用標(biāo)識(shí)、操作描述、消息定義;步驟2利用建模工具編輯文檔,定義網(wǎng)格服務(wù)流規(guī)劃;步驟3完成服務(wù)流建模后,利用編輯器提供的組合服務(wù)部署功能,在模型庫的幫助下,部署服務(wù)流;步驟4最終用戶發(fā)出網(wǎng)格服務(wù)請(qǐng)求消息;步驟5網(wǎng)格截獲相關(guān)網(wǎng)格服務(wù)參考地址的消息,對(duì)其進(jìn)行分析;如果消息請(qǐng)求的是執(zhí)行服務(wù)流或者獲取服務(wù)流的狀態(tài)信息,則把消息轉(zhuǎn)發(fā)給執(zhí)行引擎,執(zhí)行引擎處理完畢后,再返回處理結(jié)果;如果消息請(qǐng)求的是服務(wù)流的網(wǎng)格服務(wù)參考地址,則從文檔數(shù)據(jù)庫中讀取相應(yīng)的服務(wù)規(guī)范并自動(dòng)映射成對(duì)應(yīng)的萬維網(wǎng)服務(wù)說明文檔,返回給請(qǐng)求者;步驟6執(zhí)行引擎收到網(wǎng)格發(fā)來的消息,實(shí)現(xiàn)網(wǎng)格服務(wù)創(chuàng)建構(gòu)件服務(wù)實(shí)例,激活服務(wù)的操作,管理服務(wù)的生命周期。
2.根據(jù)權(quán)利要求1所述的基于內(nèi)部工作流的網(wǎng)格服務(wù)使用方法,特征在于執(zhí)行引擎執(zhí)行流程的步驟為步驟21協(xié)調(diào)器解釋流程模型,協(xié)調(diào)流程模型中定義的所有網(wǎng)格服務(wù)的運(yùn)行,協(xié)調(diào)器并不真正激活網(wǎng)格服務(wù),而是把激活網(wǎng)格服務(wù)的任務(wù)委托給服務(wù)調(diào)用代理;步驟22服務(wù)調(diào)用代理通過解析服務(wù)部署文件獲取服務(wù)的元信息,如該服務(wù)是否是服務(wù)流;如果是服務(wù)流,則返回流程模型信息,由協(xié)調(diào)器調(diào)用語言解析器解析流程模型,然后生成新的執(zhí)行線索;如果是簡(jiǎn)單服務(wù),則激活相應(yīng)的反序列化處理子,把可擴(kuò)展編碼的參數(shù)轉(zhuǎn)換為對(duì)應(yīng)的Java對(duì)象方法所需要的參數(shù)類型,調(diào)用Java對(duì)象方法,最后再利用序列化處理子把結(jié)果對(duì)象轉(zhuǎn)換為可擴(kuò)展語言文檔;步驟23解析器解析文檔并生成執(zhí)行計(jì)劃;服務(wù)流的客戶可以通過網(wǎng)格中間件核心提供的標(biāo)準(zhǔn)操作訂閱服務(wù)流的主題消息;步驟24如果客戶訂閱的某一主題消息的生產(chǎn)者并不是服務(wù)流,而是服務(wù)流包含的服務(wù)構(gòu)件;數(shù)據(jù)管理器就把相關(guān)的處理委托給相應(yīng)的服務(wù)構(gòu)件,否則就直接處理;對(duì)于服務(wù)數(shù)據(jù)的處理也與此類似,如果數(shù)據(jù)的所有者是服務(wù)流,則數(shù)據(jù)管理器構(gòu)件就直接處理,否則委托給該服務(wù)數(shù)據(jù)的所有者。
全文摘要
基于內(nèi)工作流的網(wǎng)格服務(wù)構(gòu)造方法是一種網(wǎng)格環(huán)境下面向應(yīng)用的網(wǎng)格服務(wù)使用方法的解決方案。該方法所包含的步驟為步驟1利用服務(wù)搜索器搜索網(wǎng)格服務(wù),步驟2利用建模工具編輯文檔,定義網(wǎng)格 服務(wù)流規(guī)劃;步驟3完成服務(wù)流建模后,利用編輯器提供的組合服務(wù)部署功能,在模型庫的幫助下,部署服務(wù)流;步驟4最終用戶發(fā)出網(wǎng)格服務(wù)請(qǐng)求消息;步驟5網(wǎng)格截獲相關(guān)網(wǎng)格服務(wù)參考地址的消息,對(duì)其進(jìn)行分析;步驟6執(zhí)行引擎收到網(wǎng)格發(fā)來的消息,實(shí)現(xiàn)網(wǎng)格服務(wù)創(chuàng)建構(gòu)件服務(wù)實(shí)例,激活服務(wù)的操作。主要用于解決復(fù)雜網(wǎng)格服務(wù)的使用問題,使得工作流技術(shù)服務(wù)于網(wǎng)格服務(wù)之中,從而充分發(fā)揮出二者的優(yōu)點(diǎn),為協(xié)同應(yīng)用及應(yīng)用集成提供可行方案。
文檔編號(hào)G06Q10/06GK1731432SQ200510094039
公開日2006年2月8日 申請(qǐng)日期2005年8月26日 優(yōu)先權(quán)日2005年8月26日
發(fā)明者王汝傳, 任勛益 申請(qǐng)人:南京郵電大學(xué)