專利名稱:用于優(yōu)化Web服務(wù)綁定的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般來講涉及一種改進的數(shù)據(jù)處理系統(tǒng),特別是涉及一種用于處理數(shù)據(jù)的方法和裝置。更具體的是,本發(fā)明涉及一種用于優(yōu)化Web服務(wù)綁定的方法、裝置和計算機指令。
背景技術(shù):
因特網(wǎng)是一種利用網(wǎng)關(guān)連接在一起的計算機和網(wǎng)絡(luò)的全球性網(wǎng)絡(luò),所述網(wǎng)關(guān)處理數(shù)據(jù)的傳送以及從發(fā)送網(wǎng)絡(luò)的協(xié)議到接收網(wǎng)絡(luò)所使用的協(xié)議的消息的轉(zhuǎn)換。在因特網(wǎng)上,任何計算機都可以通過各種語言,也被稱作協(xié)議與在因特網(wǎng)上的其他計算機通信。因特網(wǎng)上使用的協(xié)議組被稱為傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)。
因特網(wǎng)在通信和商業(yè)兩方面發(fā)生了巨大變革,并且成為信息和娛樂的來源。對于很多用戶來說,電子郵件是在因特網(wǎng)上通信的一種廣泛使用的格式。此外,因特網(wǎng)還用于實時語音對話。
對于在因特網(wǎng)上傳送數(shù)據(jù),使用萬維網(wǎng)環(huán)境。該環(huán)境也被簡化稱為“Web”。Web是用于在因特網(wǎng)上訪問信息的機制。在Web環(huán)境中,服務(wù)器和客戶機使用超文本傳送協(xié)議(HTTP),一種用于處理各種數(shù)據(jù)文件諸如文本文件、圖形圖像、動畫文件、音頻文件以及視頻文件的傳送的已知協(xié)議,來實現(xiàn)數(shù)據(jù)處理。
在Web上,各種數(shù)據(jù)文件中的信息通過標準的頁面描述語言,超文本標記語言(HTML)被格式化以呈現(xiàn)給用戶。使用HTML的文件也被稱作Web頁。Web頁通過鏈接或超級鏈接相互連接。這些鏈接允許連接或鏈接到由通用資源標識符(URI),例如統(tǒng)一資源定位符(URL)識別的其他Web資源。
瀏覽器是用于瀏覽Web上的所有信息或與其進行交互的程序。瀏覽器可以顯示W(wǎng)eb頁并通過鏈路到達其他Web頁。資源,例如Web頁通過瀏覽器進行檢索,瀏覽器可以提交資源請求。該請求通常包括標識符,例如URL。正如在此所使用的,瀏覽器是用于導(dǎo)航或瀏覽任何分布式數(shù)據(jù)庫,例如因特網(wǎng)或萬維網(wǎng)中的信息或數(shù)據(jù)的應(yīng)用程序。用戶可以通過圖形用戶接口(GUI)輸入域名,用于瀏覽器訪問內(nèi)容源。該域名通過域名系統(tǒng)(DNS)自動轉(zhuǎn)換成IP地址,這是通過查找數(shù)據(jù)庫中的域名將由用戶輸入的符號名轉(zhuǎn)換成IP地址的一種服務(wù)。
所述瀏覽器包括一個用戶接口,其是允許用戶與其他瀏覽器接口或通信的GUI。該接口通過菜單提供各種功能的選擇,并允許導(dǎo)航。例如,菜單可以允許用戶執(zhí)行各種功能,諸如保存文件、打開一個新的窗口、顯示歷史記錄、以及輸入URL。
提供Web服務(wù)供各種客戶機使用。Web服務(wù)是可編程的應(yīng)用程序,其可以作為一個部件通過標準Web協(xié)議進行訪問。Web服務(wù)通常使用標準協(xié)議,例如HTTP,可擴展標記語言(XML),以及SOAP。這些服務(wù)可以通過現(xiàn)有的代理和防火墻工作。
Web服務(wù)包括基于Web的應(yīng)用程序,其使用開放式標準動態(tài)地與其他Web應(yīng)用程序進行交互。這些標準包括通用描述發(fā)現(xiàn)和集成(UDDI)以及SOAP。UDDI是Web服務(wù)的通用商業(yè)注冊表(registry)或目錄,包括具有地址和聯(lián)系人的白頁,包含工業(yè)分類的黃頁,以及包含服務(wù)說明的綠頁。SOAP是一種基于訪問Web上的服務(wù)的XML的基于消息的協(xié)議。使用這些類型的及其他標準,應(yīng)用程序通常是在后臺運行,一個程序與另一個程序?qū)υ挕?br>
黃頁及其他注冊表是用于出版、發(fā)現(xiàn)和綁定Web服務(wù)的當前機制。注冊表通常包括用于描述Web服務(wù)和Web服務(wù)提供者的數(shù)據(jù)結(jié)構(gòu)及其他信息。
這些程序通常從服務(wù)器到服務(wù)器傳送。通過Web服務(wù)借助于開放式標準,源可以向客戶機提供客戶方軟件以添加該應(yīng)用程序,而不管平臺如何。動態(tài)Web服務(wù)客戶機使用黃頁目錄服務(wù),通常為UDDI,以查找客戶想要使用的服務(wù)的Web服務(wù)描述語言(WSDL)綁定。WSDL是一種基于XML的表示方式,描述了Web服務(wù)的性能。這些描述通常收藏在UDDI目錄中,并且所述組合有利于促進因特網(wǎng)上Web服務(wù)的使用。黃頁及其他注冊表是用于出版、發(fā)現(xiàn)和綁定Web服務(wù)的當前機制。注冊表通常包含用于描述Web服務(wù)和Web服務(wù)提供者的數(shù)據(jù)結(jié)構(gòu)及其他信息。
只要從目錄服務(wù)獲得的綁定信息是最新的,并且客戶機感興趣的服務(wù)是實際在線的,則該黃頁目錄服務(wù)的使用向客戶機提供有用的信息以訪問Web服務(wù)。遺憾地是,客戶機不具有確定這些條件是否是真實的機制。目前,客戶假定一個相對靜止的環(huán)境,并期望服務(wù)提供者保持查找這些類型的目錄的最新的信息。然而,當信息不正確時,這些類型的目錄的可用性降低。
因此,一種改進的用于提供對Web服務(wù)的綁定或訪問的方法、裝置以及計算機指令將是有利的。
發(fā)明內(nèi)容
本發(fā)明提供一種用于優(yōu)化Web服務(wù)綁定的方法、裝置和計算機指令。從客戶機接收對Web服務(wù)的Web服務(wù)綁定信息的請求。響應(yīng)對該請求的接收,識別由客戶機請求的Web服務(wù)的當前可用性,以形成識別的當前可用性。響應(yīng)對由客戶機請求的Web服務(wù)的當前可用性的識別,發(fā)送所識別的Web服務(wù)的當前可用性的指示給所述客戶機。所述客戶機使用該識別的當前可用性的指示有選擇地使用所述Web服務(wù)。
在所附的權(quán)利要求書中提出了被認為是本發(fā)明特性的新穎特征。然而,本發(fā)明本身以及優(yōu)選的使用模式,及其進一步的目的和優(yōu)點,當結(jié)合附圖閱讀時,參照以下對示意實施例的詳細說明將更好的理解。
附圖1是可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)圖示表示;附圖2是根據(jù)本發(fā)明的優(yōu)選實施例可以實現(xiàn)為服務(wù)器的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)圖;
附圖3是表示可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)圖;附圖4是表示根據(jù)本發(fā)明的優(yōu)選實施例用于提供增強存在(presence-enhanced)的Web服務(wù)綁定的部件的示意圖;附圖5是表示根據(jù)本發(fā)明的優(yōu)選實施例在增強存在的Web服務(wù)綁定系統(tǒng)中的部件的示意圖;附圖6是表示根據(jù)本發(fā)明的優(yōu)選實施例的提供存在信息時的部件的示意圖;附圖7是根據(jù)本發(fā)明的優(yōu)選實施例用于綁定到Web服務(wù)的過程的流程圖;附圖8是根據(jù)本發(fā)明的優(yōu)選實施例用于提供存在信息的過程的流程圖;附圖9是根據(jù)本發(fā)明的優(yōu)選實施例用于提供存在信息給存在網(wǎng)絡(luò)的過程的流程圖;附圖10是根據(jù)本發(fā)明的優(yōu)選實施例用于提供存在信息給注冊表的過程的流程圖;附圖11是根據(jù)本發(fā)明的優(yōu)選實施例用于提供信息的綁定和可用性給服務(wù)客戶機的過程的流程圖。
具體實施例方式
下面參照附圖,附圖1描述了可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)圖示表示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是一個其中可以實現(xiàn)本發(fā)明的計算機網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包括網(wǎng)絡(luò)102,其是用于提供網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)的各種設(shè)備與連接在一起的計算機之間的通信鏈路的介質(zhì)。網(wǎng)絡(luò)102可以包括連接,例如有線、無線通信鏈路,或光纖電纜。
在所描述的例子中,服務(wù)器104與存儲單元106一同連接到網(wǎng)絡(luò)102。此外,客戶機108、110和112也連接到網(wǎng)絡(luò)102。這些客戶機108、110和112可以是例如個人計算機或網(wǎng)絡(luò)計算機。在所描述的例子中,服務(wù)器104提供數(shù)據(jù),諸如啟動文件、操作系統(tǒng)鏡像、以及應(yīng)用程序給客戶機108-112。客戶機108、110和112是服務(wù)器104的客戶機。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可以包括其它的服務(wù)器、客戶機和其他未示出的設(shè)備。
在所描述的例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是具有網(wǎng)絡(luò)102的因特網(wǎng),網(wǎng)絡(luò)102代表使用傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)的協(xié)議組以相互通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的世界范圍的集合。在因特網(wǎng)的核心,是主節(jié)點或主計算機之間的高速數(shù)據(jù)通信線骨干,由成千的商業(yè)、政府、教育和其他路由數(shù)據(jù)及消息的計算機系統(tǒng)構(gòu)成。當然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100還可以被實現(xiàn)作為多個不同類型的網(wǎng)絡(luò),諸如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。附圖1只是作為一個例子,而不是作為對本發(fā)明結(jié)構(gòu)的限制。
參照附圖2,描述了根據(jù)本發(fā)明的優(yōu)選實施例的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)圖,其可以被實現(xiàn)為一個服務(wù)器,例如附圖1中的服務(wù)器104。數(shù)據(jù)處理系統(tǒng)200可以是對稱的多處理器(SMP)系統(tǒng),包括多個連接到系統(tǒng)總線206的處理器202和204。可替換的是,也可以使用單個處理器系統(tǒng)。同時連接到系統(tǒng)總線206的是存儲器控制器/超高速緩存208,其提供一個至局部存儲器209的接口。I/O總線橋210連接至系統(tǒng)總線206,并提供至I/O總線212的接口。如所描繪的,存儲器控制器/超高速緩存208和I/O總線橋210可以被集成。
連接至I/O總線212的外設(shè)部件互連(PCI)總線橋214提供連接到PCI局部總線216的接口。多個調(diào)制解調(diào)器可以連接至PCI局部總線216。典型的PCI總線實現(xiàn)方案將支持四個PCI擴展槽或內(nèi)插(add-in)連接器。通過經(jīng)內(nèi)插連接器連接至PCI局部總線216的調(diào)制解調(diào)器218和網(wǎng)絡(luò)適配器220可以提供附圖1中鏈接至客戶機108-112的通信鏈路。
附加的PCI總線橋222和224為附加的PCI局部總線226和228提供接口,從該接口可以支持附加的調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。以這種方式,數(shù)據(jù)處理系統(tǒng)200允許到多個網(wǎng)絡(luò)計算機的連接。根據(jù)所描述的,存儲映象式圖形適配器230和硬盤232也可以直接或間接地連接至I/O總線212。
本領(lǐng)域技術(shù)人員將會理解到,附圖2中描述的硬件可以變化。除了所描述的硬件或代替所描述的硬件還可以使用例如其他外圍設(shè)備,諸如光盤驅(qū)動器或類似設(shè)備。所描述的例子并不意味著表示對本發(fā)明的結(jié)構(gòu)進行限制。
附圖2中描述的數(shù)據(jù)處理系統(tǒng)例如可以是IBM eServer pSeries系統(tǒng),紐約Armonk的國際商業(yè)機器公司的產(chǎn)品,運行高級交互式可執(zhí)行(AIX)操作系統(tǒng)或LINUX操作系統(tǒng)。
下面參照附圖3,描述了其中可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)圖。數(shù)據(jù)處理系統(tǒng)300是客戶計算機的一個例子。數(shù)據(jù)處理系統(tǒng)300使用外設(shè)部件互連(PCI)局部總線體系結(jié)構(gòu)。雖然所描述的例子使用PCI總線,但是也可以使用其他總線體系結(jié)構(gòu),例如加速圖形接口(AGP)以及工業(yè)標準體系結(jié)構(gòu)(ISA)。處理器302和主存儲器304都通過PCI橋308連接到PCI局部總線306。PCI橋308還可以包括用于處理器302的集成存儲器控制器和超高速緩沖存儲器。通過直接的部件互連或通過內(nèi)裝板可以進行到PCI局部總線306的附加連接。在所描述的例子中,局域網(wǎng)(LAN)適配器310,小型計算機系統(tǒng)接口(SCSI)主總線適配器312,以及擴展總線接口314都通過直接的部件連接連接到PCI局部總線306。相比之下,音頻適配器316、圖形適配器318、以及音頻/視頻適配器319都通過插入到擴展槽中的內(nèi)裝板連接到PIC局部總線306。擴展總線接口314為鍵盤和鼠標適配器320、調(diào)制解調(diào)器322以及附加存儲器324提供連接。SCSI主總線適配器312為硬盤驅(qū)動器326、磁帶驅(qū)動器328以及CD-ROM驅(qū)動器330提供連接。典型的PCI局部總線實現(xiàn)方案將支持三個或四個PCI擴展槽或內(nèi)插連接器。
操作系統(tǒng)運行于處理器302上并用于協(xié)調(diào)和提供對附圖3中的數(shù)據(jù)處理系統(tǒng)300內(nèi)的各部件的控制。操作系統(tǒng)可以是市售的操作系統(tǒng),例如Windows XP,其可以從微軟公司獲得。面向?qū)ο蟮某绦蛟O(shè)計系統(tǒng)例如Java可以與操作系統(tǒng)一起運行,并提供從Java程序或在數(shù)據(jù)處理系統(tǒng)300上執(zhí)行的應(yīng)用程序?qū)Σ僮飨到y(tǒng)的調(diào)用?!癑ava”是SunMicrosystems公司的商標。操作系統(tǒng)、面相對象的程序設(shè)計系統(tǒng)、以及應(yīng)用程序或程序的指令都設(shè)置在存儲設(shè)備中,例如硬盤驅(qū)動器326中,并且可以加載到主存儲器304中供處理器302執(zhí)行。
本領(lǐng)域技術(shù)人員將會理解到,附圖3中的硬件可以根據(jù)實現(xiàn)方案而改變。除了附圖3所描述的硬件或代替所述硬件,也可以使用其他內(nèi)部硬件或外圍設(shè)備,例如閃速只讀存儲器(ROM)、相同的非易失性存儲器、或光盤驅(qū)動器以及類似設(shè)備。同時,本發(fā)明的過程可以被應(yīng)用到多處理器數(shù)據(jù)處理系統(tǒng)中。
作為另一個例子,數(shù)據(jù)處理系統(tǒng)300可以是配置成可啟動而不依靠某些類型的網(wǎng)絡(luò)通信接口的單機系統(tǒng)。作為再一個例子,數(shù)據(jù)處理系統(tǒng)300可以是個人數(shù)字助理(PDA)設(shè)備,其配置有ROM和/或閃速ROM,以便提供用于存儲操作系統(tǒng)文件和/或用戶生成的數(shù)據(jù)的非易失性存儲器。
附圖3中描述的例子以及上述實例并不意味著表示結(jié)構(gòu)上的限制。例如,數(shù)據(jù)處理系統(tǒng)300除了采用PDA的形式以外,還可以是筆記本電腦或手持式計算機。數(shù)據(jù)處理系統(tǒng)300還可以是公用信息機(kiosk)或Web工具。
本發(fā)明提供了一種改進的用于優(yōu)化Web服務(wù)的方法、裝置和計算機指令。當接收到客戶機對特定Web服務(wù)的Web服務(wù)信息的請求時,識別所述Web服務(wù)的當前可用性。發(fā)送該Web服務(wù)的當前可用性的指示給客戶機,其中所述客戶機使用該指示有選擇性地使用所述Web服務(wù)。在這些例子中,該當前可用性是在查詢所述Web服務(wù)時該服務(wù)是否開始(is up)和正在運行。在這些例子中,該Web服務(wù)信息是Web服務(wù)綁定信息。綁定(binding)定義由特定的端口類型定義的操作和消息的消息格式以及協(xié)議的詳細信息。對于給定的端口類型存在著許多綁定。此外,在這些例子中,綁定信息還包括所述Web服務(wù)的當前可用性,并且可以包括其他信息,例如所述Web服務(wù)的加載以及該Web服務(wù)的響應(yīng)時間。
本發(fā)明的機制使用一存在網(wǎng)絡(luò)(presence network)來提供該可用性信息。在這些示例性的例子中,存在網(wǎng)絡(luò)是包括即時消息傳送系統(tǒng)的網(wǎng)絡(luò),該系統(tǒng)用于在不同的部件或數(shù)據(jù)處理系統(tǒng)之間傳輸信息。即時消息傳送系統(tǒng)不需要人為用戶干預(yù)來提供不同部件或數(shù)據(jù)處理系統(tǒng)之間的通信。
當客戶機從Web服務(wù),例如黃頁提供者的注冊表中識別一個Web服務(wù)時,可以直接向客戶機提供所述存在或可用性信息。可替換的是,存在網(wǎng)絡(luò)可以直接將該可用性信息提供給所述注冊表。
此外,本發(fā)明的機制允許Web服務(wù)提供者增加服務(wù),并提供為注冊表,例如具有服務(wù)存在標識符的黃頁目錄服務(wù)開發(fā)的信息。當客戶查找服務(wù)的綁定信息時,可以使用所述存在標識符連接至存在網(wǎng)絡(luò)以確定所述服務(wù)當前是否可用??商鎿Q的是,可用性也可以直接提供給所述注冊表。本發(fā)明的機制提供服務(wù)的標識符,以利用其存在服務(wù)標識符連接至存在網(wǎng)絡(luò),從而提供信息給存在網(wǎng)絡(luò),例如所述Web服務(wù)的當前可用性。然后也可以通過服務(wù),例如包括服務(wù)的加載、服務(wù)的響應(yīng)時間統(tǒng)計、以及更新的綁定信息提供其他信息給存在網(wǎng)絡(luò)??梢员惶峁┑男畔⒌钠渌佑蟹?wù)的一般可用性。如果所述服務(wù)在至少某些或可能在大多數(shù)時間是可用的,則該服務(wù)被認為是一般可用的。這類可用性與服務(wù)的當前可用性相比是一種不同類型的可用性。
下面轉(zhuǎn)到附圖4,描述了根據(jù)本發(fā)明的優(yōu)選實施例用于提供增強存在的Web服務(wù)綁定的部件的示意圖。在該示意性實例中,服務(wù)客戶機400查找服務(wù)黃頁402中的服務(wù)綁定信息。服務(wù)黃頁402是Web服務(wù)的注冊表。該注冊表可以使用UDDI實現(xiàn)。服務(wù)黃頁402中的信息由服務(wù)提供者提供。
在該實例中,服務(wù)提供者404輸出服務(wù)綁定信息給服務(wù)黃頁402。因此,當服務(wù)客戶機400查找服務(wù)黃頁402中的信息時,該客戶機可以獲得與由服務(wù)提供者404提供的Web服務(wù)交互所需的綁定信息。
當從服務(wù)黃頁402中獲得服務(wù)綁定信息時,本發(fā)明的機制包括存在網(wǎng)絡(luò)406。服務(wù)提供者404的Web服務(wù)連接到存在網(wǎng)絡(luò)406以提供更新的有關(guān)特定Web服務(wù)的存在信息。
服務(wù)客戶機400還可以從服務(wù)黃頁402中獲得服務(wù)存在標識符。該服務(wù)存在標識符用于從存在網(wǎng)絡(luò)406獲取存在信息。在該實例中,特定的存在信息是用于服務(wù)提供者404的Web服務(wù)。利用所述服務(wù)存在標識符,服務(wù)客戶機400可以請求有關(guān)通過服務(wù)提供者404提供的服務(wù)的可用性的信息??商鎿Q的是,也可以由服務(wù)客戶機400使用姓名或其他查找機制來獲取Web服務(wù)的存在信息。
在這些示意性的實施例中,存在信息包括Web服務(wù)的當前可用性以及其他可能需要的信息。該其他信息可能包括例如加載統(tǒng)計、服務(wù)響應(yīng)時間統(tǒng)計、以及Web服務(wù)的位置。
當服務(wù)客戶機400與存在網(wǎng)絡(luò)406聯(lián)系以請求有關(guān)某一特定Web服務(wù)的信息時,該信息在存在網(wǎng)絡(luò)406中采集,并可用于服務(wù)客戶機400。
在這些實例中,存在網(wǎng)絡(luò)406是包括即時消息傳送系統(tǒng)的網(wǎng)絡(luò)。來自各個Web服務(wù)的信息通過存在網(wǎng)絡(luò)406中的代理進行采集。這些代理監(jiān)視由各個Web服務(wù)發(fā)送給為一個或多個Web服務(wù)所建立的聊天組(chat group)的信息。該信息被采集并可用于服務(wù)客戶機。
此外,不同的Web服務(wù)可以包括監(jiān)視代理,其監(jiān)視或獲取來自不同的服務(wù)提供者的存在信息。所述信息通過即時消息傳送協(xié)議交換。多個不同的代理可以構(gòu)成一個聊天組,其中每個代理從不同服務(wù)提供者的一個或多個Web服務(wù)采集或接收存在信息。
服務(wù)客戶機400發(fā)送查詢給存在網(wǎng)絡(luò)406,以從服務(wù)黃頁402中識別當前可用的服務(wù)。
下面轉(zhuǎn)到附圖5,描述了根據(jù)本發(fā)明的優(yōu)選實施例的增強存在的Web服務(wù)綁定系統(tǒng)中的部件的示意圖。在該示意性的實例中,服務(wù)提供者500輸出服務(wù)綁定信息給注冊表,例如服務(wù)黃頁502。該信息可以通過各種客戶機獲得,例如服務(wù)客戶機504。在獲得該綁定信息時,服務(wù)客戶機504獲取與通過服務(wù)提供者500提供的Web服務(wù)交互所需的信息。此外,在服務(wù)黃頁502中提供的Web服務(wù)信息利用服務(wù)存在信息增強。
在該特定的示意性實例中,并不要求服務(wù)客戶機504接觸存在網(wǎng)絡(luò)506。在該特定實例中,服務(wù)存在信息由存在網(wǎng)絡(luò)506直接發(fā)送給服務(wù)黃頁502。服務(wù)提供者500的各個代理接觸存在網(wǎng)絡(luò)506以更新有關(guān)不同的可用Web服務(wù)的存在信息。在這些實例中,可用性是所述服務(wù)當前是否開始和正在運行。
下面轉(zhuǎn)到附圖6,描述了根據(jù)本發(fā)明的優(yōu)選實施例在提供存在信息時的部件的示意圖。在該實例中,網(wǎng)絡(luò)600構(gòu)成存在網(wǎng)絡(luò),例如附圖4中的存在網(wǎng)絡(luò)406或附圖5中的存在網(wǎng)絡(luò)506。網(wǎng)絡(luò)600包括管理代理602。這些管理代理包括用于接收有關(guān)不同Web服務(wù)的信息的即時消息傳送能力。這些管理代理被分配到聊天組中,該聊天組接收來自不同Web服務(wù)的存在信息。然后,來自管理代理602的信息可以通過相關(guān)代理604相互關(guān)聯(lián)。該相關(guān)代理是采集由管理代理602接收的信息的過程。然后相關(guān)代理604可以將所述信息提供給客戶機或注冊表。
管理代理602從與服務(wù)提供者相關(guān)的不同代理接收存在信息。在該實例中,即時消息傳送代理606和即時消息傳送代理608登陸到與管理代理602相關(guān)的聊天組并發(fā)送存在信息。即時消息傳送代理606監(jiān)視通過服務(wù)提供者610提供的Web服務(wù),同時即時消息傳送代理608監(jiān)視通過服務(wù)提供者612提供的Web服務(wù)。這些代理監(jiān)視用于識別這些類型的服務(wù)提供者的Web服務(wù)的當前可用性的信息。這些即時消息傳送代理還提供其他信息,包括例如加載統(tǒng)計和響應(yīng)時間統(tǒng)計。
這些代理登錄到與管理代理602和網(wǎng)絡(luò)600相關(guān)的聊天組。然后將所述信息發(fā)送給那些聊天組。除了Web服務(wù)的當前可用性之外還可以發(fā)送至管理代理602的其他信息包括對于綁定信息的變化的更新。然后所述信息可以通過相關(guān)代理604提供給注冊表或客戶機。所有代理都包括即時消息傳送能力并通過即時消息傳送協(xié)議相互通信。
即時消息傳送代理606包括即時消息傳送進程607。即時消息傳送代理608包括即時消息傳送進程609。這些即時消息傳送進程用于連接至網(wǎng)絡(luò)600中的管理代理602。特別地是,即時消息傳送代理使用這些進程連接至與這些管理代理相關(guān)的聊天組。通過即時消息傳送信息將所述信息發(fā)送至這些管理代理。各種代理可以在網(wǎng)絡(luò)600中的不同數(shù)據(jù)處理系統(tǒng)上實現(xiàn)。
下面轉(zhuǎn)到附圖7,描述了根據(jù)本發(fā)明的優(yōu)選實施例用于綁定到Web服務(wù)的過程的流程圖。附圖7所示的過程可以在服務(wù)客戶機,例如附圖4的服務(wù)客戶機400中實現(xiàn)。
通過請求服務(wù)綁定信息(步驟700)開始所述過程。向注冊表,例如附圖4的服務(wù)黃頁402作出該請求。響應(yīng)該請求的作出,接收一個或多個服務(wù)的信息(步驟702)。之后,連接到存在網(wǎng)絡(luò)(步驟704)。選擇一個服務(wù)(步驟706)。然后查詢有關(guān)該服務(wù)的存在網(wǎng)絡(luò)(步驟708)。對于所述服務(wù)當前是否可用進行確定(步驟710)。在步驟710,進行確定以查看所述服務(wù)當前是否開始和正在運行。
如果所述服務(wù)當前可用,則所述過程綁定到所述服務(wù)中(步驟712),之后終止過程。如果所述服務(wù)當前不可用,則確定是否已接收到其他服務(wù)的服務(wù)綁定信息(步驟714)。如果存在其他服務(wù),則所述過程轉(zhuǎn)到步驟706以選擇其他服務(wù)。否則,過程終止。
下面轉(zhuǎn)到附圖8,描述了根據(jù)本發(fā)明的優(yōu)選實施例用于提供存在信息的過程的流程圖。附圖8所示的過程可以在相關(guān)代理,例如附圖6的相關(guān)代理600中實現(xiàn)。
通過接收來自客戶機的查詢(步驟800)開始所述過程。該查詢包括識別所述服務(wù)。該查詢可以以各種方式進行。例如,服務(wù)的名稱可以用于使名稱與服務(wù)標識符相關(guān)聯(lián)以查找特定的服務(wù)??商鎿Q的是,客戶機可以為特定的服務(wù)提供存在標識符。
對所述服務(wù)是否可用進行確定(步驟802)。通過識別所述服務(wù)的當前存在信息進行所述確定。如果該服務(wù)當前可用,則返回響應(yīng)給客戶機,指示該服務(wù)當前可用(步驟804)。否則,返回表示所述服務(wù)不可用的響應(yīng)(步驟806),之后終止所述過程。
下面轉(zhuǎn)到附圖9,描述了根據(jù)本發(fā)明的優(yōu)選實施例用于提供存在信息給存在網(wǎng)絡(luò)的過程的流程圖。附圖9所示的流程圖可以在即時消息傳送代理,例如附圖6中的即時消息傳送代理606中實現(xiàn)。
通過登錄到即時消息傳送系統(tǒng)(步驟900)開始所述過程。在該實例中,即時消息傳送系統(tǒng)是存在網(wǎng)絡(luò),例如附圖6的網(wǎng)絡(luò)600中的一個系統(tǒng)。然后監(jiān)視被管理資源(步驟902)。在該實例中,被管理資源為一個或多個Web服務(wù)。
然后對所選擇的信息是否存在于被管理資源中進行確定(步驟904)。該選擇的信息包括所述特定服務(wù)當前是否可用。所選擇的信息還可以包括其他信息,例如加載統(tǒng)計、響應(yīng)時間統(tǒng)計以及所述Web服務(wù)的位置。如果所述信息存在,則所述過程發(fā)送該信息至存在網(wǎng)絡(luò)中的多用戶聊天組(步驟906),然后所述過程返回到步驟902。
再次參照步驟904,如果不存在所選擇的信息,所述過程也返回到步驟904以繼續(xù)監(jiān)視所述被管理資源。
下面轉(zhuǎn)到附圖10,描述了根據(jù)本發(fā)明的優(yōu)選實施例用于提供存在信息給注冊表的過程的流程圖。附圖10所示的過程可以在相關(guān)代理,例如附圖6中的相關(guān)代理604中實現(xiàn)。
通過檢測更新的服務(wù)存在信息(步驟1000)開始所述過程。該信息可以包括例如在一個或多個服務(wù)的可用性方面的變化。此外,在統(tǒng)計例如加載和響應(yīng)時間方面的變化也構(gòu)成該存在信息。如果沒有檢測到服務(wù)存在信息中的變化,則所述過程返回到步驟1000。否則,發(fā)送更新的服務(wù)存在信息至服務(wù)黃頁(步驟1002),所述過程返回到步驟1000。
雖然所描述的實例說明了使用有關(guān)Web服務(wù)的注冊表的服務(wù)黃頁,本發(fā)明的機制也可以被應(yīng)用到并使用用于提供有關(guān)Web服務(wù)的信息的任何種類的注冊表。
下面轉(zhuǎn)到附圖11,描述了根據(jù)本發(fā)明的優(yōu)選實施例用于提供信息的綁定及可用性的過程的流程圖。附圖11所示的過程可以在注冊表,例如附圖5中的服務(wù)黃頁502中實現(xiàn)。
通過接收來自客戶機的對服務(wù)綁定信息的請求(步驟1100)開始所述過程。然后識別參數(shù)(步驟1102)。所述參數(shù)可以包括例如服務(wù)的特定類型,或服務(wù)所需接口的特定類型。在所述注冊表中識別與這些參數(shù)匹配的服務(wù)(步驟1104)。
之后,把匹配服務(wù)的綁定信息放入到響應(yīng)中(步驟1106)。另外,在注冊表中識別這些服務(wù)中每個服務(wù)的可用性信息并放入到響應(yīng)中(步驟1108)。此外,有關(guān)所述服務(wù)的附加信息也可以放入到所述響應(yīng)中(步驟1110)。該附加信息包括例如服務(wù)的位置、服務(wù)的加載統(tǒng)計、以及服務(wù)的響應(yīng)時間。之后,發(fā)送該響應(yīng)至請求者(步驟1112),之后終止所述過程。
因此,本發(fā)明提供了一種用于提供對Web服務(wù)的訪問的方法、裝置和計算機指令。本發(fā)明的機制使用存在網(wǎng)絡(luò)來獲得有關(guān)不同服務(wù)的當前可用性的更新信息。然后響應(yīng)請求有關(guān)特定Web服務(wù)的信息的客戶機,將該信息提供給該客戶機。在這些實例中,所述請求是針對綁定信息。當然,所述請求可以針對除了綁定信息之外的其它類型的信息,這取決于特定的實現(xiàn)方式。
有關(guān)不同服務(wù)的可用性信息可以直接提供給服務(wù)客戶機??商鎿Q的是,該信息可以被放入到特定的注冊表中,該信息與由客戶機請求的其他信息一起被發(fā)送回所述客戶機。
應(yīng)當注意的是,雖然已在完整功能數(shù)據(jù)處理系統(tǒng)的上下文中對本發(fā)明進行了描述,本領(lǐng)域技術(shù)人員將會理解到,本發(fā)明的過程可以以計算機可讀介質(zhì)的指令的形式以及多種形式來發(fā)布,并且不管實際用于執(zhí)行所述發(fā)布的信號承載介質(zhì)的特定類型如何,本發(fā)明同樣適用。計算機可讀介質(zhì)的例子包括可記錄型介質(zhì),例如軟盤、硬盤驅(qū)動器、RAM、CD-ROM、DVD-ROM,以及傳輸型介質(zhì),例如數(shù)字和模擬通信鏈路,使用傳輸形式的有線或無線通信鏈路,諸如無線電頻率和光波傳輸。計算機可讀介質(zhì)可以采用編碼格式形式,用于在數(shù)據(jù)處理系統(tǒng)中實際使用時解碼。
本發(fā)明的描述是為了舉例和說明的目的而提供,并不是要以所公開的形式窮舉或限制本發(fā)明。對于本領(lǐng)域普通技術(shù)人員來說很明顯可以進行各種修改和變化。選擇并描述所述實施例是為了更好的解釋本發(fā)明的原理、實際應(yīng)用,并使其他本領(lǐng)域普通技術(shù)人員能夠理解本發(fā)明對于具有各種修改的各個實施例來說同樣適合于預(yù)期的特定應(yīng)用。
權(quán)利要求
1.一種在數(shù)據(jù)處理系統(tǒng)中用于優(yōu)化Web服務(wù)綁定的方法,該方法包括從客戶機接收對Web服務(wù)的Web服務(wù)綁定信息的請求;響應(yīng)對該請求的接收,識別由所述客戶機請求的Web服務(wù)的當前可用性以形成識別的當前可用性;以及響應(yīng)對由客戶機請求的Web服務(wù)的當前可用性的識別,發(fā)送該識別的Web服務(wù)的當前可用性的指示給所述客戶機,其中該客戶機使用該識別的當前可用性的指示有選擇地使用所述Web服務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述識別步驟包括連接到一存在網(wǎng)絡(luò)中的部件以獲取所述Web服務(wù)的信息;以及更新所述Web服務(wù)的存在信息,其中該存在信息包括對所述Web服務(wù)當前是否可用的識別。
3.根據(jù)權(quán)利要求1所述的方法,其中所述識別步驟包括識別Web服務(wù)綁定信息,其中該Web服務(wù)信息包括所述Web服務(wù)的當前可用性,并且其中所述Web服務(wù)綁定信息通過存在網(wǎng)絡(luò)進行更新。
4.根據(jù)權(quán)利要求1所述的方法,其中所述接收步驟、識別步驟以及發(fā)送步驟設(shè)置在一個存在網(wǎng)絡(luò)中。
5.根據(jù)權(quán)利要求1所述的方法,其中所述接收步驟、識別步驟以及發(fā)送步驟設(shè)置在一個注冊表中。
6.根據(jù)權(quán)利要求1所述的方法,進一步包括發(fā)送有關(guān)所述Web服務(wù)的加載、所述Web服務(wù)的響應(yīng)時間、所述Web服務(wù)的一般可用性、以及所述Web服務(wù)的綁定信息中的至少之一的信息。
7.根據(jù)權(quán)利要求1所述的方法,其中所述請求包括識別Web服務(wù)提供者的服務(wù)存在標識符。
8.一種用于優(yōu)化Web服務(wù)綁定的數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括接收裝置,用于從客戶機接收對Web服務(wù)的Web服務(wù)綁定信息的請求;識別裝置,用于響應(yīng)對該請求的接收,識別由所述客戶機請求的Web服務(wù)的當前可用性以形成識別的當前可用性;以及發(fā)送裝置,用于響應(yīng)對對應(yīng)于由客戶機請求的Web服務(wù)的Web服務(wù)的當前可用性的識別,發(fā)送該識別的Web服務(wù)的當前可用性的指示給所述客戶機,其中該客戶機使用該識別的當前可用性的指示有選擇地使用所述Web服務(wù)。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中所述識別裝置包括連接裝置,用于連接到存在網(wǎng)絡(luò)中的部件以獲取所述Web服務(wù)的信息;以及更新裝置,用于更新所述Web服務(wù)的存在信息,其中該存在信息包括對所述Web服務(wù)當前是否可用的識別。
10.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中所述識別裝置包括用于識別Web服務(wù)信息的裝置,其中該Web服務(wù)綁定信息包括所述Web服務(wù)的當前可用性,并且其中所述Web服務(wù)綁定信息通過存在網(wǎng)絡(luò)進行更新。
11.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中所述接收裝置、識別裝置以及發(fā)送裝置設(shè)置在一個存在網(wǎng)絡(luò)中。
12.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中所述接收裝置、識別裝置以及發(fā)送裝置設(shè)置在一個注冊表中。
13.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),進一步包括發(fā)送裝置,用于發(fā)送有關(guān)所述Web服務(wù)的加載、所述Web服務(wù)的響應(yīng)時間、所述Web服務(wù)的一般可用性、以及所述Web服務(wù)的綁定信息中的至少之一的信息。
14.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中所述請求包括識別Web服務(wù)提供者的服務(wù)存在標識符。
15.一種計算機可讀介質(zhì)中的計算機程序產(chǎn)品,用于優(yōu)化Web服務(wù)綁定,該計算機程序產(chǎn)品包括第一指令,用于從客戶機接收對Web服務(wù)的Web服務(wù)綁定信息的請求;第二指令,用于響應(yīng)對該請求的接收,識別由所述客戶機請求的Web服務(wù)的當前可用性以形成識別的當前可用性;以及第三指令,用于響應(yīng)對由客戶機請求的Web服務(wù)的當前可用性的識別,發(fā)送該識別的Web服務(wù)的當前可用性的指示給所述客戶機,其中該客戶機使用該識別的當前可用性的指示有選擇地使用所述Web服務(wù)。
16.根據(jù)權(quán)利要求15所述的計算機程序產(chǎn)品,其中所述第二指令包括第一子指令,用于連接到一存在網(wǎng)絡(luò)中的部件以獲取所述Web服務(wù)的信息;以及第二子指令,用于更新所述Web服務(wù)的存在信息,其中該存在信息包括對所述Web服務(wù)當前是否可用的識別。
17.根據(jù)權(quán)利要求15所述的計算機程序產(chǎn)品,其中所述第二指令包括用于識別Web服務(wù)綁定信息的子指令,其中該Web服務(wù)綁定信息包括所述Web服務(wù)的當前可用性,并且其中所述Web服務(wù)信息通過存在網(wǎng)絡(luò)進行更新。
18.根據(jù)權(quán)利要求15所述的計算機程序產(chǎn)品,其中所述第一指令、第二指令以及第三指令在一個存在網(wǎng)絡(luò)中執(zhí)行。
19.根據(jù)權(quán)利要求15所述的計算機程序產(chǎn)品,其中所述第一指令、第二指令以及第三指令在一個注冊表中執(zhí)行。
20.根據(jù)權(quán)利要求15所述的計算機程序產(chǎn)品,進一步包括第四指令,用于發(fā)送有關(guān)所述Web服務(wù)的加載、所述Web服務(wù)的響應(yīng)時間、所述Web服務(wù)的一般可用性、以及所述Web服務(wù)的綁定信息中的至少之一的信息。
21.根據(jù)權(quán)利要求15所述的計算機程序產(chǎn)品,其中所述請求包括識別Web服務(wù)提供者的服務(wù)存在標識符。
全文摘要
本發(fā)明提供一種用于優(yōu)化Web服務(wù)綁定的方法、裝置和計算機指令。從客戶機接收對Web服務(wù)的Web服務(wù)綁定信息的請求。響應(yīng)對該請求的接收,識別由客戶機請求的Web服務(wù)的當前可用性,以形成識別的當前可用性。響應(yīng)對由客戶機請求的Web服務(wù)的當前可用性的識別,發(fā)送所識別的Web服務(wù)的當前可用性的指示給所述客戶機。所述客戶機使用該識別的當前可用性的指示有選擇地使用所述Web服務(wù)。
文檔編號H04L29/00GK1767519SQ200510116039
公開日2006年5月3日 申請日期2005年10月27日 優(yōu)先權(quán)日2004年10月28日
發(fā)明者朗達·L.·奇爾德雷斯, 戴維·B·庫海爾, 尼爾·R·潘奈爾, 沃德·K.·哈羅德 申請人:國際商業(yè)機器公司