国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      驗(yàn)證客戶端請(qǐng)求已被路由傳送到適當(dāng)?shù)姆?wù)器的方法和裝置的制作方法

      文檔序號(hào):7653111閱讀:192來源:國知局
      專利名稱:驗(yàn)證客戶端請(qǐng)求已被路由傳送到適當(dāng)?shù)姆?wù)器的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及web服務(wù),特別涉及驗(yàn)證web服務(wù)請(qǐng)求已到達(dá)正確的目標(biāo)服務(wù)器。
      背景技術(shù)
      web服務(wù)典型地是無狀態(tài)的,因此,如果web服務(wù)請(qǐng)求被傳送到能夠?qū)υ撜?qǐng)求進(jìn)行處理的目標(biāo),則視該請(qǐng)求為已被正確傳送。如果目標(biāo)沒被找到或不能對(duì)該請(qǐng)求進(jìn)行處理,則錯(cuò)誤將發(fā)生并被發(fā)送回到請(qǐng)求者。在這些情況下,驗(yàn)證請(qǐng)求已被正確路由傳送是不重要的,因?yàn)?,任何存在且能?duì)該請(qǐng)求進(jìn)行處理的目標(biāo)被認(rèn)為是有效的。
      然而,不是所有的web服務(wù)都是無狀態(tài)的。向有狀態(tài)的web服務(wù)做出請(qǐng)求需要尋址(addressing)機(jī)制。尋址到有狀態(tài)web服務(wù)的web服務(wù)請(qǐng)求必須不僅被傳送到能對(duì)該請(qǐng)求進(jìn)行處理的web服務(wù)實(shí)例,還必須被傳送到該請(qǐng)求尋址的特定web服務(wù)實(shí)例。對(duì)有狀態(tài)web服務(wù)尋址的最簡單的方式是包含有狀態(tài)web服務(wù)自身的唯一地址的直接尋址系統(tǒng)。這種直接尋址通常是可靠的,但其在高可用性等某些能力上受到限制。
      每當(dāng)中間節(jié)點(diǎn)(或多個(gè)中間節(jié)點(diǎn))參與請(qǐng)求的路由傳送時(shí),通常需要間接尋址。這里所討論的中間節(jié)點(diǎn)是指對(duì)請(qǐng)求重新確定目標(biāo)或重新路由傳送的實(shí)體。例如,節(jié)點(diǎn)可以是單獨(dú)的過程,例如web服務(wù)器,或者實(shí)際上為部件,例如在請(qǐng)求器中運(yùn)行的路由傳送邏輯。路由傳送代碼通常用于工作負(fù)載管理和高可用性功能。web服務(wù)器和代理服務(wù)器通常用于支持實(shí)際的系統(tǒng)拓?fù)?,包括使用防火墻來提供安全性,由此,目?biāo)web服務(wù)的地址不能由客戶端直接尋址。
      每當(dāng)間接尋址被使用時(shí),存在著尋址到有狀態(tài)web服務(wù)的web服務(wù)請(qǐng)求將被不正確地路由傳送到錯(cuò)誤服務(wù)器的增加的可能性。這可能出于多種原因,包括但不限于路由傳送數(shù)據(jù)過程中有狀態(tài)web服務(wù)實(shí)例的故障轉(zhuǎn)移(failover)或工作負(fù)荷管理的再分配、不正確的管理以及數(shù)據(jù)傳播延遲。在這些情況下,用戶代碼在以下情況之間進(jìn)行區(qū)分是很繁重的任務(wù)一方面,所接收到的請(qǐng)求被錯(cuò)誤地路由傳送到不是有狀態(tài)web服務(wù)實(shí)例的主機(jī)的服務(wù)器,另一方面,所接收到的請(qǐng)求被正確地傳送到適當(dāng)?shù)姆?wù)器但有狀態(tài)web服務(wù)實(shí)例不再存在。

      發(fā)明內(nèi)容
      因此,本發(fā)明提供了一種方法,其用于驗(yàn)證客戶端的請(qǐng)求已被路由傳送到包含多個(gè)有狀態(tài)web服務(wù)實(shí)例的系統(tǒng)中作為特定的有狀態(tài)web服務(wù)實(shí)例的主機(jī)的適當(dāng)?shù)姆?wù)器,所述特定的有狀態(tài)web服務(wù)實(shí)例具有處理客戶端請(qǐng)求所需要的狀態(tài)數(shù)據(jù),該方法包括接收用于由web服務(wù)實(shí)例進(jìn)行處理的請(qǐng)求;從請(qǐng)求中提取任何身份(identity)數(shù)據(jù),身份數(shù)據(jù)唯一地標(biāo)識(shí)所需要的狀態(tài)數(shù)據(jù)以及作為狀態(tài)數(shù)據(jù)的主機(jī)的目標(biāo)服務(wù)器的身份;判定目標(biāo)服務(wù)器身份是否與接收到客戶端請(qǐng)求的服務(wù)器的身份匹配;以及響應(yīng)于否定的判定,報(bào)告路由傳送失敗。
      身份數(shù)據(jù)可引用服務(wù)器群集的id,所述服務(wù)器群集中的每一個(gè)可以訪問所述需要的狀態(tài)數(shù)據(jù)。身份數(shù)據(jù)可引用高度可用服務(wù),高度可用服務(wù)跟蹤所需要的狀態(tài)數(shù)據(jù)位于哪里。
      在一個(gè)實(shí)施例中,響應(yīng)于判定請(qǐng)求不包括任何身份數(shù)據(jù),請(qǐng)求被傳送到web服務(wù)實(shí)例。
      在一個(gè)實(shí)施例中,接收請(qǐng)求以創(chuàng)建對(duì)特定的服務(wù)器或群集上的有狀態(tài)web服務(wù)實(shí)例的引用。于是,響應(yīng)于客戶端的請(qǐng)求,提供封裝了該標(biāo)識(shí)符(identifier)的引用。
      在一個(gè)實(shí)施例中,如果判定目標(biāo)服務(wù)器身份與接收到客戶端請(qǐng)求的服務(wù)器的身份不匹配,該請(qǐng)求被重新路由傳送到作為所需要的狀態(tài)數(shù)據(jù)的主機(jī)的服務(wù)器。然而,其他的選擇也是可能的,例如,可將錯(cuò)誤消息返回到進(jìn)行請(qǐng)求的客戶端。
      在實(shí)施例中,一旦已經(jīng)驗(yàn)證請(qǐng)求已被正確路由傳送且如果判定所需要的狀態(tài)數(shù)據(jù)在已接收到請(qǐng)求的服務(wù)器上不存在,可以認(rèn)識(shí)到狀態(tài)數(shù)據(jù)實(shí)際上在系統(tǒng)中不存在。于是,可以用應(yīng)用特定的方式對(duì)此進(jìn)行反應(yīng)。例如,這可意味著向客戶端提供有狀態(tài)web服務(wù)實(shí)例不存在的指示。
      根據(jù)另一方面,本發(fā)明提供了一種裝置,其用于驗(yàn)證客戶端的請(qǐng)求已被路由傳送到作為包括多個(gè)有狀態(tài)web服務(wù)實(shí)例的系統(tǒng)中特定的有狀態(tài)web服務(wù)實(shí)例的主機(jī)的適當(dāng)?shù)姆?wù)器,所述特定的有狀態(tài)web服務(wù)實(shí)例具有處理客戶端的請(qǐng)求所需要的狀態(tài)數(shù)據(jù),該裝置包括用于接收用于由web服務(wù)實(shí)例進(jìn)行處理的請(qǐng)求的裝置;用于從請(qǐng)求中提取任何身份數(shù)據(jù)的裝置,該身份數(shù)據(jù)唯一地標(biāo)識(shí)所需要的狀態(tài)數(shù)據(jù)以及作為狀態(tài)數(shù)據(jù)的主機(jī)的目標(biāo)服務(wù)器的身份;用于判定目標(biāo)服務(wù)器身份是否與接收到客戶端請(qǐng)求的服務(wù)器的身份匹配的裝置;以及用于響應(yīng)于否定的判定,報(bào)告?zhèn)魉褪〉难b置。
      根據(jù)另一方面,本發(fā)明提供了一種計(jì)算機(jī)程序,其用于驗(yàn)證客戶端的請(qǐng)求已被路由傳送到作為包括多個(gè)有狀態(tài)web服務(wù)實(shí)例的系統(tǒng)中特定的有狀態(tài)web服務(wù)實(shí)例的主機(jī)的適當(dāng)?shù)姆?wù)器,所述特定的有狀態(tài)web服務(wù)實(shí)例具有處理客戶端請(qǐng)求所需要的狀態(tài)數(shù)據(jù),該計(jì)算機(jī)程序包括在所述程序運(yùn)行在計(jì)算機(jī)上時(shí)適用于執(zhí)行以下方法步驟的程序代碼裝置接收用于由web服務(wù)實(shí)例進(jìn)行處理的請(qǐng)求;從請(qǐng)求中提取任何身份數(shù)據(jù),身份數(shù)據(jù)唯一地標(biāo)識(shí)所需要的狀態(tài)數(shù)據(jù)以及作為狀態(tài)數(shù)據(jù)的主機(jī)的目標(biāo)服務(wù)器的身份;判定目標(biāo)服務(wù)器身份是否與接收到客戶端請(qǐng)求的服務(wù)器的身份匹配;以及響應(yīng)于否定的判定,報(bào)告?zhèn)魉褪 ?br>

      現(xiàn)在將參照以下附圖,介紹本發(fā)明的優(yōu)選實(shí)施例,這些優(yōu)選實(shí)施例僅做舉例之用。
      圖1示出了本發(fā)明根據(jù)優(yōu)選實(shí)施例在其中運(yùn)行的環(huán)境;圖2a和2b示出了本發(fā)明根據(jù)優(yōu)選實(shí)施例的部件;以及圖3a和3b示出了本發(fā)明根據(jù)優(yōu)選實(shí)施例的處理。
      具體實(shí)施例方式
      這里介紹了一種解決方案,其中,尋址部件驗(yàn)證web服務(wù)請(qǐng)求已經(jīng)到達(dá)正確的目標(biāo)服務(wù)器,并能使被不正確地路由傳送的請(qǐng)求以與被指引到不再存在的web服務(wù)實(shí)例的請(qǐng)求不同的方式得到處理。
      圖1示出了本發(fā)明根據(jù)優(yōu)選實(shí)施例在其中運(yùn)行的環(huán)境。多個(gè)服務(wù)器10、30、50(其可在防火墻95后面)各自作為同一web服務(wù)(例如銀行應(yīng)用)的實(shí)例25、40、60的主機(jī)。例如,多個(gè)服務(wù)器可被用于在忙碌的系統(tǒng)中分散工作負(fù)荷。在有狀態(tài)web服務(wù)的情況下,各web服務(wù)實(shí)例可以獲得某些狀態(tài)數(shù)據(jù)20、35、55,且這些狀態(tài)數(shù)據(jù)由各實(shí)例用于對(duì)來自客戶端應(yīng)用90的請(qǐng)求進(jìn)行處理。客戶端應(yīng)用90的請(qǐng)求經(jīng)由一個(gè)或多個(gè)中間路由服務(wù)器70、80到達(dá)服務(wù)器群集5。各請(qǐng)求可不經(jīng)由同一中間路由服務(wù)器傳遞。這種服務(wù)器可包括工作負(fù)荷路由部件,該部件基于由各web服務(wù)實(shí)例正在經(jīng)受的當(dāng)前工作負(fù)荷將請(qǐng)求路由傳送到web服務(wù)實(shí)例。一旦客戶端具有對(duì)有狀態(tài)web服務(wù)實(shí)例的引用,則如果與該有狀態(tài)實(shí)例相關(guān)聯(lián)的狀態(tài)數(shù)據(jù)沒有在群集中的所有服務(wù)器上被復(fù)制,那么工作負(fù)荷平衡可限制于將后面的請(qǐng)求路由傳送到作為該有狀態(tài)web服務(wù)實(shí)例的主機(jī)的同一服務(wù)器。有時(shí),工作負(fù)荷管理系統(tǒng)有必要將有狀態(tài)web服務(wù)從一個(gè)服務(wù)器“移動(dòng)”到另一個(gè)服務(wù)器,以便維持均勻分布的工作負(fù)荷。在分布式環(huán)境中,其中,總是存在某些等待時(shí)間,工作負(fù)荷路由器可能變得與有有狀態(tài)web服務(wù)實(shí)例的實(shí)際位置的步調(diào)不一致。因此,客戶端應(yīng)用的第一個(gè)請(qǐng)求可被路由傳送到服務(wù)器10,在服務(wù)器10上,有狀態(tài)web服務(wù)實(shí)例被創(chuàng)建,但該web服務(wù)實(shí)例可在此后被移動(dòng)到服務(wù)器30。在狀態(tài)數(shù)據(jù)沒有在服務(wù)器之間被復(fù)制的情況下,如果來自客戶端的、后面的請(qǐng)求仍被指引到狀態(tài)數(shù)據(jù)不再存在的服務(wù)器10,這將被證明是有問題的。當(dāng)后面的請(qǐng)求在服務(wù)器10上被接收時(shí),目標(biāo)web服務(wù)實(shí)例在該服務(wù)器上不存在,也就是說,與目標(biāo)web服務(wù)實(shí)例相關(guān)聯(lián)的狀態(tài)數(shù)據(jù)在服務(wù)器10上不存在。表示web服務(wù)實(shí)例不存在的、對(duì)客戶端的響應(yīng)將是不正確的,并將導(dǎo)致不正確的客戶端動(dòng)作。
      如果web服務(wù)實(shí)例在其壽命期間始終在一個(gè)服務(wù)器上,但路由服務(wù)器沒有以到作為有狀態(tài)web服務(wù)實(shí)例主機(jī)的服務(wù)器的親近性(affinity)來限制其工作負(fù)荷分布(如圖1所示),同樣的問題將會(huì)發(fā)生。
      通常,每當(dāng)路由部件將預(yù)期用于有狀態(tài)web服務(wù)實(shí)例的請(qǐng)求指引到錯(cuò)誤的服務(wù)器時(shí),可發(fā)生這種問題。
      參照?qǐng)D2a、2b、3a和3b示出對(duì)上述問題的解決方案。圖2a、2b示出了優(yōu)選實(shí)施例的部件,而圖3a、3b示出了本發(fā)明根據(jù)優(yōu)選實(shí)施例的處理。對(duì)這些圖應(yīng)相互結(jié)合進(jìn)行理解。
      首先參照?qǐng)D2a、3a,它們涉及對(duì)客戶端web服務(wù)請(qǐng)求的驗(yàn)證,以便驗(yàn)證正確的服務(wù)器(其應(yīng)當(dāng)具有必要的有狀態(tài)web服務(wù))接收到了該請(qǐng)求。客戶端應(yīng)用90請(qǐng)求web服務(wù)??蛻舳藨?yīng)用的請(qǐng)求由中間路由服務(wù)器(未示出)路由傳送到服務(wù)器30并因此被路由傳送到web服務(wù)實(shí)例40。web服務(wù)引擎45在步驟300中收到該請(qǐng)求。web服務(wù)引擎45優(yōu)選為總是將這種請(qǐng)求傳送到尋址部件100。在步驟310中,尋址部件中的檢驗(yàn)器部件210判定客戶端應(yīng)用的請(qǐng)求是否包括地址數(shù)據(jù)。地址數(shù)據(jù)用于在此后確認(rèn)已將正確的服務(wù)器定為目標(biāo),并用于選擇該服務(wù)器上特定的web服務(wù)實(shí)例。
      請(qǐng)求第一次從客戶端應(yīng)用90被接收到時(shí),其不包括任何地址數(shù)據(jù)。尋址部件(返回器250)指示web服務(wù)引擎45將該請(qǐng)求傳送到web服務(wù)40(步驟360)。web服務(wù)可認(rèn)為請(qǐng)求地址數(shù)據(jù)以便客戶端在將來對(duì)同一web服務(wù)實(shí)例的請(qǐng)求中使用是合適的。下面將參照?qǐng)D2b、3b討論地址數(shù)據(jù)的創(chuàng)建。
      如果在步驟310中檢驗(yàn)器部件210判定請(qǐng)求確實(shí)包含地址數(shù)據(jù),則提取器部件220在步驟320中從請(qǐng)求中提取地址數(shù)據(jù),并隨后使用地址數(shù)據(jù)中的身份數(shù)據(jù)在步驟330中驗(yàn)證請(qǐng)求是否被路由傳送到正確的目標(biāo)服務(wù)器,以及如果請(qǐng)求被路由傳送到正確的目標(biāo)服務(wù)器的話,驗(yàn)證目標(biāo)服務(wù)器上的哪一web服務(wù)實(shí)例應(yīng)處理該請(qǐng)求(驗(yàn)證器230)。
      這種身份數(shù)據(jù)唯一地標(biāo)識(shí)目標(biāo)服務(wù)器身份以及與這樣的web服務(wù)實(shí)例相關(guān)聯(lián)的狀態(tài)數(shù)據(jù)(信息)該web服務(wù)實(shí)例已成為來自客戶端的先前的相關(guān)請(qǐng)求的對(duì)象。這種狀態(tài)數(shù)據(jù)已作為這些先前請(qǐng)求的結(jié)果被建立起來。這種標(biāo)識(shí)符將要采取的形式部分地取決于web服務(wù)的類型i)web服務(wù)可以為被稱為“脆弱的”的web服務(wù)。在這種情況下,僅僅使用這樣的狀態(tài)數(shù)據(jù)是可接受的該數(shù)據(jù)存在于保存有客戶端第一次請(qǐng)求被路由傳送到的web服務(wù)實(shí)例的特定服務(wù)器上。因此,身份數(shù)據(jù)優(yōu)選地包括服務(wù)器的id;ii)在某些情況下,狀態(tài)數(shù)據(jù)在服務(wù)器群集之間共享,且因此,有關(guān)群集中的任何web服務(wù)實(shí)例將可以訪問同樣的狀態(tài)數(shù)據(jù)。因此,身份數(shù)據(jù)優(yōu)選地包括群集id;以及iii)有時(shí),web服務(wù)被歸類為“高度可用”(HA)web服務(wù)。這意味著其由HA服務(wù)管理,該HA服務(wù)跟蹤web服務(wù)實(shí)例及其相關(guān)聯(lián)的狀態(tài)數(shù)據(jù)所位于的服務(wù)器。當(dāng)服務(wù)器發(fā)生故障時(shí),HA服務(wù)將web服務(wù)實(shí)例及其狀態(tài)數(shù)據(jù)移動(dòng)到另一服務(wù)器,并更新其跟蹤數(shù)據(jù)庫。對(duì)于HA web服務(wù),身份數(shù)據(jù)優(yōu)選地包括這樣的id的形式,HA服務(wù)將識(shí)別它并使用它來判定接收到包括身份數(shù)據(jù)的請(qǐng)求的服務(wù)器是否是映射到HA id的服務(wù)器。
      當(dāng)請(qǐng)求創(chuàng)建包括這種身份信息的地址數(shù)據(jù)時(shí),web服務(wù)自身優(yōu)選地將其所屬的類別向?qū)ぶ凡考甘?見后文)。
      注意,上面給出的實(shí)例僅出于闡釋目的,而毫不意味著對(duì)本發(fā)明的限制。
      驗(yàn)證器部件230可判定身份數(shù)據(jù)包含群集id。接著,將這種群集id與服務(wù)器30所位于的群集的群集id進(jìn)行比較。如果二者匹配,則該請(qǐng)求被判定為已被正確路由傳送。同樣地,驗(yàn)證器部件230可判定身份數(shù)據(jù)涉及HA id,在這種情況下,使用HA id詢問相關(guān)聯(lián)的HA服務(wù)該請(qǐng)求是否被正確路由傳送。
      因此,步驟340處的檢測或者等于真,或者等于假。如果請(qǐng)求已被正確地路由傳送,則返回器部件250告知web服務(wù)引擎45將請(qǐng)求一直傳遞到web服務(wù)實(shí)例以便處理(步驟360)。如果不是這種情況,則采取校正動(dòng)作(步驟350)。這可能意味著將錯(cuò)誤消息從尋址部件100經(jīng)由web服務(wù)引擎45返回到客戶端應(yīng)用90,或者,尋址部件100可自己負(fù)責(zé)對(duì)該請(qǐng)求重新進(jìn)行路由傳送。在另一實(shí)施例中,由尋址部件100返回錯(cuò)誤消息,但客戶端應(yīng)用90不接收它。而是中間節(jié)點(diǎn)將自己負(fù)責(zé)對(duì)該請(qǐng)求重新進(jìn)行路由傳送。然而,將會(huì)理解,這僅是作為舉例,而不意味著包括窮舉性清單。
      如上所述,客戶端請(qǐng)求可不包含任何地址數(shù)據(jù)。因此,web服務(wù)實(shí)例可請(qǐng)求創(chuàng)建這種地址數(shù)據(jù)。圖2b、3b涉及過程的這一部分。
      web服務(wù)實(shí)例請(qǐng)求由尋址部件100創(chuàng)建地址數(shù)據(jù)。在步驟400中,請(qǐng)求被接收并被傳遞到地址工廠120,以便請(qǐng)求地址(步驟410)。地址工廠120創(chuàng)建用于對(duì)web服務(wù)實(shí)例尋址的地址數(shù)據(jù)(步驟420)。于是,地址工廠120從身份工廠130請(qǐng)求身份數(shù)據(jù)(步驟430),該身份數(shù)據(jù)唯一地標(biāo)識(shí)被客戶端定為目標(biāo)的服務(wù)器。接著,在步驟440中,地址工廠120將返回自身份工廠的身份數(shù)據(jù)插入地址數(shù)據(jù)。
      于是,在步驟450中,地址數(shù)據(jù)由返回器250返回到web服務(wù)。接著,地址數(shù)據(jù)被返回到應(yīng)用90(步驟355)。
      下一次web服務(wù)40從客戶端應(yīng)用90接收到請(qǐng)求時(shí),檢驗(yàn)器部件210在步驟310中判定請(qǐng)求確實(shí)包括地址數(shù)據(jù)并可使用這種地址數(shù)據(jù)中的身份數(shù)據(jù)來驗(yàn)證請(qǐng)求已被正確路由傳送(圖3a)。
      總之,本發(fā)明提供了一種用于驗(yàn)證web服務(wù)請(qǐng)求已被路由傳送到作為有狀態(tài)web服務(wù)實(shí)例主機(jī)的、正確的目標(biāo)服務(wù)器。經(jīng)由這種機(jī)制,有可能區(qū)分以下情況1)所接收到的請(qǐng)求被錯(cuò)誤地路由傳送到并非作為有狀態(tài)web服務(wù)實(shí)例主機(jī)的服務(wù)器;以及2)所接收到的請(qǐng)求被正確地路由傳送到適當(dāng)?shù)姆?wù)器,但有狀態(tài)web服務(wù)實(shí)例不再存在。
      這種方案適用于任何尋址系統(tǒng),通過該尋址系統(tǒng),地址的屬性被包括在對(duì)該地址的請(qǐng)求中并在目標(biāo)上可獲得。WS-尋址是一種這樣的實(shí)例。
      WS-尋址規(guī)定EndpointReference(EPR)為web服務(wù)的地址。它包括一個(gè)必備的地址URI以及零或零個(gè)以上的ReferenceParameter。當(dāng)使得web服務(wù)請(qǐng)求以EndpointReference為目標(biāo)時(shí),EndpointReference的ReferenceParameter在請(qǐng)求中可獲得(在SOAPHeader中)。這不依賴于所使用的傳輸例如SOAP/HTTP或SOAP/JMS。當(dāng)WS-尋址創(chuàng)建EndpointReference時(shí),WS尋址部件將添加公知的ReferenceParameter,其表示系統(tǒng)中的拓?fù)鋵?shí)體,在這種情況下為身份數(shù)據(jù)。該身份的類型由EndpointReference的類型決定,例如,脆弱、工作負(fù)荷可管理或高度可用。這些情況中的每種情況中的身份將分別代表到特定物理服務(wù)器的恒定的一對(duì)一映射、到服務(wù)器邏輯組的映射或到可從一物理服務(wù)器重定位到另一物理服務(wù)器的虛擬單個(gè)實(shí)體的一對(duì)一映射。
      當(dāng)目標(biāo)系統(tǒng)收到進(jìn)入的web服務(wù)請(qǐng)求時(shí),目標(biāo)系統(tǒng)的WS-尋址部件對(duì)請(qǐng)求的SOAP頭進(jìn)行檢驗(yàn)以得到公知的ReferenceParameter(現(xiàn)在被用作身份數(shù)據(jù))并提取其值。接著,它驗(yàn)證請(qǐng)求中的身份數(shù)據(jù)與目標(biāo)符合。
      權(quán)利要求
      1.一種用于驗(yàn)證客戶端的請(qǐng)求已被路由傳送到適當(dāng)?shù)姆?wù)器的方法,該服務(wù)器作為包括多個(gè)有狀態(tài)web服務(wù)實(shí)例的系統(tǒng)中特定的有狀態(tài)web服務(wù)實(shí)例的主機(jī),所述特定的有狀態(tài)web服務(wù)實(shí)例具有處理所述客戶端的請(qǐng)求所需要的狀態(tài)數(shù)據(jù),該方法包括接收用于由web服務(wù)實(shí)例進(jìn)行處理的請(qǐng)求;從所述請(qǐng)求中提取任何身份數(shù)據(jù),所述身份數(shù)據(jù)唯一地標(biāo)識(shí)所述需要的狀態(tài)數(shù)據(jù)以及作為所述狀態(tài)數(shù)據(jù)的主機(jī)的目標(biāo)服務(wù)器的身份;判定所述目標(biāo)服務(wù)器身份是否與接收到所述客戶端的請(qǐng)求的服務(wù)器的身份匹配;以及響應(yīng)于否定的判定,報(bào)告路由傳送失敗。
      2.根據(jù)權(quán)利要求1的方法,其中,所述身份數(shù)據(jù)引用服務(wù)器群集的id,所述服務(wù)器群集中的每一個(gè)服務(wù)器可以訪問所述需要的狀態(tài)數(shù)據(jù)。
      3.根據(jù)權(quán)利要求1的方法,其中,所述身份數(shù)據(jù)引用高度可用服務(wù),該服務(wù)跟蹤所述需要的狀態(tài)數(shù)據(jù)位于何處。
      4.根據(jù)前述任何一項(xiàng)權(quán)利要求的方法,該方法包括響應(yīng)于判定所述請(qǐng)求不包括任何身份數(shù)據(jù),將所述請(qǐng)求繼續(xù)傳遞到所述web服務(wù)實(shí)例。
      5.根據(jù)前述任何一項(xiàng)權(quán)利要求的方法,該方法包括接收創(chuàng)建到特定服務(wù)器或群集上的有狀態(tài)web服務(wù)實(shí)例的引用的請(qǐng)求;以及響應(yīng)于所述客戶端的請(qǐng)求提供封裝標(biāo)識(shí)符的引用。
      6.根據(jù)前述任何一項(xiàng)權(quán)利要求的方法,該方法包括響應(yīng)于否定判定,將所述請(qǐng)求重新路由傳送到作為所述需要的狀態(tài)信息的主機(jī)的服務(wù)器。
      7.根據(jù)前述任何一項(xiàng)權(quán)利要求的方法,該方法包括驗(yàn)證請(qǐng)求已被正確地路由傳送;以及響應(yīng)于判定在已接收到所述請(qǐng)求的服務(wù)器上不存在所述需要的狀態(tài)數(shù)據(jù),認(rèn)識(shí)到所述需要的狀態(tài)數(shù)據(jù)在所述系統(tǒng)中不存在。
      8.根據(jù)權(quán)利要求7的方法,該方法包括向所述請(qǐng)求客戶端提供所述有狀態(tài)web服務(wù)實(shí)例不存在的指示。
      9.一種用于驗(yàn)證客戶端的請(qǐng)求已被路由傳送到適當(dāng)?shù)姆?wù)器的裝置,該服務(wù)器作為包括多個(gè)有狀態(tài)web服務(wù)實(shí)例的系統(tǒng)中特定的有狀態(tài)web服務(wù)實(shí)例的主機(jī),所述特定的有狀態(tài)web服務(wù)實(shí)例具有處理所述客戶端的請(qǐng)求所需要的狀態(tài)數(shù)據(jù),該裝置包括用于接收用于由web服務(wù)實(shí)例進(jìn)行處理的請(qǐng)求的裝置;用于從所述請(qǐng)求中提取任何身份數(shù)據(jù)的裝置,所述身份數(shù)據(jù)唯一地標(biāo)識(shí)所述需要的狀態(tài)數(shù)據(jù)以及作為所述狀態(tài)數(shù)據(jù)的主機(jī)的所述目標(biāo)服務(wù)器的身份;用于判定所述目標(biāo)服務(wù)器身份是否與接收到所述客戶端的請(qǐng)求的服務(wù)器的身份匹配的裝置;以及用于響應(yīng)于否定的判定,報(bào)告路由傳送失敗的裝置。
      10.根據(jù)權(quán)利要求9的裝置,其中,所述身份數(shù)據(jù)引用服務(wù)器群集的id,所述服務(wù)器群集中的每一個(gè)服務(wù)器可以訪問所述需要的狀態(tài)數(shù)據(jù)。
      11.根據(jù)權(quán)利要求9的裝置,其中,所述身份數(shù)據(jù)引用高度可用服務(wù),該服務(wù)跟蹤所述需要的狀態(tài)數(shù)據(jù)位于何處。
      12.根據(jù)權(quán)利要求9-11中任何一項(xiàng)的裝置,該裝置包括用于響應(yīng)于判定所述請(qǐng)求不包括任何身份數(shù)據(jù),將所述請(qǐng)求繼續(xù)傳遞到所述web服務(wù)實(shí)例的裝置。
      13.根據(jù)權(quán)利要求9-12中任何一項(xiàng)的裝置,該裝置包括用于接收創(chuàng)建對(duì)特定服務(wù)器或群集上的有狀態(tài)web服務(wù)實(shí)例的引用的請(qǐng)求的裝置;以及用于響應(yīng)于所述客戶端的請(qǐng)求提供封裝標(biāo)識(shí)符的引用的裝置。
      14.根據(jù)權(quán)利要求9-13中任何一項(xiàng)的裝置,該裝置包括用于響應(yīng)于否定判定,將所述請(qǐng)求重新路由傳送到作為所述需要的狀態(tài)信息的主機(jī)的服務(wù)器的裝置。
      15.根據(jù)權(quán)利要求9-14中任何一項(xiàng)的裝置,該裝置包括用于響應(yīng)于驗(yàn)證請(qǐng)求已被正確地路由傳送、然而判定在已接收到所述請(qǐng)求的服務(wù)器上不存在所述需要的狀態(tài)數(shù)據(jù),認(rèn)識(shí)到所述需要的狀態(tài)數(shù)據(jù)在所述系統(tǒng)中不存在的裝置。
      16.根據(jù)權(quán)利要求15的裝置,該裝置包括用于向所述請(qǐng)求客戶端提供所述有狀態(tài)web服務(wù)實(shí)例不存在的指示的裝置。
      全文摘要
      公開了一種方法、裝置和計(jì)算機(jī)程序,其用于驗(yàn)證客戶端的請(qǐng)求已被路由傳送到適當(dāng)?shù)姆?wù)器,該服務(wù)器作為包括多個(gè)有狀態(tài)web服務(wù)實(shí)例的系統(tǒng)中特定的有狀態(tài)web服務(wù)實(shí)例的主機(jī)。所述特定有狀態(tài)web服務(wù)實(shí)例是具有對(duì)客戶端的請(qǐng)求進(jìn)行處理所需的狀態(tài)數(shù)據(jù)的有狀態(tài)web服務(wù)實(shí)例。請(qǐng)求被接收以便web服務(wù)實(shí)例進(jìn)行處理。從請(qǐng)求中提取出任何身份數(shù)據(jù)。身份數(shù)據(jù)唯一地標(biāo)識(shí)所需要的狀態(tài)數(shù)據(jù)以及作為該狀態(tài)數(shù)據(jù)主機(jī)的目標(biāo)服務(wù)器的身份。接著,判定目標(biāo)服務(wù)器身份是否與接收到客戶端請(qǐng)求的服務(wù)器的身份匹配,以及響應(yīng)于否定判定,報(bào)告路由傳送失敗。
      文檔編號(hào)H04L29/06GK101079901SQ200710103810
      公開日2007年11月28日 申請(qǐng)日期2007年5月15日 優(yōu)先權(quán)日2006年5月24日
      發(fā)明者D·J·馬修斯, I·羅賓遜 申請(qǐng)人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1