欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

處理針對(duì)多個(gè)Web服務(wù)的請(qǐng)求的方法、服務(wù)器及系統(tǒng)的制作方法

文檔序號(hào):6428264閱讀:225來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):處理針對(duì)多個(gè)Web服務(wù)的請(qǐng)求的方法、服務(wù)器及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及Web服務(wù)領(lǐng)域,更具體地說(shuō)涉及到通過(guò)基于模式的方法來(lái)調(diào)用Web服務(wù)。
背景技術(shù)
Web服務(wù)(又稱(chēng)為應(yīng)用服務(wù))是Web服務(wù)器向Web用戶(hù)或其它與Web連接的應(yīng)用提供的服務(wù)。Web服務(wù)的提供者一般稱(chēng)為應(yīng)用服務(wù)提供者。Web服務(wù)的范圍,可以從存儲(chǔ)管理、客戶(hù)關(guān)系管理等主要服務(wù),到更加受限的如提供股票報(bào)價(jià)、查看對(duì)拍賣(mài)物品的競(jìng)價(jià)等服務(wù)。Web服務(wù)的其它例子還包括但不限于,響應(yīng)提供的姓名而提供電話號(hào)碼的服務(wù)和為提供的姓名返回一或多個(gè)電子郵件地址的服務(wù)。
Web服務(wù)一般基于請(qǐng)求-響應(yīng)模式,并遵循客戶(hù)機(jī)/服務(wù)器模型。即,客戶(hù)的請(qǐng)求被發(fā)送到一服務(wù)器以執(zhí)行。典型的,發(fā)給服務(wù)器的請(qǐng)求的格式遵循遠(yuǎn)程過(guò)程調(diào)用(Remote Procedure Call,RPC)協(xié)議。一般來(lái)說(shuō),RPC使得一個(gè)應(yīng)用(客戶(hù)機(jī))向另一個(gè)應(yīng)用(服務(wù)器)請(qǐng)求一個(gè)服務(wù)。在網(wǎng)絡(luò)中,RPC允許運(yùn)行在一計(jì)算機(jī)系統(tǒng)中的客戶(hù)機(jī)向運(yùn)行在一不同的計(jì)算機(jī)系統(tǒng)中的服務(wù)器發(fā)出請(qǐng)求。當(dāng)使用RPC來(lái)向服務(wù)器應(yīng)用發(fā)出請(qǐng)求時(shí),客戶(hù)機(jī)應(yīng)用不需要知道網(wǎng)絡(luò)的運(yùn)行細(xì)節(jié)。
也可以使用簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol,SOAP)發(fā)送請(qǐng)求。換言之,向服務(wù)器發(fā)送包含RPC信息的SOAP消息。然后服務(wù)器可處理接收到的請(qǐng)求,并向客戶(hù)機(jī)發(fā)出一個(gè)響應(yīng)。SOAP是一種協(xié)議,通過(guò)采用超文本傳輸協(xié)議(HTTP)和擴(kuò)展標(biāo)記語(yǔ)言(XML)作為信息交換機(jī)制,它可以使得運(yùn)行在一種類(lèi)型操作系統(tǒng)中的程序與運(yùn)行在相同或不同類(lèi)型的操作系統(tǒng)以及計(jì)算機(jī)系統(tǒng)中的程序進(jìn)行通信。SOAP規(guī)定對(duì)HTTP頭和XML文件如何編碼,以便一計(jì)算機(jī)中的程序能夠調(diào)用另一計(jì)算機(jī)中的程序,并能傳遞信息。
目前,Web服務(wù)范例規(guī)定了一個(gè)請(qǐng)求對(duì)應(yīng)于單個(gè)Web服務(wù)的過(guò)程。更具體地說(shuō),每個(gè)請(qǐng)求啟動(dòng)單個(gè)Web服務(wù),因而每個(gè)請(qǐng)求涉及一個(gè)特定的服務(wù)提供者。這樣,為了完成涉及多于一個(gè)的Web服務(wù)的較復(fù)雜的動(dòng)作,客戶(hù)機(jī)必須發(fā)出一系列請(qǐng)求,而每個(gè)請(qǐng)求被發(fā)送給不同的Web服務(wù)。也就是說(shuō),動(dòng)作的每個(gè)組成任務(wù)必須以一個(gè)請(qǐng)求的形式提交給適當(dāng)?shù)腤eb服務(wù)。
如果組成動(dòng)作的任務(wù)在性質(zhì)上是層次結(jié)構(gòu)的,以致一個(gè)Web服務(wù)需要從另一個(gè)Web服務(wù)處獲取信息以便運(yùn)行,則這些請(qǐng)求必須以適當(dāng)?shù)捻樞虬l(fā)送給每個(gè)Web服務(wù)。在這種情況下,客戶(hù)機(jī)必須從給定Web服務(wù)接收一個(gè)響應(yīng),以便可使用所檢索到的信息構(gòu)建要提交給在構(gòu)成要完成的動(dòng)作的Web服務(wù)層次結(jié)構(gòu)中的下一個(gè)Web服務(wù)的請(qǐng)求。

