專利名稱:用于環(huán)球網(wǎng)服務(wù)結(jié)構(gòu)中的包容器選擇器及其選擇方法
技術(shù)領(lǐng)域:
本發(fā)明涉及環(huán)球網(wǎng)(Web)服務(wù)領(lǐng)域,尤其涉及通過網(wǎng)格機(jī)制的操作實例化應(yīng)用包容器中(application container)的Web服務(wù)實例。
背景技術(shù):
分布計算使Web服務(wù)變得風(fēng)行,并且被視作開發(fā)通用模型的基礎(chǔ),該通用模型是支持萬維網(wǎng)上基于組件應(yīng)用的快速開發(fā)的模型。本技術(shù)領(lǐng)域已知Web服務(wù)包括眾多的新興標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)描述面向服務(wù)和基于組件的應(yīng)用結(jié)構(gòu)。尤其,Web服務(wù)是在語義上封裝了離散的函數(shù)、不密切相關(guān)并可再使用的軟件組件,以及基于標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議分布和計劃地接入該Web服務(wù)。
從概念上講,Web服務(wù)代表一種模型,其中在計算過程內(nèi)的離散的任務(wù)廣泛地分布于有價值的網(wǎng)。尤其,許多產(chǎn)業(yè)專家認(rèn)為面向服務(wù)的Web服務(wù)是因特網(wǎng)下一發(fā)展階段的第一步。典型地講,Web服務(wù)能夠以諸如Web服務(wù)定義語言(WSDL)的接口定義,以及能夠根據(jù)該接口實現(xiàn),盡管該實現(xiàn)幾乎不詳述內(nèi)容,但只要該實現(xiàn)符合所述Web服務(wù)接口。根據(jù)對應(yīng)的接口,一旦實現(xiàn)了Web服務(wù),該實現(xiàn)就能夠用Web服務(wù)注冊來注冊,例如,本技術(shù)領(lǐng)域已知的通用說明、發(fā)現(xiàn)和集成(UDDI)。在注冊時,通過使用包括例如簡單對象訪問協(xié)議(SOAP)的任何支持消息協(xié)議,服務(wù)請求器能夠訪問該Web服務(wù)。
在支持Web服務(wù)、找到可靠的服務(wù)和實時動態(tài)地集成這些可靠的服務(wù)的面向服務(wù)的應(yīng)用環(huán)境中,已經(jīng)證明要滿足應(yīng)用的目的是有問題的。雖然注冊、目錄和發(fā)現(xiàn)協(xié)議提供用于實現(xiàn)服務(wù)檢測和服務(wù)到服務(wù)的互連邏輯的基本結(jié)構(gòu),但是該注冊、目錄和發(fā)現(xiàn)協(xié)議不適于單獨(dú)分布的協(xié)同工作。當(dāng)然,為使Web服務(wù)容易地分布在統(tǒng)一的應(yīng)用形式中,要求一種更結(jié)構(gòu)化和形式化的機(jī)制是必要的。
尤其,以這樣一種方式經(jīng)過分布式系統(tǒng),即經(jīng)由開放式網(wǎng)格服務(wù)結(jié)構(gòu)(OGSA)的網(wǎng)格機(jī)制的機(jī)理能夠提供有關(guān)發(fā)現(xiàn)和Web服務(wù)聯(lián)結(jié)的協(xié)議(以下稱作“網(wǎng)格服務(wù)”)。如(Lan Foster,Carl Kesselman,and Steven Tuecke,The Anatomy of the Grid,Intl J.Supercomputer Application(2001),andalso in Lan Foster,Carl Kesselman,jeffrey M.Nick and Steven Tuecke,The Physiology of the Grid,Globus.org(june 22,2002))所述,網(wǎng)格機(jī)制能夠提供分布計算的基礎(chǔ)結(jié)構(gòu),通過該基礎(chǔ)結(jié)構(gòu)網(wǎng)格服務(wù)實例能夠被請求客戶創(chuàng)建、命名和發(fā)現(xiàn)。
網(wǎng)格服務(wù)通過提供對增強(qiáng)的資源共享和安排的支持、對被復(fù)雜的分布應(yīng)用通常所要求的耐久狀態(tài)的支持和對內(nèi)部企業(yè)合作的支持來擴(kuò)展起碼的Web服務(wù)。此外,雖然Web服務(wù)單獨(dú)地進(jìn)行固有服務(wù)的發(fā)現(xiàn)和請求,但是網(wǎng)格服務(wù)支持瞬態(tài)服務(wù)實例,該實例能夠動態(tài)地創(chuàng)建和毀掉。使用網(wǎng)格服務(wù)顯著的優(yōu)點(diǎn)可以包括由于較有效的利用計算資源,減少了信息技術(shù)的所有權(quán)的花費(fèi);和提高了集成各種計算組件的簡易性。因此,該網(wǎng)格機(jī)制,尤其符合OGSA的網(wǎng)格機(jī)制,能夠?qū)崿F(xiàn)面向服務(wù)結(jié)構(gòu),通過面向服務(wù)結(jié)構(gòu),分配系統(tǒng)集成的要素甚至能夠經(jīng)過組織域的提供。
在傳統(tǒng)的Web服務(wù)配置和網(wǎng)格服務(wù)配置中,能夠提供創(chuàng)建和配置新的Web服務(wù)實例的Web服務(wù)創(chuàng)建過程。兩種情況下,尤其在網(wǎng)格服務(wù)的情況下,在向遠(yuǎn)端主機(jī)復(fù)制Web服務(wù)的過程期間,必須確定Web服務(wù)的新的實例是否應(yīng)該駐留于現(xiàn)存的Web應(yīng)用包容器中,或該Web服務(wù)的新的實例是否應(yīng)該駐留于新創(chuàng)建的Web應(yīng)用包容器中。在所述確定過程中,能夠考慮幾個因素,首先,多重支持庫版本的執(zhí)行環(huán)境和可用性必須考慮。尤其,最好能夠例示在兼容性的促進(jìn)或執(zhí)行請求Web服務(wù)方面的特殊版本。
其二,最好能夠在獨(dú)立的Web應(yīng)用包容器中,功能性地聚集特殊的Web服務(wù)。最后,選擇能夠是用戶需要的實例化的Web服務(wù)的特殊的應(yīng)用包容器。目前,使用能配置Web服務(wù)實例的特殊的Web應(yīng)用包容器能夠以靜態(tài)方式,根據(jù)應(yīng)用管理者的需要手動地進(jìn)行。然而,根據(jù)應(yīng)用終端用戶的運(yùn)行時間請求,計劃地選擇Web應(yīng)用包容器來管理Web服務(wù)實例將是特別有利的。因此,從長遠(yuǎn)來看,未解決的對計劃的方法和系統(tǒng)的需要,該方法和系統(tǒng)是動態(tài)的選擇管理遠(yuǎn)端Web服務(wù)實例的Web服務(wù)包容器的方法和系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明是用在Web服務(wù)結(jié)構(gòu)中的包容器選擇器。該包容器選擇器可以包括應(yīng)用包容器查詢工具,已經(jīng)可操作地配置來在Web服務(wù)主機(jī)中查詢用于被支持庫和相關(guān)的配置信息的列表的獨(dú)立的應(yīng)用包容器,該Web服務(wù)主機(jī)能夠通過Web服務(wù)結(jié)構(gòu)訪問;比較器,其設(shè)計為將所述列表與其它必要的庫和特定的被請求的Web服務(wù)所用的相關(guān)配置信息的列表進(jìn)行比較;最后,Web服務(wù)復(fù)制請求器,其可操作地配置來請求所述Web服務(wù)主機(jī)中的應(yīng)用包容器內(nèi)的所述Web服務(wù)實例,尤其,所述應(yīng)用包容器能夠是新的應(yīng)用包容器,對于所述新的應(yīng)用包容器,比較器不能夠識別具有與必要的庫和相關(guān)配置信息相匹配的庫和相關(guān)配置信息的現(xiàn)存的包容器,否則,所述應(yīng)用包容器能夠是特殊的應(yīng)用包容器,對于該特殊的應(yīng)用包容器,比較器能夠識別具有與必要的庫和相關(guān)配置信息相匹配的庫和相關(guān)配置信息的現(xiàn)存的包容器。
特別地,應(yīng)用包容器查詢工具能夠可操作地配置來在遠(yuǎn)端Web服務(wù)主機(jī)中查詢的獨(dú)立的遠(yuǎn)端放置的應(yīng)用包容器。尤其,應(yīng)用包容器查詢工具能夠通過Web服務(wù)結(jié)構(gòu)中的遠(yuǎn)端服務(wù)部署處理器來進(jìn)行查詢。在那一點(diǎn)上,Web服務(wù)結(jié)構(gòu)能夠是網(wǎng)格結(jié)構(gòu),以及應(yīng)用包容器查詢工具能夠是GridServicequeryByServiceDataName操作。此外,在Web服務(wù)結(jié)構(gòu)是網(wǎng)格結(jié)構(gòu)處,應(yīng)用包容器查詢工具能夠是GridServic FindServiceData操作。
在任何情況下,包容器選擇器還能夠包括匹配屬性表,其有從小于屬性、小于或等于屬性、等于屬性、大于屬性、大于或等于屬性、范圍屬性和不等屬性組成的組中選擇至少一個屬性,所述比較器按照定義在所述表中的匹配屬性引導(dǎo)來執(zhí)行所述比較。還有,所述Web服務(wù)主機(jī)中所述獨(dú)立應(yīng)用包容器的至少一個包含有被支持庫和相關(guān)的庫參數(shù)的列表的版本化的文檔。此外,相關(guān)的庫參數(shù)能夠包括版本化信息。
在Web服務(wù)結(jié)構(gòu)中,用于選擇應(yīng)用包容器來管理所請求的Web服務(wù)的實例的應(yīng)用包容器選擇方法能夠包括識別至少一個指定的支持庫。作為用在此處的術(shù)語“支持庫”不僅能夠涉及到支持的應(yīng)用庫,而且涉及到支持的可執(zhí)行的和可判斷的應(yīng)用,以及其它支持的文件和邏輯。同樣地,能夠為與應(yīng)用包容器相關(guān)的支持庫的列表查詢獨(dú)立的 或多個應(yīng)用包容器。從所述列表中,能夠確定任何應(yīng)用包容器是否有對指定的支持庫的訪問。
結(jié)果,在特殊的應(yīng)用包容器中能夠請求Web服務(wù)的實例的創(chuàng)建。即,該特殊的應(yīng)用能夠是新的應(yīng)用包容器,對于該新的應(yīng)用包容器,確定現(xiàn)存的應(yīng)用包容器沒有對所述指定的支持庫的訪問,否則,應(yīng)用包容器能夠是現(xiàn)存應(yīng)用包容器中一個特殊的應(yīng)用包容器,對于該特殊的應(yīng)用包容器,確定所述現(xiàn)存的應(yīng)用包容器中一個特殊的應(yīng)用包容器有對所述指明的支持庫的訪問。
更為重要,在客戶過程中,能夠執(zhí)行前述的識別、確定和請求中的每個步驟,同時在服務(wù)器過程中,能夠執(zhí)行查詢步驟。此外,配置文件能夠從客戶過程中收到,其中該配置文件能夠命名指定的支持庫。從而,在服務(wù)器過程中,能夠執(zhí)行識別、確定和請求中的每個步驟。然而,在兩種情況下,查詢步驟能夠包括通過遠(yuǎn)端服務(wù)配置處理器來查詢用于與遠(yuǎn)端放置的應(yīng)用包容器相關(guān)的支持庫的列表的一個或多個遠(yuǎn)端放置的應(yīng)用包容器。
附圖中示出本發(fā)明的優(yōu)選實施例,然而,可以理解本發(fā)明不限于所示出的精確安排和手段,其中圖1是根據(jù)本發(fā)明的已配置的Web服務(wù)分布結(jié)構(gòu)的圖解說明方框圖;圖2是在圖1的分布結(jié)構(gòu)中,用于選擇Web服務(wù)能被復(fù)制到遠(yuǎn)端主機(jī)的包容器的控制客戶過程的圖解說明的流程圖;圖3是在圖1的分布結(jié)構(gòu)中,用于選擇Web服務(wù)能被復(fù)制到遠(yuǎn)端主機(jī)的包容器的控制服務(wù)器過程的圖解說明的流程圖。
具體實施例方式
本發(fā)明是一種用于選擇管理遠(yuǎn)端實例化的Web服務(wù)的包容器。尤其,根據(jù)本發(fā)明,請求Web服務(wù)的客戶能夠向諸如工廠創(chuàng)建Web服務(wù)引擎過程那樣的Web服務(wù)配置過程,指定對于請求的Web服務(wù)的操作是必要的支持應(yīng)用的類型。在響應(yīng)時,基于指定的在遠(yuǎn)端主機(jī)中預(yù)先存在的包容器內(nèi)的支持應(yīng)用和庫的存在,能夠選擇現(xiàn)存的應(yīng)用包容器或新的應(yīng)用包容器中的一個來管理請求的Web服務(wù)的新的實例化的復(fù)制品。以這種方式,該應(yīng)用包容器能夠根據(jù)應(yīng)用終端用戶的運(yùn)行時間要求,計劃性地被選來管理Web服務(wù)實例。
圖1是根據(jù)本發(fā)明的已配置的Web服務(wù)分布結(jié)構(gòu)的圖解說明方框圖。對本領(lǐng)域的技術(shù)人員將是明顯的,Web服務(wù)分布結(jié)構(gòu)能夠配置為通過計算機(jī)通信網(wǎng)110互連的一個或多個Web服務(wù)主機(jī)100和120,例如,因特網(wǎng)。單獨(dú)的請求客戶190能夠從一個或多個Web服務(wù)主機(jī)100和120請求對Web服務(wù)的訪問。尤其,如本技術(shù)領(lǐng)域已知的,SOAP編碼的多個消息能夠在請求客戶190和Web服務(wù)主機(jī)100和120之間進(jìn)行交換,該消息能夠包括對發(fā)現(xiàn)特殊的Web服務(wù)的位置的請求,以及對顯示被請求的Web服務(wù)的網(wǎng)絡(luò)位置的請求的響應(yīng)。
Web服務(wù)主機(jī)100和120能夠以集中方式安排在服務(wù)器計算裝置內(nèi),或以分布方式安排在多重服務(wù)器計算裝置上。無論哪種方式,能提供的Web服務(wù)器140能夠被配置來響應(yīng)諸如標(biāo)簽文檔的內(nèi)容的網(wǎng)絡(luò)請求。本領(lǐng)域的普通技術(shù)人員將理解,Web服務(wù)器140能夠依據(jù)超文本傳輸協(xié)議(HTTP)或其它這樣的傳輸協(xié)議配置來處理SOAP消息,以及分布諸如超文本鏈接標(biāo)示語言(HTML)格式化的文檔和擴(kuò)展標(biāo)記語言(XML)格式化的文檔等等的標(biāo)簽。
Web服務(wù)器140能夠在Web服務(wù)主機(jī)100和120中以通信的方式連接到應(yīng)用服務(wù)器150?,F(xiàn)有技術(shù)中已知的應(yīng)用服務(wù)器典型地被配置為無論以解釋方式還是以自然的格式來處理機(jī)器代碼。傳統(tǒng)的應(yīng)用服務(wù)器處理諸如腳本語言(script)和servlet這樣的服務(wù)器邊的邏輯。無論如何,應(yīng)用服務(wù)器150能夠連接到Web服務(wù)器引擎160,該Web服務(wù)器引擎160已經(jīng)可操作地配置為在一個或多個Web服務(wù)包容器130中實例化獨(dú)立Web服務(wù)。更為重要,每個Web服務(wù)包容器130能夠訪問一個或多個支持庫和應(yīng)用180,例如,標(biāo)簽解析器或標(biāo)簽代碼轉(zhuǎn)換機(jī)。在那兒,運(yùn)行在包容器130中的Web服務(wù)能夠訪問支持庫180操作的函數(shù)。
更為重要,諸如工廠創(chuàng)建服務(wù)這樣的Web服務(wù)創(chuàng)建過程170能夠配置在每個Web服務(wù)主機(jī)100和120中。該Web服務(wù)創(chuàng)建過程170可以根據(jù)傳統(tǒng)的Web服務(wù)結(jié)構(gòu)實現(xiàn)服務(wù)創(chuàng)建接口,或Web服務(wù)創(chuàng)建過程170能夠?qū)崿F(xiàn)這樣的網(wǎng)格服務(wù)接口。由OGSA定義的和例如,根據(jù)Globus Project,Globus ToolkitFuturesAn Open Grid Services Architecture,Globus Tutorial,Argonnenational Laboratory(2002年1月29日)指明的。
作為本領(lǐng)域的已知技術(shù),OGSA適應(yīng)的網(wǎng)格服務(wù)接口能夠包括下列接口和行為●Web服務(wù)創(chuàng)建(工廠)●全局命名(網(wǎng)格服務(wù)處理)和參考(網(wǎng)格服務(wù)參考)●生存期管理●注冊和發(fā)現(xiàn)●授權(quán)
●并行●可管理性在那兒,在Web服務(wù)創(chuàng)建過程170能夠是工廠創(chuàng)建服務(wù),工廠創(chuàng)建服務(wù)包括能夠用“Factory CreateService()”,將Web服務(wù)實例復(fù)制到新的或預(yù)先存在的應(yīng)用包容器中的工廠接口。
更重要地,Web服務(wù)創(chuàng)建過程170能夠在一個或多個遠(yuǎn)端主機(jī)120實例化復(fù)制請求的Web服務(wù)的實例。尤其,與網(wǎng)格結(jié)構(gòu)的意圖一致,本發(fā)明已被配置成在網(wǎng)格結(jié)構(gòu)中操作的情況下,在由獨(dú)立的遠(yuǎn)端主機(jī)120承受的處理負(fù)載超出可接受的或預(yù)指定的容量,其它獨(dú)立的遠(yuǎn)端主機(jī)120能夠選來管理新的被選擇的Web服務(wù)實例。為了使復(fù)制和Web服務(wù)實例化在遠(yuǎn)端主機(jī)容易進(jìn)行,遠(yuǎn)端服務(wù)配置處理器195可以被配置在遠(yuǎn)端主機(jī)120中。
尤其,所請求的Web服務(wù)能夠與相關(guān)的配置描述器和執(zhí)行文檔一起存檔在Web服務(wù)創(chuàng)建過程170內(nèi)。檔案文件能夠從Web服務(wù)創(chuàng)建過程170轉(zhuǎn)送到遠(yuǎn)端主機(jī)120中的遠(yuǎn)端服務(wù)配置處理器195,該遠(yuǎn)端服務(wù)配置處理器195能夠可變化地擴(kuò)展該檔案文件到現(xiàn)存的或新創(chuàng)建的包容器130中的一個。
在遠(yuǎn)端主機(jī)120中,能夠給Web服務(wù)分配唯一識別,因此,該Web服務(wù)執(zhí)行文檔不僅能夠參考遠(yuǎn)端主機(jī)120的識別,而且能夠參考遠(yuǎn)端主機(jī)120中的Web服務(wù)分配唯一識別來修改。此外,為了Web服務(wù)使用,將要求擴(kuò)展新的Web服務(wù)接口文檔,該Web服務(wù)執(zhí)行文檔能夠參考遠(yuǎn)端主機(jī)120中的Web服務(wù)接口文檔的位置來修改。
更為重要,與Web服務(wù)相關(guān)的配置描述符能夠被修改來反映Web服務(wù)的唯一識別。一旦修改了該配置描述符,被修改的配置描述符能夠傳遞到遠(yuǎn)端主機(jī)120中的Web服務(wù)引擎,以便Web服務(wù)引擎能夠配置遠(yuǎn)端主機(jī)120中的Web服務(wù)。隨后,對于已修改的Web服務(wù)執(zhí)行文檔的網(wǎng)絡(luò)參考能夠返回到Web服務(wù)創(chuàng)建過程170,以便Web服務(wù)主機(jī)100中的Web服務(wù)引擎160能夠按需要公布和利用遠(yuǎn)端配置的Web服務(wù)。
更為重要,駐留在一個或多個遠(yuǎn)端主機(jī)120中的特殊的應(yīng)用包容器130能夠選擇來管理被要求的Web服務(wù)的新的實例。此外,新的應(yīng)用包容器(沒有示出)能夠選擇來管理所要求的Web服務(wù)的新的實例。為容易地選擇管理所請求的Web服務(wù)的新的應(yīng)用包容器或特殊的現(xiàn)存的應(yīng)用包容器130,能夠提供與Web服務(wù)創(chuàng)建過程170相關(guān)的包容器選擇器185。
而且,包容器選擇器185能夠選擇地確定現(xiàn)存的應(yīng)用包容器130是否能夠基于幾個因素來管理所請求的Web服務(wù),所述幾個因素諸如每個應(yīng)用包容器130中可用的支持庫180的執(zhí)行環(huán)境和版本、應(yīng)用包容器130中Web服務(wù)的功能分組或簡單配置的優(yōu)先權(quán)。對于不能識別合適的預(yù)先存在的應(yīng)用包容器處,能夠在遠(yuǎn)端主機(jī)120中請求新的應(yīng)用包容器。
尤其,根據(jù)本發(fā)明,能夠為選擇期望的用于管理所請求的遠(yuǎn)端主機(jī)中Web服務(wù)的Web應(yīng)用包容器提供雙重(dual)處理。具體地講,能夠提供客戶控制過程和服務(wù)器控制過程。在客戶控制過程中,客戶過程能夠查詢Web服務(wù)創(chuàng)建過程170以確定由Web服務(wù)創(chuàng)建過程170生效的現(xiàn)存應(yīng)用包容器是否能夠滿足特殊的Web服務(wù)的計算要求。
基于所述結(jié)果,客戶過程能夠請求Web服務(wù)創(chuàng)建過程170向遠(yuǎn)端主機(jī)120中新的或識別的應(yīng)用包容器130復(fù)制所請求的Web服務(wù)。通過比較,在服務(wù)器控制過程中,客戶過程僅能向Web服務(wù)創(chuàng)建過程170提供必要的計算請求,且被Web服務(wù)創(chuàng)建過程170用在識別和選擇復(fù)制被請求的Web服務(wù)的應(yīng)用包容器130。
圖2是在圖1的Web服務(wù)結(jié)構(gòu)中,用于選擇Web服務(wù)能被復(fù)制到分布結(jié)構(gòu)的遠(yuǎn)端主機(jī)的包容器的控制客戶過程的圖解說明的流程圖。在方框205開始,客戶過程能夠明確地表達(dá)對Web服務(wù)創(chuàng)建過程的查詢。例如,該查詢能夠請求駐留在一個或多個各種遠(yuǎn)端主機(jī)中的應(yīng)用包容器之內(nèi)的可用的支持應(yīng)用的列表。例如,在OGSA上下文中,客戶過程能夠明確地表達(dá)下列查詢,以返回以名字“weappcontainers”為參考的應(yīng)用包容器的列表(gsdlqueryBYServiceDataName name=″weappcontainers″/>在OGSA文中,替代方法能夠利用GridService FindSerciceData操作,而不是GridService queryBySerciceDataName操作。
在任何情況下,在方框215中,明確表達(dá)的查詢能夠轉(zhuǎn)送到Web服務(wù)創(chuàng)建過程,以及在方框220中,客戶過程能夠等待響應(yīng)?,F(xiàn)在看服務(wù)器過程,方框225中,Web服務(wù)創(chuàng)建過程能夠等待查詢。在方框230中,能夠收到明確表達(dá)的查詢,以及在方框235中,對應(yīng)的查詢能夠以這樣的方式來建立,該方式被設(shè)計成便于獲得與任何一個Web服務(wù)主機(jī)中的任何一個應(yīng)用容器有關(guān)的操作的支持應(yīng)用的列表。
在方框240中,可以定位遠(yuǎn)端主機(jī)中的第一應(yīng)用包容器,改遠(yuǎn)端主機(jī)例如可以遠(yuǎn)端服務(wù)配置處理器進(jìn)行訪問,以及在方框245中,可以用例如FindServiceData操作,來將所述查詢轉(zhuǎn)送到所找到的應(yīng)用包容器。在方框250中,該FindServiceData操作能夠等待來自所找到的應(yīng)用包容器的響應(yīng)。在收到查詢時,該應(yīng)用包容器能夠為每個可接近的支持應(yīng)用檢查版本的信息。盡管任何獲得版本的信息的合適方法能夠滿足要求,但是本發(fā)明最好的方面是每個支持應(yīng)用包容器能夠以分開的配置文檔發(fā)布它的配置信息。
例如,“version.xml”文檔能夠存儲在與應(yīng)用包容器相關(guān)的META-INF目錄中。一種示范配置文檔已在附錄C中說明。從附錄C的標(biāo)簽中明顯的看到,配置文檔能夠列出應(yīng)用容器中每個被支持庫或應(yīng)用的名字,以及相關(guān)的版本。這樣,或者通過直接檢查配置文件,或者在應(yīng)用包容器本身中通過查詢的方法,能夠確定什么應(yīng)用或庫在被找到的應(yīng)用包容器中駐留或被支持。
在方框255中,由被找到的應(yīng)用包容器提供的被支持的應(yīng)用或庫的列表能夠合并成集合列表。典型的響應(yīng)已在附錄A中說明。這樣,在方框260中,如果其它可接近的應(yīng)用包容器尚須被查尋,在方框265中,該查詢能夠轉(zhuǎn)送到下一個被找到的應(yīng)用包容器,并且所述過程能夠重復(fù)。最終,當(dāng)每個可接近的應(yīng)用包容器被查尋完,以及所述支持應(yīng)用或庫的列表集合被編譯時,在方框270中,該集合能夠返回到客戶過程,例如附錄B中示出的OGSA服務(wù)數(shù)據(jù)單元(OGSA Service Data element)。
在方框275中,在客戶過程中,由Web服務(wù)創(chuàng)建過程返回的結(jié)果能夠被檢查,來確定這些支持的應(yīng)用、庫和相關(guān)的版本信息,遠(yuǎn)端主機(jī)中的可操作的應(yīng)用包容器中的特殊的應(yīng)用包容器能夠訪問這些支持的應(yīng)用、庫和相關(guān)的版本信息?;谶@個檢查,在方框280中,客戶過程能夠確定任何所列的應(yīng)用包容器是否能夠提供具有必要版本的應(yīng)用和庫,以便滿足所期望Web服務(wù)的操作要求。對于沒有應(yīng)用包容器能夠滿足處,在方框285中,所述客戶過程能夠用新的應(yīng)用包容器請求創(chuàng)建所選擇的Web服務(wù)。否則,在方框290中,所述客戶過程能夠用現(xiàn)存的識別在方框280中的應(yīng)用包容器請求創(chuàng)建所選擇的Web服務(wù)。
更為重要,雖然客戶過程能夠在復(fù)制請求中指明是否應(yīng)該創(chuàng)建新的應(yīng)用包容器來管理遠(yuǎn)端主機(jī)中所選擇的Web服務(wù),但是Web服務(wù)創(chuàng)建過程能夠超越客戶過程的優(yōu)先權(quán)。更具體地講,基于安全和授權(quán)信息,該Web服務(wù)創(chuàng)建過程能夠確定是否相信客戶過程的請求,然而,如果Web服務(wù)創(chuàng)建過程不信任客戶過程請求,相應(yīng)的通知能夠提供給客戶過程,而不是只對所選擇的服務(wù)器的應(yīng)用包容器進(jìn)行復(fù)制處理。
與圖2比較,圖3是在圖1的結(jié)構(gòu)中,用于選擇Web服務(wù)能被復(fù)制到分布結(jié)構(gòu)的遠(yuǎn)端主機(jī)的包容器的控制服務(wù)器過程的圖解說明的流程圖。在方框305開始,Web服務(wù)創(chuàng)建過程能夠收到請求來向遠(yuǎn)端主機(jī)復(fù)制特殊的Web服務(wù)。例如,被包括的請求作為服務(wù)參數(shù),為滿足所請求Web服務(wù)的操作,有必要配置文件能指定所期望的必要的支持應(yīng)用的級別。例如,一種示范配置文件包括<configuration>
<software name=″MyParser″version=″1.3″match=″eq″/>
<software name=″MyTranscoder″ version=″2.0″match=″ge″/>
</configuration>
對于本領(lǐng)域的技術(shù)人員將是明顯的,配置文件能夠是XML文件,且能夠包括“匹配”屬性。盡管本發(fā)明不限于其中所說明的屬性的特性形式,但是合適的屬性表可能包括
使用匹配特性,Web服務(wù)創(chuàng)建過程能夠確定駐留在遠(yuǎn)端主機(jī)的可接通的應(yīng)用包容器中識別的支持應(yīng)用是否滿足被請求的Web服務(wù)的操作要求。尤其,在方框310中,所述配置文件能夠被解析,以及查詢能夠明確地表述在方框315中,用于從遠(yuǎn)端主機(jī)的每個可接近的應(yīng)用包容器中檢索支持應(yīng)用的列表。在方框320中,第一應(yīng)用包容器的位置能夠被找到,能夠通過諸如遠(yuǎn)端服務(wù)配置處理器訪問遠(yuǎn)端主機(jī)中的該第一應(yīng)用包容器,以及在方框325中,諸如用FindServiceData操作,所述查詢能夠轉(zhuǎn)送到所找到的應(yīng)用包容器。在方框330中,該FindServiceData操作能夠等待來自所找到的應(yīng)用包容器的響應(yīng)。
在方框355中,由被找到的應(yīng)用包容器提供的被支持的應(yīng)用或庫的列表能夠合并成集合列表。此外,典型的響應(yīng)已在附錄A中說明。這樣,在方框340中,如果其它可接近的應(yīng)用包容器尚須被查尋,在方框345中,該查詢能夠轉(zhuǎn)送到下一個被找到的應(yīng)用包容器,并且所述過程能夠重復(fù)。最終,當(dāng)每個可接近的應(yīng)用包容器被查尋完,以及所述支持應(yīng)用或庫的列表集合被編譯時,在方框350中,能夠檢查該集合,以及能夠?qū)φ照埱蟮腤eb服務(wù)的指明的要求比較匹配特性。
基于這個檢查,在方框355中,Web服務(wù)創(chuàng)建過程能夠確定任何所列的應(yīng)用包容器是否包括必要版本的應(yīng)用或庫,以便滿足所期望Web服務(wù)的操作要求。對于沒有應(yīng)用包容器能夠滿足處,在方框365中,所述客戶過程能夠用新的應(yīng)用包容器請求創(chuàng)建所選擇的Web服務(wù)。否則,在方框360中,所述客戶過程能夠用現(xiàn)存的識別在方框355中的應(yīng)用包容器請求創(chuàng)建所選擇的Web服務(wù)。
根據(jù)本發(fā)明,遠(yuǎn)端實例化Web服務(wù)能夠共享Web應(yīng)用包容器,結(jié)果,遠(yuǎn)端實例化Web服務(wù)能夠共享庫資源。同樣,支持應(yīng)用配置數(shù)據(jù)的集合能夠允許包容器選擇邏輯計劃地選擇滿意的管理所請求的Web服務(wù)實例的包容器。最后,根據(jù)本發(fā)明的安排,Web服務(wù)創(chuàng)建過程或OGSA工廠創(chuàng)建操作能夠承擔(dān)可告知的決定過程,以便選擇管理所請求的Web服務(wù)復(fù)制的現(xiàn)存的應(yīng)用包容器,或請求管理所請求的Web服務(wù)復(fù)制的新的應(yīng)用包容器的創(chuàng)建。
本發(fā)明能夠用硬件、軟件或硬件和軟件的結(jié)合來實現(xiàn)。本發(fā)明的方法和系統(tǒng)的執(zhí)行能夠以集中方式在一個計算機(jī)中實現(xiàn),或以不同的單元分布在幾個相互連接的計算機(jī)系統(tǒng)上的分布方式實現(xiàn)。任何種類的計算機(jī)系統(tǒng),或其它用于執(zhí)行描述在此的方法的適配設(shè)備,對于執(zhí)行描述在此的功能是合適的。
一種典型的硬件和軟件的結(jié)合是通用的計算機(jī)程序和計算機(jī)系統(tǒng),當(dāng)所述程序被裝載和執(zhí)行時,該程序?qū)⒖刂朴嬎銠C(jī)系統(tǒng),使得能夠?qū)崿F(xiàn)這里所述的方法。本發(fā)明也可以以計算機(jī)程序產(chǎn)品來實現(xiàn),所述計算機(jī)程序產(chǎn)品包括所有能夠?qū)崿F(xiàn)上述方法的實現(xiàn),并且當(dāng)其裝載進(jìn)計算機(jī)系統(tǒng)時就能實現(xiàn)這些方法。
本發(fā)明中的計算機(jī)程序或應(yīng)用是指以一套指令的任何語言、代碼或符號的任何表達(dá),該指令試圖使具有信息處理能力的系統(tǒng)以直接或以下列兩種方法來執(zhí)行特定的功能,這兩種方法是a)轉(zhuǎn)換成另一種語言、代碼或符號;b)以不同的介質(zhì)形式來再現(xiàn)。很明顯,在不背離本發(fā)明的精神或?qū)嵸|(zhì)屬性的情況下,能夠以不同的形式來體現(xiàn)本發(fā)明,并且因此,必須參考所附權(quán)利要求,而不只是本發(fā)明范圍所指的上述說明。
<pre listing-type="program-listing"> 附錄A<br/><webapps><br/> <webapp name=”MyApp1″baseURL=”http//server1″><br/> <software name=”MyParser”version=”2.0″/><br/> <software name=”MyTranscoder”version=”2.3″/><br/> </webapp><br/> <webapp name=”MyApp2″baseURL=”http//server1″><br/> <software name=”MyParser”version=”1.3″/><br/> <software name=”MyTranscoder”version=”2.0″/><br/> </webapp><br/> </webapps><br/> 附錄B<br/><gsdlserviceData name=”webappcontainers”<br/> goodFrom=”2002-03-09T17:02:06″<br/> goodUntil=”2003-03-09T17:02:06″<br/> availableUntil=”2003-03-09T17:02:06″<br/>><br/> <webapps><br/><webapp name=”MyApp1″baseURL=”http//server1″><br/> <software name=”MyParser”version=”2.0″/><br/> <software name=”MyTranscoder”version=”2.3″/><br/></webapp><br/><webapp name=”MyApp2″baseURL=”http//server1″><br/> <software name=”MyParser”version=”1.3″/><br/> <software name=”MyTranscoder”version=”2.0″/><br/></webapp><br/><webapp name=”MyApp1″baseURL=”http//server2″><br/> <software name=”MyParser”version=”2.0″/><br/> <software name=”MyTranscoder”version=”2.3″/><br/></webapp><br/><webapp name=”MyApp2″baseURL=”http//server2″><br/> <software name=”MyParser version=”1.4″/><br/> <software name=”MyTranscoder”version=”2.1″/><br/></webapp><br/></webapps><br/></gsdlserviceData><br/>附錄C<br/><configuration><br/> <software name=”MyParser”version=“1.3″/><br/> <software name=”MyTranscoder”version=“2.0″/><br/></configuration><br/></pre>
權(quán)利要求
1.一種Web服務(wù)結(jié)構(gòu)中所用的包容器選擇器,該包容器選擇器包括應(yīng)用包容器查詢工具,其可操作地配置來在Web服務(wù)主機(jī)中查詢用于被支持庫和相關(guān)的配置信息的列表的獨(dú)立的應(yīng)用包容器,該Web服務(wù)主機(jī)能夠通過Web服務(wù)結(jié)構(gòu)訪問;比較器,其設(shè)計為將所述列表與另一個必要的庫和特定的被請求的Web服務(wù)所用的相關(guān)配置信息的列表進(jìn)行比較;和Web服務(wù)復(fù)制請求器,其可操作地配置來請求所述Web服務(wù)主機(jī)中的應(yīng)用包容器內(nèi)的所述Web服務(wù)的實例,所述應(yīng)用包容器是從新的應(yīng)用包容器和特殊的應(yīng)用包容器組成的組中選擇的,對于所述新的應(yīng)用包容器,比較器不能夠識別具有與必要的庫和相關(guān)配置信息相匹配的庫和相關(guān)配置信息的現(xiàn)存的包容器,以及對于所述特殊的應(yīng)用包容器,比較器能夠識別具有與必要的庫和相關(guān)配置信息相匹配的庫和相關(guān)配置信息的現(xiàn)存的包容器。
2.如權(quán)利要求1所述的包容器選擇器,其中Web服務(wù)結(jié)構(gòu)是網(wǎng)格結(jié)構(gòu),以及所述應(yīng)用包容器查詢工具是GridService queryByServiceDataName操作。
3.如權(quán)利要求1所述的包容器選擇器,其中Web服務(wù)結(jié)構(gòu)是網(wǎng)格結(jié)構(gòu),以及所述應(yīng)用包容器查詢工具是GridServic FindServiceData操作。
4.如權(quán)利要求1所述的包容器選擇器,還包括匹配屬性表,其包含從小于屬性、小于或等于屬性、等于屬性、大于屬性、大于或等于屬性、范圍屬性和不等屬性組成的組中選擇的至少一個屬性,所述比較器按照定義在所述表中的匹配特性指示來執(zhí)行所述比較。
5.如權(quán)利要求1所述的包容器選擇器,其中所述應(yīng)用包容器查詢工具可操作地配置來在遠(yuǎn)端Web服務(wù)主機(jī)中查詢用于被支持庫和相關(guān)的庫配置信息的列表的獨(dú)立的遠(yuǎn)端放置的應(yīng)用包容器。該遠(yuǎn)端Web服務(wù)主機(jī)能夠通過Web服務(wù)結(jié)構(gòu)中的遠(yuǎn)端服務(wù)部署處理器訪問。
6.如權(quán)利要求1所述的包容器選擇器,其中所述Web服務(wù)主機(jī)中的至少一個所述獨(dú)立的應(yīng)用包容器包括版本文檔,該版本文檔包括被支持庫和相關(guān)的庫參數(shù)的列表的。
7.如權(quán)利要求6所述的包容器選擇器,其中所述相關(guān)的庫參數(shù)包括版本化信息。
8.一種在Web服務(wù)結(jié)構(gòu)中用于選擇應(yīng)用包容器來管理被請求的Web服務(wù)的實例的應(yīng)用包容器選擇方法,所述方法包括以下步驟識別至少一個特定的支持庫;查詢用于與所述應(yīng)用包容器相關(guān)的支持庫的列表的多個應(yīng)用包容器中的獨(dú)立的包容器;從所述列表確定任何所述應(yīng)用包容器是否對所述特定的支持庫有訪問;和請求應(yīng)用包容器中的Web服務(wù)的實例的創(chuàng)建,該應(yīng)用包容器是從新的應(yīng)用包容器和多個現(xiàn)存的應(yīng)用包容器中的一個特殊的應(yīng)用包容器組成的組中選擇的,對于所述新的應(yīng)用包容器,確定現(xiàn)存的應(yīng)用包容器對所述指定的支持庫沒有訪問,以及對于所述特殊的應(yīng)用包容器,確定所述多個現(xiàn)存的應(yīng)用包容器中的所述特殊的一個對所述指明的支持庫有訪問。
9.如權(quán)利要求8所述的方法,還包括以下步驟在客戶過程中,執(zhí)行所述識別、確定和請求的步驟;在服務(wù)器過程中,執(zhí)行所述查詢步驟。
10.如權(quán)利要求8所述的方法,還包括以下步驟從客戶處理中收到命名所述至少一個指定的支持庫的配置文件;在服務(wù)器過程中,執(zhí)行所述識別、確定和請求的步驟。
11.如權(quán)利要求8所述的方法,其中所述識別步驟還包括識別與所述至少一個指定的支持庫相關(guān)的至少一個支持庫配置參數(shù)的步驟。
12.如權(quán)利要求11所述的方法,其中所述查詢步驟包括查詢用于支持庫和對應(yīng)的支持庫配置參數(shù)的列表的多個應(yīng)用包容器中的獨(dú)立的應(yīng)用包容器的步驟,以及其中所述確定步驟包括從所述列表中確定任何所述應(yīng)用包容器是否有到所述指定的支持庫的訪問的步驟,其中所述指定的支持庫有滿足特殊匹配規(guī)則的對應(yīng)的配置參數(shù)。
13.如權(quán)利要求12所述的方法,其中所述匹配規(guī)則包括一種從小于屬性、小于或等于屬性、等于屬性、大于屬性、大于或等于屬性、范圍屬性和不等屬性組成的組中選擇的屬性的應(yīng)用。
14.如權(quán)利要求8所述的方法,其中所述查詢步驟包括通過遠(yuǎn)端服務(wù)部署處理器查詢用于與所述遠(yuǎn)端放置的應(yīng)用包容器相關(guān)的支持庫列表的多個遠(yuǎn)端放置的應(yīng)用包容器中的獨(dú)立的應(yīng)用包容器的步驟。
15.一種已經(jīng)存儲用于選擇應(yīng)用包容器的計算機(jī)程序的可讀存儲機(jī)器,所述應(yīng)用包容器管理網(wǎng)格服務(wù)結(jié)構(gòu)中的被請求的Web服務(wù)的實例,所述計算機(jī)程序包括一套例程指令,當(dāng)執(zhí)行該程序時,該程序?qū)⒁饳C(jī)器執(zhí)行下列步驟識別至少一個指定的支持庫;查詢用于與所述應(yīng)用包容器相關(guān)的支持庫的列表的多個應(yīng)用包容器的獨(dú)立的應(yīng)用包容器;從所述列表中確定任何所述應(yīng)用包容器是否有到所述指定的支持庫的訪問;請求應(yīng)用包容器中的Web服務(wù)的實例的創(chuàng)建,該應(yīng)用包容器是從新的應(yīng)用包容器和多個現(xiàn)存的應(yīng)用包容器中的一個特殊的應(yīng)用包容器組成的組中選擇的,對于所述新的應(yīng)用包容器,確定現(xiàn)存的應(yīng)用包容器對所述指定的支持庫沒有訪問,以及對于所述特殊的應(yīng)用包容器,確定所述多個現(xiàn)存的應(yīng)用包容器中的所述特殊的一個對所述指明的支持庫有訪問。
16.如權(quán)利要求15中的所述可讀存儲機(jī)器,還包括下列步驟在客戶過程中,執(zhí)行所述識別、確定和請求步驟;在服務(wù)器過程中,執(zhí)行所述查詢。
17.如權(quán)利要求15中的所述可讀存儲機(jī)器,還包括下列步驟從客戶過程中接收命名所述至少一個指定支持庫的配置文件;和在服務(wù)器過程中,執(zhí)行所述識別、確定和請求步驟。
18.如權(quán)利要求15中的所述可讀存儲機(jī)器,其中所述識別步驟還包括識別與所述至少一個指定的支持庫相關(guān)的至少一個支持庫配置參數(shù)的步驟。
19.如權(quán)利要求18中的所述可讀存儲機(jī)器,其中所述查詢步驟包括查詢用于支持庫和對應(yīng)支持庫配置參數(shù)的列表的多個應(yīng)用包容器中的獨(dú)立的應(yīng)用包容器的步驟,以及其中所述確定步驟包括從所述列表中確定所述任何應(yīng)用包容器是否有到所述指定的支持庫的訪問,其中所述指定的支持庫有對應(yīng)的滿足特殊的匹配規(guī)則的配置參數(shù)。
20.如權(quán)利要求19中的所述可讀存儲機(jī)器,其中所述匹配規(guī)則包括從小于屬性、小于或等于屬性、等于屬性、大于屬性、大于或等于屬性、范圍屬性和不等屬性組成的組中選擇屬性的應(yīng)用。
全文摘要
用于Web服務(wù)結(jié)構(gòu)中的包容器選擇器包括應(yīng)用包容器查詢工具,其可操作地配置來查詢用于支持庫和相關(guān)的配置信息的列表的獨(dú)立的應(yīng)用包容器;比較器,其設(shè)計為將所述列表與另一個必要的庫和特定的被請求的Web服務(wù)所用的相關(guān)配置信息的列表進(jìn)行比較;最后,Web服務(wù)復(fù)制請求器,其可操作地配置來請求在特殊的應(yīng)用包容器內(nèi)的Web服務(wù)實例。具體地講,該特殊的包容器能夠是新的包容器,比較器不能夠識別具有與必要的庫和相關(guān)配置信息相匹配現(xiàn)存的包容器。另外,所述包容器能夠是列表中的包容器,比較器能夠識別具有與必要的庫和相關(guān)配置信息相匹配的現(xiàn)存的包容器。
文檔編號G06F17/30GK1494017SQ0315243
公開日2004年5月5日 申請日期2003年7月30日 優(yōu)先權(quán)日2002年10月7日
發(fā)明者道格拉斯·B·戴維斯, 詹姆斯·M·馬修森第二, 布拉德·B·托波爾, 基思·A·韋爾斯, B 托波爾, M 馬修森第二, A 韋爾斯, 道格拉斯 B 戴維斯 申請人:國際商業(yè)機(jī)器公司