發(fā)明內(nèi)容
本發(fā)明提供了一種處理針對(duì)Web服務(wù)的復(fù)雜請(qǐng)求的方法、系統(tǒng)和裝置。本發(fā)明能接收復(fù)雜的請(qǐng)求或指定要完成多于一個(gè)的Web服務(wù)的請(qǐng)求。所接收的請(qǐng)求指定的每個(gè)Web服務(wù)可以被并行地調(diào)用,也可以被順序地調(diào)用。一旦請(qǐng)求指定的每個(gè)Web服務(wù)已完成執(zhí)行,或者滿足了另一個(gè)終止條件,便能產(chǎn)生一個(gè)響應(yīng),并發(fā)送該響應(yīng)給發(fā)出請(qǐng)求的實(shí)體。
本發(fā)明的一個(gè)方面包括處理針對(duì)一或多個(gè)Web服務(wù)的請(qǐng)求的方法。該方法可包括接收一指定至少兩個(gè)Web服務(wù)的請(qǐng)求,將來(lái)自該請(qǐng)求的對(duì)象模式存儲(chǔ)在公共存儲(chǔ)器中,并以?xún)蓚€(gè)或多個(gè)守護(hù)器(watcher)掃描該公共存儲(chǔ)器。每個(gè)守護(hù)器可與一Web服務(wù)相關(guān)聯(lián),并可指定用于調(diào)用一相關(guān)聯(lián)的Web服務(wù)的規(guī)則。本方法還可包括檢測(cè)對(duì)象模式匹配于至少兩個(gè)守護(hù)器的規(guī)則。因此,具有匹配于該對(duì)象模式的規(guī)則的每個(gè)守護(hù)器可調(diào)一相關(guān)聯(lián)的用Web服務(wù)。
本方法還可包括在所述存儲(chǔ)對(duì)象模式的步驟之前從請(qǐng)求中提取對(duì)象模式。在本發(fā)明的一個(gè)實(shí)施例中,每個(gè)守護(hù)器能并行地對(duì)該公共存儲(chǔ)器進(jìn)行掃描,使得能夠并發(fā)地調(diào)用多于一個(gè)的Web服務(wù)。在另一個(gè)實(shí)施例中,所述檢測(cè)步驟中的兩個(gè)或更多守護(hù)器能順序地調(diào)用一相關(guān)聯(lián)的Web服務(wù)。在任何情況下,本方法可包括至少一個(gè)守護(hù)器按照從一相關(guān)聯(lián)的Web服務(wù)中接收到的指令修改模式對(duì)象。
在本發(fā)明的另一個(gè)實(shí)施例中,至少一個(gè)被調(diào)用的Web服務(wù)可指示一相關(guān)聯(lián)的守護(hù)器修改對(duì)象模式。在這種情況下,該相關(guān)聯(lián)的守護(hù)器能按照來(lái)自于該相關(guān)聯(lián)Web服務(wù)的指令修改對(duì)象模式。一個(gè)不同的守護(hù)器可以確定所修改的對(duì)象模式匹配于該不同的守護(hù)器的至少一個(gè)規(guī)則。因此,該不同的守護(hù)器可以調(diào)用與該不同的守護(hù)器對(duì)應(yīng)的Web服務(wù)。
守護(hù)器可以繼續(xù)調(diào)用Web服務(wù),直到一個(gè)終止守護(hù)器檢測(cè)到終止條件,并將模式對(duì)象從公共存儲(chǔ)器清除為止。因此,可以對(duì)請(qǐng)求發(fā)送一個(gè)響應(yīng)。該響應(yīng)可至少部分地指明模式對(duì)象。
本發(fā)明的另一個(gè)方面可包括一個(gè)用于處理針對(duì)Web服務(wù)的復(fù)雜請(qǐng)求的服務(wù)器。該服務(wù)器可包括被配置成接收針對(duì)多于一個(gè)的Web服務(wù)的一請(qǐng)求的HTTP服務(wù)器,被配置成從該請(qǐng)求中提取模式對(duì)象并編排對(duì)該請(qǐng)求的響應(yīng)的格式的至少一個(gè)小服務(wù)程序(servlet),當(dāng)模式對(duì)象指定的Web服務(wù)執(zhí)行時(shí)暫時(shí)存儲(chǔ)該模式對(duì)象的公共存儲(chǔ)器,以及多個(gè)守護(hù)器。每個(gè)守護(hù)器可對(duì)應(yīng)一個(gè)特定的Web服務(wù),并包含用于調(diào)用相關(guān)聯(lián)的Web服務(wù)的規(guī)則。因此,每個(gè)守護(hù)器可以并行地掃描該公共存儲(chǔ)器,以確定所存儲(chǔ)的模式對(duì)象是否匹配于用于調(diào)用一相關(guān)聯(lián)的Web服務(wù)的規(guī)則。系統(tǒng)也可以包含一個(gè)被配置為檢測(cè)終止條件的終止守護(hù)器。該終止守護(hù)器可在檢測(cè)到終止條件時(shí),將該模式對(duì)象提供回至多個(gè)小服務(wù)程序的其中之一以產(chǎn)生一個(gè)響應(yīng)。
守護(hù)器可以并行地掃描公共存儲(chǔ)器,使得多于一個(gè)的Web服務(wù)可以并發(fā)地執(zhí)行。此外,守護(hù)器仍然能以順序的方式調(diào)用多于一個(gè)的Web服務(wù)。守護(hù)器也可以按照從一相關(guān)聯(lián)的Web服務(wù)提供的指令來(lái)修改模式對(duì)象。值得注意的是,被調(diào)用的Web服務(wù)可指示一相關(guān)聯(lián)的守護(hù)器修改對(duì)象模式,使得一不同的守護(hù)器可以確定所修改的對(duì)象模式匹配于一規(guī)則,并調(diào)用與該不同的守護(hù)器對(duì)應(yīng)的Web服務(wù)。
本發(fā)明的其它實(shí)施例,當(dāng)按照這里公開(kāi)的發(fā)明安排進(jìn)行配置時(shí),可包含一種用于執(zhí)行這里公開(kāi)的各種處理的系統(tǒng),以及一個(gè)用于使得一機(jī)器執(zhí)行這里公開(kāi)的各種處理的機(jī)器可讀的存儲(chǔ)裝置。


附圖描述了目前優(yōu)選的幾個(gè)實(shí)施例,但應(yīng)當(dāng)明白,本發(fā)明并不限于所示的精確安排和手段。
圖1是一個(gè)示意圖,描述了用于按照這里公開(kāi)的發(fā)明安排的一個(gè)方面調(diào)用基于模式的Web服務(wù)的系統(tǒng)。
圖2是一個(gè)示意圖,描述了用于按照這里公開(kāi)的發(fā)明安排調(diào)用基于模式的Web服務(wù)的系統(tǒng)的另一個(gè)方面。
圖3是一個(gè)流程圖,描述了根據(jù)本發(fā)明的另一個(gè)方面處理針對(duì)Web服務(wù)的復(fù)雜請(qǐng)求的方法。
具體實(shí)施例方式
圖1示意性地說(shuō)明了用于根據(jù)這里公開(kāi)的發(fā)明安排的一個(gè)方面調(diào)用基于模式的Web服務(wù)的系統(tǒng)100。如圖所示,系統(tǒng)100可包括一個(gè)核心服務(wù)器105和幾個(gè)Web服務(wù)110、115、120。
核心服務(wù)器105可以實(shí)現(xiàn)為一個(gè)計(jì)算機(jī)系統(tǒng)或其它的信息處理系統(tǒng),包括但不限于通用計(jì)算機(jī)系統(tǒng)和/或服務(wù)器計(jì)算機(jī)系統(tǒng)。核心服務(wù)器105可以包括一個(gè)超文本傳輸協(xié)議(HTTP)服務(wù)器應(yīng)用125(以下稱(chēng)為HTTP服務(wù)器)、一或多個(gè)小服務(wù)程序的集合130、一個(gè)公共存儲(chǔ)空間135和一或多個(gè)守護(hù)器140、145、150。也可包含一個(gè)終止守護(hù)器155。
HTTP服務(wù)器125可接收請(qǐng)求160,并可發(fā)送對(duì)接收到的請(qǐng)求的響應(yīng)。例如,HTTP服務(wù)器125能接收按照簡(jiǎn)單對(duì)象協(xié)議(SOAP)進(jìn)行格式編排的請(qǐng)求,并對(duì)這種請(qǐng)求解碼。更進(jìn)一步,響應(yīng)也可以被編排格式為SOAP響應(yīng)。小服務(wù)程序130可被配置成從接收到的請(qǐng)求中提取一模式對(duì)象。該模式對(duì)象可以指定名字、字符串、數(shù)字序列、規(guī)則、另一對(duì)象、或是可由一對(duì)象保持的任何其它結(jié)構(gòu)。小服務(wù)程序130可以從接收到的請(qǐng)求中提取模式對(duì)象,并將這些模式對(duì)象存放在工作區(qū)135中。小服務(wù)程序130進(jìn)一步可供給終止守護(hù)器155以監(jiān)視模式對(duì)象。當(dāng)各Web服務(wù)110-120完成了關(guān)于模式對(duì)象的處理后,無(wú)論該模式對(duì)象被修改過(guò),還是還保持在與起初從請(qǐng)求160中提取時(shí)一樣的狀態(tài)中,小服務(wù)程序130都接收該模式對(duì)象,然后構(gòu)成一個(gè)將發(fā)給請(qǐng)求者的響應(yīng)。
工作區(qū)135是一個(gè)公共存儲(chǔ)空間或存儲(chǔ)器的一部分,它可用于存儲(chǔ)從接收到的請(qǐng)求160中提取出的模式對(duì)象。每個(gè)守護(hù)器140、145和150、終止守護(hù)器155以及小服務(wù)程序130都可以訪問(wèn)該工作區(qū)。守護(hù)器140、145、150是可監(jiān)視或掃描工作區(qū)135的軟件對(duì)象。如圖所示,每個(gè)守護(hù)器與一個(gè)特定的Web服務(wù)相關(guān)聯(lián)。每個(gè)守護(hù)器可更進(jìn)一步包含一或多個(gè)規(guī)則,這些規(guī)則用于確定何時(shí)調(diào)用其相關(guān)聯(lián)的Web服務(wù)。守護(hù)器140-150監(jiān)視被置于工作區(qū)135中的(多個(gè))模式對(duì)象。如果一個(gè)模式對(duì)象匹配于守護(hù)器140-150的其中之一指定的一規(guī)則,則該守護(hù)器便調(diào)用其相關(guān)聯(lián)的Web服務(wù)。雖然圖中只描述了三個(gè)守護(hù)器和對(duì)應(yīng)的Web服務(wù),但應(yīng)理解,核心服務(wù)器105可以包含更多和更少的守護(hù)器,這取決于已注冊(cè)到該核心服務(wù)器105上的Web服務(wù)的數(shù)量。
象其它的守護(hù)器140-150一樣,為了符合或匹配于該終止守護(hù)器155中的一或多個(gè)規(guī)則的模式對(duì)象,終止守護(hù)器155也監(jiān)視工作區(qū)135。當(dāng)模式對(duì)象被提取出來(lái)并存放到工作區(qū)135中時(shí),小服務(wù)程序130的其中之一供給終止守護(hù)器155。當(dāng)終止守護(hù)器155檢測(cè)到一模式對(duì)象符合它的一或多個(gè)規(guī)則時(shí),該終止守護(hù)器155便將該模式對(duì)象從工作區(qū)135中清除,并將該模式對(duì)象返回給起初從接收到的請(qǐng)求中提取出該模式對(duì)象的小服務(wù)程序130。
在終止守護(hù)器155可監(jiān)視與存儲(chǔ)在其中的規(guī)則相匹配的特定格式的模式對(duì)象的同時(shí),終止守護(hù)器155也可以在一個(gè)檢測(cè)到的錯(cuò)誤,無(wú)論是超時(shí)條件或其它錯(cuò)誤后,通過(guò)將模式對(duì)象從工作區(qū)中去除而終止一或多個(gè)Web服務(wù)。超時(shí)條件,例如模式對(duì)象在工作區(qū)135中存放的時(shí)間超過(guò)預(yù)定時(shí)間值,但該模式對(duì)象并不符合終止守護(hù)器中的規(guī)則,可表明一或多個(gè)Web服務(wù)沒(méi)有正確地執(zhí)行或發(fā)生了某些其它錯(cuò)誤條件。
每個(gè)Web服務(wù)140-150可以完成一個(gè)特定的任務(wù),如查找一個(gè)用于確定電話號(hào)碼的統(tǒng)一資源定位器(URL)的位置,當(dāng)已提供名字時(shí)確定電子郵件地址,當(dāng)已提供名字或電子郵件地址時(shí)確定電話號(hào)碼等。本領(lǐng)域的技術(shù)人員將理解的是,Web服務(wù)可以執(zhí)行任意的各種不同的處理任務(wù)。因此,應(yīng)該理解的是,這里公開(kāi)的Web服務(wù)的例子無(wú)意限制可由Web服務(wù)執(zhí)行的功能或任務(wù)的范圍。
在運(yùn)行過(guò)程中,HTTP服務(wù)器125可接收一個(gè)請(qǐng)求160。HTTP服務(wù)器125可將接收到的該請(qǐng)求160發(fā)送到可用的小服務(wù)程序130以用于進(jìn)一步處理。例如,該請(qǐng)求160可以指定一個(gè)特定的小服務(wù)程序130,如根據(jù)與所請(qǐng)求的Web服務(wù)相應(yīng)的Web服務(wù)描述語(yǔ)言(WSDL)文件所確定的。收到該請(qǐng)求的小服務(wù)程序130可將模式對(duì)象從請(qǐng)求160中提取或解析出來(lái)。然后小服務(wù)程序130可將該模式對(duì)象存放到公共存儲(chǔ)器135中。
為了一模式對(duì)象,守護(hù)器140-150中的每一個(gè)可以不斷地監(jiān)視工作區(qū)135。當(dāng)檢測(cè)到(多個(gè))模式對(duì)象時(shí),守護(hù)器140-150檢查(多個(gè))模式對(duì)象以確定模式對(duì)象是否與守護(hù)器140-150中包含的一或多個(gè)規(guī)則匹配。如果守護(hù)器確定模式對(duì)象與其規(guī)則之一匹配,則該守護(hù)器能夠調(diào)用已與該守護(hù)器相關(guān)聯(lián)的Web服務(wù)。
雖然守護(hù)器140-150能夠以順序的方式調(diào)用Web服務(wù),但在本發(fā)明的另一個(gè)實(shí)施例中,守護(hù)器140-150也能夠以并行的方式監(jiān)視工作區(qū)135中的模式對(duì)象,并且彼此并發(fā)地運(yùn)行。因此,Web服務(wù)110-120也能夠以并行的方式被調(diào)用。Web服務(wù)110-120可以繼續(xù)地運(yùn)行直到終止守護(hù)器155檢測(cè)到一個(gè)終止條件為止。例如,檢測(cè)到終止條件可以包括但不限于,確定出包含在終止守護(hù)器155中的一或多個(gè)規(guī)則匹配于模式對(duì)象,或檢測(cè)到一個(gè)錯(cuò)誤,例如超時(shí)。這時(shí),終止守護(hù)器155將該模式對(duì)象返回給曾從請(qǐng)求160中提取出該模式對(duì)象的小服務(wù)程序130。然后,小服務(wù)程序130構(gòu)成一個(gè)響應(yīng),該響應(yīng)通過(guò)HTTP服務(wù)器125被發(fā)送給請(qǐng)求方。
圖2示意性地描述了一種根據(jù)這里公開(kāi)的發(fā)明安排的用于調(diào)用基于模式的Web服務(wù)的系統(tǒng)200的另一個(gè)方面。如圖所示,系統(tǒng)200說(shuō)明了守護(hù)器210、215和220、終止守護(hù)器240、Web服務(wù)225、230和235、以及模式對(duì)象205之間的交互。
模式對(duì)象205,如參照?qǐng)D1描述的那樣,由小服務(wù)程序從接收到的請(qǐng)求中提取出來(lái)并且被存儲(chǔ)在工作區(qū)中。模式對(duì)象指定一或多個(gè)必須完成以執(zhí)行一較復(fù)雜動(dòng)作的任務(wù)。這樣,舉例來(lái)說(shuō),模式對(duì)象205涉及一電話服務(wù)。該模式對(duì)象指定一個(gè)“撥號(hào)”動(dòng)作,并提供姓名“Tom Henry”。然而,在模式對(duì)象205中沒(méi)有指定服務(wù)提供者和電話號(hào)碼。因此,為了執(zhí)行撥號(hào)動(dòng)作,必須完成一或多個(gè)額外任務(wù),這些任務(wù)中的每個(gè)都由一個(gè)特定的Web服務(wù)來(lái)完成。
在本例中,Web服務(wù)225可返回能夠撥電話號(hào)碼的另一個(gè)Web服務(wù)的URL。Web服務(wù)230可根據(jù)提供的名字返回一個(gè)電話號(hào)碼。Web服務(wù)235可以撥電話號(hào)碼。當(dāng)每個(gè)Web服務(wù)225-235注冊(cè)到核心服務(wù)器后,便為每個(gè)Web服務(wù)器分配一守護(hù)器。根據(jù)注冊(cè),每個(gè)Web服務(wù)在與該Web服務(wù)相關(guān)聯(lián)的守護(hù)器中供給規(guī)則。
例如,當(dāng)Web服務(wù)225被注冊(cè)到核心服務(wù)器時(shí),其可在所分配的守護(hù)器210中供給一規(guī)則,該規(guī)則規(guī)定,如果一模式對(duì)象的服務(wù)提供者屬性為空,則守護(hù)器210將調(diào)用Web服務(wù)225。如圖所示,Web服務(wù)225為模式對(duì)象205的服務(wù)提供者屬性確定出一個(gè)URL并將該URL提供給守護(hù)器210。然后,通過(guò)將該URL寫(xiě)入尚在工作區(qū)中的模式對(duì)象205以便其服務(wù)提供者屬性指定由Web服務(wù)225確定的URL,守護(hù)器210能夠修改模式對(duì)象205。
當(dāng)Web服務(wù)230被注冊(cè)到核心服務(wù)器時(shí),可分配守護(hù)器215。Web服務(wù)230可在該守護(hù)器215中供給一規(guī)則,該規(guī)則規(guī)定,如果模式對(duì)象205的電話號(hào)碼屬性為空,并且可得到一姓名,則調(diào)用Web服務(wù)230。因此,如圖所示,守護(hù)器215調(diào)用Web服務(wù)230。守護(hù)器215可向Web服務(wù)230提供一姓名以便檢索出電話號(hào)碼。Web服務(wù)230將電話號(hào)碼提供給守護(hù)器215,后者便把該號(hào)碼寫(xiě)入模式對(duì)象205,致使其電話號(hào)碼屬性指定由Web服務(wù)230提供的電話號(hào)碼。
當(dāng)Web服務(wù)235被注冊(cè)到核心服務(wù)器時(shí),可將守護(hù)器220與Web服務(wù)235相關(guān)聯(lián)。這時(shí),Web服務(wù)235可在守護(hù)器220中供給一規(guī)則,該規(guī)則規(guī)定,不執(zhí)行動(dòng)作直到模式對(duì)象205的所有屬性均具備為止。這時(shí),守護(hù)器220可調(diào)用Web服務(wù)235。這樣,守護(hù)器220可向Web服務(wù)235提供電話號(hào)碼和可能需要的任何其它屬性,以便Web服務(wù)235可撥號(hào)所提供的號(hào)碼。
從以上例子中,應(yīng)當(dāng)理解可并行地應(yīng)用在守護(hù)器210-220中供給的規(guī)則。這樣,為了與每個(gè)守護(hù)器的規(guī)則匹配的一或多個(gè)模式對(duì)象,每個(gè)守護(hù)器可監(jiān)視工作區(qū)域。檢測(cè)到匹配的每個(gè)守護(hù)器可調(diào)用其相關(guān)聯(lián)的Web服務(wù)。例如,Web服務(wù)225和Web服務(wù)230可以并行地運(yùn)行。當(dāng)撥完電話號(hào)碼后,守護(hù)器220可以終止,或者也可以在終止運(yùn)行前添加一個(gè)標(biāo)識(shí)符或其它標(biāo)記來(lái)修改模式對(duì)象205。也監(jiān)視著模式對(duì)象205以確定模式對(duì)象205何時(shí)匹配存儲(chǔ)在其中的所供給的規(guī)則的終止守護(hù)器240,可確定該模式對(duì)象205現(xiàn)在符合這樣的規(guī)則。因此,終止守護(hù)器240可將模式對(duì)象205從工作區(qū)中刪除,并將模式對(duì)象205返回給小服務(wù)程序130。
在本發(fā)明的一個(gè)實(shí)施例中,終止守護(hù)器240也可以通過(guò)一指示來(lái)修改模式對(duì)象205,該指示表示或者Web服務(wù)已正確地執(zhí)行或者發(fā)生了錯(cuò)誤。在另一個(gè)實(shí)施例中,終止守護(hù)器240可以簡(jiǎn)單將模式對(duì)象205返回給小服務(wù)程序,并提供單獨(dú)的關(guān)于或者Web服務(wù)已正確地執(zhí)行或者發(fā)生了錯(cuò)誤的通知。
圖3是一個(gè)流程圖,它描述了根據(jù)本發(fā)明的另一個(gè)方面的處理關(guān)于Web服務(wù)的復(fù)雜請(qǐng)求的方法300。此方法從其中一或多個(gè)Web服務(wù)已注冊(cè)到核心服務(wù)器的狀態(tài)開(kāi)始。因此,每個(gè)Web服務(wù)可與一個(gè)守護(hù)器相關(guān)聯(lián)。也就是說(shuō),能夠?yàn)槊總€(gè)注冊(cè)到核心服務(wù)器的Web服務(wù)例示一個(gè)守護(hù)器。每個(gè)Web服務(wù)進(jìn)一步可以在如每個(gè)Web服務(wù)中所指定的每個(gè)相關(guān)聯(lián)的守護(hù)器中供給一或多個(gè)規(guī)則。
在步驟305中,設(shè)置在核心服務(wù)器中的HTTP服務(wù)器接收到一個(gè)請(qǐng)求,例如SOAP請(qǐng)求。在步驟310,該HTTP服務(wù)器可選擇一個(gè)可用的小服務(wù)程序,并將該請(qǐng)求轉(zhuǎn)發(fā)給所選擇的小服務(wù)程序。在步驟315中,小服務(wù)程序可接收并處理該請(qǐng)求。具體來(lái)說(shuō),該小服務(wù)程序可從接收到的請(qǐng)求中提取出模式對(duì)象并將模式對(duì)象存儲(chǔ)在工作區(qū)中。如已經(jīng)指出的,該模式對(duì)象能夠指定一或多個(gè)要調(diào)用的服務(wù),這樣就能夠通過(guò)單個(gè)請(qǐng)求啟動(dòng)多于一個(gè)的Web服務(wù)。
在步驟320中,小服務(wù)程序可以在終止守護(hù)器中供給一或多個(gè)規(guī)則。應(yīng)當(dāng)理解,請(qǐng)求或模式對(duì)象本身可指定關(guān)于終止守護(hù)器的被供給和應(yīng)用的終止規(guī)則。因此,如果這樣配置的話,每個(gè)請(qǐng)求便可以提供一或多個(gè)不同的終止規(guī)則,這些規(guī)則指定了用于檢測(cè)由模式對(duì)象指定的Web服務(wù)組合的執(zhí)行的完成的不同條件,以及也可隨由模式對(duì)象指定的Web服務(wù)組合變化的不同錯(cuò)誤。
在步驟325中,一旦向終止守護(hù)器供給了規(guī)則并將模式對(duì)象放入到了工作區(qū)中,這些守護(hù)器便可開(kāi)始分析該模式對(duì)象。如已經(jīng)指出的,守護(hù)器可以并行地監(jiān)視該模式對(duì)象,并且當(dāng)確定該模式對(duì)象匹配于一或多個(gè)守護(hù)器中的規(guī)則時(shí),便適當(dāng)調(diào)用Web服務(wù)。因此,Web服務(wù)可以根據(jù)守護(hù)器的調(diào)用,順序地、并發(fā)地、或既順序又并發(fā)地運(yùn)行。守護(hù)器也可以根據(jù)與每個(gè)守護(hù)器相關(guān)聯(lián)的Web服務(wù)修改模式對(duì)象。因此,每次當(dāng)工作區(qū)中的模式對(duì)象改變時(shí),每個(gè)守護(hù)器便掃描工作區(qū)。
因此,例如,在第一個(gè)守護(hù)器響應(yīng)于與該第一個(gè)守護(hù)器相關(guān)聯(lián)的Web服務(wù)的執(zhí)行而修改了模式對(duì)象后,第二個(gè)守護(hù)器可以確定該模式對(duì)象匹配于存儲(chǔ)在其中的規(guī)則。應(yīng)當(dāng)理解,因?yàn)槊總€(gè)守護(hù)器可并行地監(jiān)視模式對(duì)象并對(duì)它進(jìn)行修改,所以當(dāng)模式對(duì)象繼續(xù)地被守護(hù)器修改時(shí),就能夠調(diào)用一系列的Web服務(wù)以便并發(fā)地、順序地或既并發(fā)又順序地執(zhí)行。
在步驟330中,終止守護(hù)器可以檢測(cè)出一終止條件。具體來(lái)說(shuō),終止守護(hù)器可以確定模式對(duì)象匹配一終止規(guī)則,或確定發(fā)生了錯(cuò)誤。在以上任一情況下,該終止守護(hù)器可將模式對(duì)象從工作區(qū)中清除掉,無(wú)論該模式對(duì)象已被修改過(guò)還是處于如起初被置于工作區(qū)中時(shí)的相同狀態(tài)下。在步驟335中,終止守護(hù)器將該模式對(duì)象提供給曾將該模式對(duì)象提取出的相同的小服務(wù)程序。如已經(jīng)指出的,終止守護(hù)器可通過(guò)指出Web服務(wù)已成功地執(zhí)行或者已發(fā)生錯(cuò)誤而將Web服務(wù)執(zhí)行的狀態(tài)通知給該小服務(wù)程序。這種信息可以包含在發(fā)送給小服務(wù)程序的一消息中,或包含在模式對(duì)象本身中。
在步驟340中,小服務(wù)程序可構(gòu)建將發(fā)給請(qǐng)求方的響應(yīng)。該響應(yīng)可包含模式對(duì)象,無(wú)論是以其起初的形式還是以其修改的形式。響應(yīng)也可以指明Web服務(wù)是成功執(zhí)行還是發(fā)生了錯(cuò)誤,例如發(fā)生超時(shí)或其它運(yùn)行錯(cuò)誤。通過(guò)將該信息或者包含在響應(yīng)本身的某部分中、或者如上所述包含在模式對(duì)象中,從而能夠?qū)⒃撔畔ㄔ陧憫?yīng)中。
本發(fā)明提供了一種用于響應(yīng)單個(gè)復(fù)雜請(qǐng)求而執(zhí)行多個(gè)Web服務(wù)的解決方案。根據(jù)這里公開(kāi)的實(shí)施例,不是接收多個(gè)請(qǐng)求,其中每個(gè)請(qǐng)求觸發(fā)作為一個(gè)較大動(dòng)作一部分的單個(gè)Web服務(wù)的執(zhí)行,而是響應(yīng)于檢測(cè)到一個(gè)模式對(duì)象而調(diào)用多個(gè)Web服務(wù),該模式對(duì)象匹配或符合與每個(gè)Web服務(wù)對(duì)應(yīng)的守護(hù)器對(duì)象中的一或多個(gè)規(guī)則。這樣,先前需要發(fā)出關(guān)于Web服務(wù)的多個(gè)單獨(dú)請(qǐng)求的動(dòng)作可以響應(yīng)于單個(gè)請(qǐng)求被執(zhí)行。這里公開(kāi)的發(fā)明安排進(jìn)一步加快了提供Web服務(wù)的方式,因?yàn)槟芤愿骶€式和自動(dòng)化的方式調(diào)用Web服務(wù)。
本發(fā)明可以通過(guò)硬件、軟件、或軟硬件結(jié)合的方式來(lái)實(shí)現(xiàn)。本發(fā)明既可在一個(gè)計(jì)算機(jī)系統(tǒng)中以集中的方式實(shí)現(xiàn),也能夠以分布的方式(其中不同部件分布在多個(gè)互連的計(jì)算機(jī)系統(tǒng)中)來(lái)實(shí)現(xiàn)。任何類(lèi)型的計(jì)算機(jī)系統(tǒng)或其它適于執(zhí)行這里描述的方法的裝置都是合適的。典型的軟硬件結(jié)合可以是具有一個(gè)計(jì)算機(jī)程序的通用計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)程序當(dāng)被裝載并執(zhí)行時(shí),控制該計(jì)算機(jī)系統(tǒng)以使得它執(zhí)行這里描述的方法。
本發(fā)明也可以嵌入一計(jì)算機(jī)程序產(chǎn)品中,該程序產(chǎn)品包含使這里描述的方法能夠?qū)崿F(xiàn)的所有特征,并且當(dāng)被裝載到一個(gè)計(jì)算機(jī)系統(tǒng)中后能夠執(zhí)行這些方法。本上下文中的計(jì)算機(jī)程序意指以任何語(yǔ)言、代碼、或符號(hào)表示的一組指令的任意表達(dá),該組指令意在使得具有信息處理能力的系統(tǒng)或者直接地或者在以下任一項(xiàng)或二項(xiàng)之后執(zhí)行特定的功能a)轉(zhuǎn)換成另外一種語(yǔ)言、代碼、或符號(hào);b)再現(xiàn)在一種不同的物質(zhì)形式中。
本發(fā)明可以其它的形式來(lái)體現(xiàn)而不脫離其精神和本質(zhì)屬性。因此,當(dāng)描述本發(fā)明的范圍時(shí),應(yīng)當(dāng)參照以下權(quán)利要求書(shū),而不是以上說(shuō)明書(shū)。
權(quán)利要求
1.一種處理針對(duì)多個(gè)Web服務(wù)的一請(qǐng)求的方法,包括以下步驟接收指定至少兩個(gè)Web服務(wù)的一請(qǐng)求;將來(lái)自該請(qǐng)求的一對(duì)象模式存儲(chǔ)在一公共存儲(chǔ)器中;由多個(gè)守護(hù)器掃描該公共存儲(chǔ)器,其中每個(gè)守護(hù)器與一Web服務(wù)相關(guān)聯(lián),并指定用于調(diào)用一相關(guān)聯(lián)的Web服務(wù)的規(guī)則;以及檢測(cè)所述對(duì)象模式匹配于至少兩個(gè)所述守護(hù)器的規(guī)則,其中具有匹配于所述對(duì)象模式的規(guī)則的每個(gè)守護(hù)器調(diào)用一相關(guān)聯(lián)的Web服務(wù)。
2.權(quán)利要求1的方法,進(jìn)一步包括在所述存儲(chǔ)步驟之前將所述對(duì)象模式從所述請(qǐng)求中提取出來(lái)的步驟。
3.權(quán)利要求1的方法,其中每個(gè)守護(hù)器并行地掃描所述公共存儲(chǔ)器,以使得可以并發(fā)地調(diào)用多于一個(gè)的Web服務(wù)。
4.權(quán)利要求1的方法,其所述檢測(cè)步驟中的至少兩個(gè)守護(hù)器順序地調(diào)用一相關(guān)聯(lián)的Web服務(wù)。
5.權(quán)利要求1的方法,其中所述被調(diào)用的Web服務(wù)中的至少一個(gè)指示一相關(guān)聯(lián)的守護(hù)器修改所述對(duì)象模式,所述方法進(jìn)一步包括以下步驟所述相關(guān)聯(lián)的守護(hù)器按照來(lái)自所述相關(guān)聯(lián)的Web服務(wù)的指令修改所述對(duì)象模式;一不同的守護(hù)器確定所述被修改的對(duì)象模式匹配于所述不同的守護(hù)器的至少一個(gè)規(guī)則;以及所述不同的守護(hù)器調(diào)用與該不同的守護(hù)器對(duì)應(yīng)的Web服務(wù)。
6.權(quán)利要求1的方法,進(jìn)一步包括守護(hù)器繼續(xù)調(diào)用Web服務(wù)直到一終止守護(hù)器檢測(cè)到一終止條件并將所述模式對(duì)象從所述公共存儲(chǔ)器中清除。
7.權(quán)利要求6的方法,進(jìn)一步包括發(fā)送對(duì)所述請(qǐng)求的響應(yīng)的步驟,其中所述響應(yīng)至少部分地指明所述模式對(duì)象。
8.權(quán)利要求1的方法,進(jìn)一步包括至少一個(gè)所述守護(hù)器按照來(lái)自一相關(guān)聯(lián)的Web服務(wù)的指令修改所述模式對(duì)象的步驟。
9.一種用于處理針對(duì)Web服務(wù)的復(fù)雜請(qǐng)求的服務(wù)器,包括被配置成接收針對(duì)多于一個(gè)的Web服務(wù)的一請(qǐng)求的一超文本傳輸協(xié)議服務(wù)器;至少一個(gè)被配置成從所述請(qǐng)求中提取出一模式對(duì)象并格式編排對(duì)所述請(qǐng)求的響應(yīng)的小服務(wù)程序;當(dāng)由所述模式對(duì)象指定的Web服務(wù)執(zhí)行時(shí)暫時(shí)保存該模式對(duì)象的一公共存儲(chǔ)器;多個(gè)守護(hù)器,每個(gè)守護(hù)器對(duì)應(yīng)于一個(gè)特定的Web服務(wù)并包含用于調(diào)用該相關(guān)聯(lián)的Web服務(wù)的規(guī)則,其中每個(gè)所述守護(hù)器并行地掃描所述公共存儲(chǔ)器,以確定是否一存儲(chǔ)的模式對(duì)象匹配于用于調(diào)用一相關(guān)聯(lián)的Web服務(wù)的規(guī)則;以及被配置成檢測(cè)終止條件的一終止守護(hù)器;其中當(dāng)檢測(cè)到終止條件時(shí),所述終止守護(hù)器將所述模式對(duì)象提供回至所述多個(gè)小服務(wù)程序的其中之一以生成一響應(yīng)。
10.權(quán)利要求9的服務(wù)器,其中所述守護(hù)器并行地掃描所述公共存儲(chǔ)器,以使得多于一個(gè)的Web服務(wù)能并發(fā)地執(zhí)行。
11.權(quán)利要求9的服務(wù)器,其中所述守護(hù)器順序地調(diào)用多于一個(gè)的Web服務(wù)。
12.權(quán)利要求9的服務(wù)器,其中被調(diào)用的Web服務(wù)指示一相關(guān)聯(lián)的守護(hù)器修改模式對(duì)象,以使得所述守護(hù)器中的一個(gè)不同的守護(hù)器確定所述被修改的模式對(duì)象匹配于一規(guī)則并調(diào)用與所述守護(hù)器中所述不同的守護(hù)器對(duì)應(yīng)的Web服務(wù)。
13.權(quán)利要求9的服務(wù)器,其中所述守護(hù)器被進(jìn)一步配置成按照從一相關(guān)聯(lián)的Web服務(wù)中提供的指令修改模式對(duì)象。
14.一種機(jī)器可讀的存儲(chǔ)裝置,具有存儲(chǔ)于其上的一計(jì)算機(jī)程序,該計(jì)算機(jī)程序具有多個(gè)代碼段,這些代碼段可由一機(jī)器執(zhí)行以使得該機(jī)器完成以下步驟接收指定至少兩個(gè)Web服務(wù)的一請(qǐng)求;將來(lái)自所述請(qǐng)求的一對(duì)象模式存儲(chǔ)在一公共存儲(chǔ)器中;由多個(gè)守護(hù)器掃描該公共存儲(chǔ)器,其中每個(gè)守護(hù)器與一Web服務(wù)相關(guān)聯(lián),并指定用于調(diào)用一相關(guān)聯(lián)的Web服務(wù)的規(guī)則;以及檢測(cè)所述對(duì)象模式匹配于至少兩個(gè)所述守護(hù)器的規(guī)則,其中具有匹配于所述對(duì)象模式的規(guī)則的每個(gè)守護(hù)器調(diào)用一相關(guān)聯(lián)的Web服務(wù)。
15.權(quán)利要求14的機(jī)器可讀的存儲(chǔ)裝置,其進(jìn)一步使得該機(jī)器在所述存儲(chǔ)步驟之前執(zhí)行從所述請(qǐng)求中提取出所述對(duì)象模式的步驟。
16.權(quán)利要求14的機(jī)器可讀的存儲(chǔ)裝置,其中每個(gè)守護(hù)器并行地掃描所述公共存儲(chǔ)器,以使得可并發(fā)地調(diào)用多于一個(gè)的Web服務(wù)。
17.權(quán)利要求14的機(jī)器可讀的存儲(chǔ)裝置,其中所述檢測(cè)步驟中的至少兩個(gè)守護(hù)器順序地調(diào)用相關(guān)聯(lián)的Web服務(wù)。
18.權(quán)利要求14的機(jī)器可讀的存儲(chǔ)裝置,其中至少一個(gè)所述被調(diào)用的Web服務(wù)指示一相關(guān)聯(lián)的守護(hù)器修改所述對(duì)象模式,所述機(jī)器可讀的存儲(chǔ)裝置進(jìn)一步使得該機(jī)器完成以下步驟所述相關(guān)聯(lián)的守護(hù)器按照來(lái)自所述相關(guān)聯(lián)的Web服務(wù)的指令修改所述對(duì)象模式;一不同的守護(hù)器確定所述被修改的模式對(duì)象匹配于所述不同守護(hù)器的至少一個(gè)規(guī)則;所述不同的守護(hù)器調(diào)用與所述不同守護(hù)器對(duì)應(yīng)的Web服務(wù)。
19.權(quán)利要求14的機(jī)器可讀的存儲(chǔ)裝置,進(jìn)一步使得所述守護(hù)器繼續(xù)調(diào)用Web服務(wù)直到一終止守護(hù)器將所述模式對(duì)象從所述公共存儲(chǔ)器中清除。
20.權(quán)利要求19的機(jī)器可讀的存儲(chǔ)裝置,進(jìn)一步使得所述機(jī)器完成發(fā)送對(duì)所述請(qǐng)求的響應(yīng)的步驟,其中所述響應(yīng)至少部分地指明所述模式對(duì)象。
21.權(quán)利要求14的機(jī)器可讀的存儲(chǔ)裝置,進(jìn)一步使得至少一個(gè)所述守護(hù)器按照從一相關(guān)聯(lián)的Web服務(wù)提供的指令修改所述模式對(duì)象。
22.一種用于處理針對(duì)多個(gè)Web服務(wù)的一請(qǐng)求的系統(tǒng),包括用于接收指定至少兩個(gè)Web服務(wù)的一請(qǐng)求的裝置;用于將來(lái)自所述請(qǐng)求的一個(gè)對(duì)象模式暫時(shí)存儲(chǔ)的裝置;用于掃描所述用于存儲(chǔ)的裝置的裝置,其中所述用于掃描的裝置與多個(gè)Web服務(wù)相關(guān)聯(lián),并且指定用于調(diào)用所述Web服務(wù)中所選擇的Web服務(wù)的規(guī)則;以及用于檢測(cè)所述模式對(duì)象匹配于所述用于掃描的裝置的規(guī)則的裝置,其中所述用于掃描的裝置按照匹配的規(guī)則調(diào)用至少兩個(gè)Web服務(wù)。
23.權(quán)利要求22的系統(tǒng),進(jìn)一步包括用于在所述用于存儲(chǔ)的裝置運(yùn)行之前從所述請(qǐng)求中提取所述對(duì)象模式的裝置。
24.權(quán)利要求22的系統(tǒng),其中所述用于掃描的裝置掃描所述用于存儲(chǔ)的裝置,以使得可以并發(fā)地調(diào)用多于一個(gè)的Web服務(wù)。
25.權(quán)利要求22的系統(tǒng),其中所述用于掃描的裝置順序地調(diào)用至少兩個(gè)Web服務(wù)。
26.權(quán)利要求22的系統(tǒng),進(jìn)一步包括用于發(fā)送對(duì)請(qǐng)求的響應(yīng)的裝置,其中所述響應(yīng)至少部分地指明所述模式對(duì)象。
27.權(quán)利要求22的系統(tǒng),所述用于掃描的裝置進(jìn)一步包括用于按照從一相關(guān)聯(lián)的Web服務(wù)提供的指令修改所述模式對(duì)象的裝置。
全文摘要
一種處理針對(duì)多個(gè)Web服務(wù)的一請(qǐng)求的方法,可包括接收指定至少兩個(gè)Web服務(wù)的一請(qǐng)求,將從所述請(qǐng)求中得到的對(duì)象模式存儲(chǔ)在一個(gè)公共存儲(chǔ)器中,并由多個(gè)守護(hù)器掃描所述公共存儲(chǔ)器。每個(gè)守護(hù)器可與一Web服務(wù)相關(guān)聯(lián),并指定用于調(diào)用一相關(guān)聯(lián)的Web服務(wù)的規(guī)則。本方法也可包括檢測(cè)對(duì)象模式匹配于所述守護(hù)器中的至少兩個(gè)守護(hù)器的規(guī)則,其中具有匹配于該對(duì)象模式的規(guī)則的每個(gè)守護(hù)器調(diào)用一相關(guān)聯(lián)的Web服務(wù)。
文檔編號(hào)G06F17/30GK1617499SQ20041007826
公開(kāi)日2005年5月18日 申請(qǐng)日期2004年9月21日 優(yōu)先權(quán)日2003年11月12日
發(fā)明者A·A·布-甘納姆, T·E·克里默, V·S·莫爾, S·L·溫特斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
东乌珠穆沁旗| 九龙城区| 萨迦县| 西城区| 久治县| 长春市| 冷水江市| 武强县| 台州市| 邵东县| 衡东县| 邵武市| 乾安县| 嘉兴市| 台东市| 新民市| 聂荣县| 永安市| 呼图壁县| 泰兴市| 民乐县| 合作市| 嫩江县| 纳雍县| 天津市| 噶尔县| 千阳县| 丹江口市| 康乐县| 三台县| 土默特右旗| 银川市| 江城| 杭州市| 西平县| 明星| 台中市| 云南省| 昔阳县| 精河县| 青川县|