客戶機Web服務訪問的製作方法
2023-06-11 13:01:36 1
專利名稱:客戶機Web服務訪問的製作方法
技術領域:
本發明涉及對Web服務的客戶機訪問,更具體地說,本發明涉及來自Web客戶機對Web服務的訪問的請求的處理。
背景技術:
最近幾年,Web服務已變得十分流行,例如,提供Web服務的商家能夠使Web客戶機在Internet上從該商家購買貨物。繼Web服務的這一成功,人們對Internet的使用日益增加,而且對Web客戶機和Web商務的需求日趨複雜。從而,導致了中間件的提供,中間件的提供可使客戶機以新的和更好的方式訪問Web服務,而且也可使商家以新的和更好的方式實現Web服務。
例如,服務總線為Web服務提供了一種可靈活控制的基礎結構。通常,在服務總線中操作的客戶機與Web服務提供商使用一種連接到服務總線的智能客戶機「客戶機端入站」,從而可以把背景和其它環境信息添加到客戶機/Web服務交互過程,因此,例如,可以根據Web服務及其客戶機的要求,正確地處理安全、交易以及其它處理。另外,還將允許以可管理的方式進行服務的選擇與發現,以致於當客戶機希望訪問某一Web服務時,能夠使用一個基於客戶機所需功能所找到的Web服務。例如,客戶機可以請求銷售IBM計算機設備的Web服務在英國交貨,並且接受通過American Express的付款方式。申請號10/322053、名為「Apparatus and method for selecting a web servicein response to a request from a client device」、發明者為Flurry和Holdsworth的美國專利申請中公開了這樣一種智能客戶機「客戶機端入站」和Web服務總線結構。
然而,服務總線環境中的某些客戶機或Web服務可能不知道總線基礎結構,例如,客戶機可能是特定硬體編碼以便用特定的URL和格式來訪問Web服務的.NET、C、或Python/Perl/javaScript SOAP客戶機,而客戶機難以對.NET、C、或Python/Perl/javaScript SOAP進行編碼,以使用某一特定的URL以及對它們進行格式化,以訪問Web服務。另外,這些客戶機也不能使用專門用於訪問服務總線基礎結構的應用程式接口(API),例如Web ServicesInvocation Framework(WSIF)或Java JSR 109編程模型(可從Java Community,Process Web網點獲得)(Java是Sun Microsystems公司的一個商標)來編寫。通常,為了服務總線處理來自這樣的客戶機的請求,把該客戶機請求轉發至一個集線器中介或網關,以由服務總線加以處理。例如,作為Web服務的提供商,公布一個網關,當收到客戶機請求時,可以把該請求路由到一個以可管理的方式所發現和所選擇的適當的Web服務提供商,這一可管理的方式也將用於可察覺服務總線(service bus sensitive)的客戶機。然而,這將要求可對客戶機進行更新,以把客戶機請求中所指定的URL改變為集線器中介的URL。然而在某些場景下,不能夠以這一方式對客戶機進行更新。而且,這一中介可能不能夠執行那些僅可由客戶機執行的動作,例如把客戶機專用信息添加到請求中。
發明內容
因此,根據第一方面,本發明為客戶機數據處理主機提供了一種轉換來自Web客戶機請求的客戶機數據處理方法,該方法包括攔截請求;把請求中所指定的一個第一Web服務實現改變為一個第二Web服務實現;以及把請求轉發到第二Web服務實現,從而可使第二Web服務實現處理該請求,其中,基於與Web客戶機相關的策略數據選擇第二Web服務實現。
根據第二方面,本發明提供了一種用於轉換來自Web客戶機請求的客戶機數據處理設備,該設備包括用於攔截請求的裝置;用於把請求中所指定的一個第一Web服務實現改變為一個第二Web服務實現的裝置;以及用於把該請求轉發到第二Web服務實現,從而可使第二Web服務實現處理該請求的裝置,其中,基於與Web客戶機相關的策略數據選擇第二Web服務實現。
根據第三方面,本發明提供了一種電腦程式產品,該電腦程式產品包括指令,當在數據處理主機上執行這些指令時,可使數據處理主機執行一個根據第一方面的方法。
因此,本發明使得能夠在客戶機實現中攔截用於特定Web服務的客戶機請求,並且能夠以可管理的方式將該請求轉換成對於和已選擇的Web服務不同的Web服務的一個請求。例如,策略數據可以為Web客戶機指定具體的服務質量要求,從而可訪問和Web客戶機服務質量要求更加匹配的Web服務。
可以在應用層協議,例如在基於超文本傳輸協議的簡單對象訪問協議(SOAP/HTTP)、基於網際網路的ORB間協議(IIOP)或基於Java消息服務(JMS)的SOAP中指定Web客戶機請求。作為選項,也可以把請求進一步修改為其中指定了Web客戶機請求的不同的應用層協議。例如,可以將其從SOAP/HTTP請求改變至IIOP請求。
存在著關於如何攔截請求的多種替代。作為選項,如果客戶機數據處理主機的協議堆棧包括對SOCKS的支持,則可以使用對客戶機來說是本地的SOCKS代理對SOCKS支持進行配置,而且當協議堆棧正在處理請求時,可以通過調用SOCKS代理進入攔截請求的步驟。作為選項,如果客戶機數據處理主機的協議堆棧包括對HTTP的支持,則可以支持具有HTTP代理的配置,在這種情況下,對請求的攔截可以通過調用一個本地HTTP代理來產生。作為替代,也可以把協議堆棧修改為在處理過程中請求攔截和調用一個用於使得能夠改變請求步驟的例程。
優選的做法是,為了選擇一個第二Web服務實現,發現一或多個處理請求的替代Web服務實現,然後,例如,基於所公布的策略數據,使用Web服務策略(Web Services Policy)框架(WS-Policy),從這些所發現的Web服務實現中選擇第二Web服務實現。
作為選項,可以通過獲得針對第一Web服務實現的Web服務定義語言(Web Services Definition Language(WSDL))文檔,發現該一或多個可選Web服務實現,並且使用來自這一WSDL文檔的信息,獲得針對一或多個可選Web服務實現中每一可選Web服務實現的一個WSDL文檔,以處理該請求。
作為選項,可以把一個安全策略應用於請求。例如,如使用Web服務安全協議(Web Services Security Protocol(WS-Security))或其它信息加以指示的,可以至少對請求的一部分進行加密,和/或可以把一個客戶機密鑰添加到該請求,和/或基於請求的安全屬性選擇用於發送請求的傳輸機制。例如,客戶機密鑰可以為一個諸如客戶機標識符或用戶標識符的標識符。例如,客戶機密鑰還可以包括口令。
作為選項,也可以把例如,客戶機數據處理主機的一個客戶機密鑰、一個機器標識符、和/或客戶機數據處理主機的一個IP位址的客戶機專用信息添加到請求。例如,Web服務實現可以把這樣的信息用於審計或安全目的。
例如,策略數據可以指定下列一或多種情況響應時間要求、安全水平要求、交易要求、開銷要求、可用性要求、應用層協議要求、附加信息要求、以及Web服務實現要求。
現在,將參照附圖中所說明的本發明的優先實施例,僅以舉例的方式,描述本發明。在這些附圖中圖1是其中有利於應用本發明的優選實施例的一個數據處理環境的結構圖;圖2是一個示意圖,描述了從一個客戶機進程向一個根據現有技術的Web服務發送一個請求的Web客戶機的實例;圖3是一個示意圖,描述了從一個客戶機進程向一個根據本發明的優選實施例的Web服務發送一個請求的Web客戶機的實例;圖4是處理源於一個Web客戶機的請求的圖3的客戶機端入站的一個示意圖;圖5是圖3的一個客戶機數據處理主機的主要處理步驟的流程圖;以及圖6是圖3的客戶機端入站的主要處理步驟的一個流程圖。
注意,在這些圖中,使用相同的數字表示相同的部件。
具體實施例方式
圖1是其中可有利地應用本發明的優選實施例的一個數據處理環境的示意圖。在圖1中,經由網絡11,例如網絡11可以為Internet,把一個客戶機/伺服器數據處理主機10連接到其它客戶機/伺服器數據處理主機12和13。例如,根據本發明,一個運行在主機10上的Web客戶機可以向主機12中的一個可用Web服務發出請求,但運行在該客戶機中的軟體把該請求轉換為到基於與該Web客戶機相關的一個策略數據所選擇的主機13中的一個Web服務的請求。客戶機/伺服器10具有一個用於執行程序的處理器101,這些程序控制客戶機/伺服器10、RAM易失性存儲器元件102、非易失存儲器103以及用於與網絡11連接以與其它客戶機/伺服器12和13進行通信的網絡連接器104的操作。
圖2是一個示意圖,示出了根據現有技術向Web服務實現211發送一個請求208的Web客戶機201的示例。Web客戶機和Web服務分別運行在數據處理主機200和210中,各使用一個TCP/IP協議堆棧。
在圖2中,Web客戶機請求指向URL http//www.banka.com/(209)處的一個銀行服務的銀行服務業務。Web客戶機201把該請求傳遞(205)給協議堆棧的應用層202。該應用層提供了高級協議,例如,通過該高級協議,Web客戶機/服務可以訪問TCP/IP協議堆棧,在這一示例中,應用層提供了基於超文本傳輸協議(Hypertext Transfer Protocol(HTTP))的簡單對象訪問協議(Simple Object Access Protocol(SOAP))。作為選擇,例如,應用層也可以提供網際網路ORB間協議(Internet Inter-Orb Protocol(IIOP))。應用層202修改請求,然後將其傳遞(206)到傳輸與網絡層203。傳輸與網絡層提供網絡上的數據傳送,在這一示例中,這一層提供了對基於網際網路協議(IP)的傳輸控制協議(TCP)的支持。作為替代,例如,傳輸與網絡層也可以提供用戶數據報協議(User Datagram Protocol(UDP))。然後,傳輸與網絡層203可以修改請求,並且將其傳遞(207)給網絡接口層204,網絡接口層204與客戶機硬體接合,並且在網絡11上傳輸請求208。
當請求到達Web服務實現的主機210時,通過網絡接口層214接收這一請求,網絡接口層214把請求傳遞(215)給提供了TCP/IP支持的傳輸與網絡層213。該傳輸與網絡層撤銷客戶機網絡與傳輸層中對消息所做的改變,然後將其傳遞(216)給提供了SOAP/HTTP支持的應用層212。接下來,應用層撤銷客戶機應用層中對請求所做的改變,並且將其傳遞(217)給目標Web服務實現211。從而,接收了請求用於處理。注意,為了成功地處理Web客戶機請求,Web服務協議堆棧必須提供對和用於客戶機堆棧的相同協議(即SOAP/HTTP和TCP/IP)的支持。
然而,圖2的現有技術的一個問題是,Web客戶機是使用其請求所指向的Web服務實現的URL(http//www.banka.com)來進行硬體編碼的。因此,例如,客戶機不能利用可基於與Web客戶機相關的策略數據選擇一個Web服務實現來處理該請求的服務總線。
圖3是已根據發明的優選實施例對其加以修改的圖2的客戶機數據處理主機的一個示意圖。在這一實施例中,TCP/IP層還包括對SOCKS的支持305。在正常使用的情況下,對SOCKS進行配置,以把一個Web客戶機請求重新路由到一個SOCKS代理(或伺服器),然後,在允許Web客戶機請求前進到請求中所指定的目標之前,SOCKS代理執行某一級別的安全檢查。然而,根據本發明的優選實施例,對SOCKS支持305進行配置,以把一個Web客戶機請求重新路由到一個適當的對客戶機來說是本地的SOCKS代理306。因此,當把Web客戶機請求傳遞給TCP/IP傳輸與網絡層203時,調用SOCKS支持305,這把請求重新指向(322)對於客戶機來說適用於本地的SOCKS代理306,接下來,適用於本地的SOCKS代理306把請求傳遞(323)到一個URL過濾器307。該URL過濾器使用配置文件檢查被指定為Web客戶機請求的目標的URL,其中,該配置文件包括用於決定被指定為Web客戶機請求的目標是否適合於修改的細節。例如,配置文件可以包含要求為嚴格匹配的特定URL的一個列表,或要求其為類似匹配的包含通配符的URL的一個列表。如果URL不適合於修改,則把Web客戶機請求返回(未示出)到TCP/IP傳輸與網絡層203,以進行正常處理。然而,如果URL適合於修改,則把請求傳遞(324)到SOAP/HTTP句法分析器308,SOAP/HTTP句法分析器308可以提取信息,例如,任何伴隨Web客戶機請求中的URL的數據。在已經提取了所需的信息之後,把請求傳遞(325)到客戶機端入站309,然後客戶機端入站309修改該請求使其適合於傳遞到使用各種協議提供了對各種Web服務實現訪問的一個服務總線。根據圖3的優選實施例,可用於客戶機的服務總線,提供了對使用了IIOP 310和SOCKS代理311這兩種協議組合之一的Web服務實現的訪問,客戶機端入站修改Web客戶機請求,使其要求經由服務總線可用的、並使用一個IIOP請求的替代Web服務實現。因此,客戶機端入站309把對該替代Web服務實現的請求傳遞(326)到IIOP應用層310,然後IIOP應用層310把其傳遞(327)給TCP/IP傳輸與網絡層203,以通過網絡接口層204傳遞(328)給網絡,以在網絡上發送。
圖4是圖3的客戶機端入站以及與其接口的各部件,即服務總線的SOAP/HTTP句法分析器308、SOAP/HTTP 310與IIOP 311應用層的一個更詳細的示意圖。把Web客戶機請求從SOAP/HTTP句法分析器傳遞給客戶機端入站309的一個匹配引擎401。匹配引擎查找策略文件402中針對Web客戶機所指定的策略。例如,策略文件可以包括針對響應時間要求、安全水平要求、交易要求、開銷要求、可得性要求、應用層協議要求、附加信息要求、和/或Web服務實現要求的客戶機的細節。然後,匹配引擎利用SOAP/HTTP句法分析器從Web客戶機請求所抽取的策略信息和請求信息,使用發現機制403、選擇機制404以及安全405機制,修改請求。發現機制403用於發現可用於服務總線上的可選Web服務實現,並且能夠處理Web客戶機請求,例如根據請求中所指定的URL處理Web客戶機請求。然後,把選擇機制404用於從所發現的Web服務實現中選擇一個特定的Web服務實現。所選擇的那個Web服務實現將與策略文件中所指定的要求密切匹配。選擇機制還可以從服務總線中可用的協議中選擇一個合適的協議,並且把這一適合的協議用於訪問Web服務實現。安全機制405也可用於選擇目的,例如,選擇與客戶機或Web服務的安全要求相匹配的一個適合的協議。例如,客戶機或Web服務實現可以要求通過一個更安全的協議,例如基於SOAP的WS-Security、安全HTTP(HTTPS)、或安全IIOP(IIOPS)的通信,另外,例如,安全機制還可以基於Web客戶機或Web服務實現的安全要求,使用SOAP加密對消息進行加密,和/或向諸如客戶機請求添加信息,例如客戶機密鑰。在這一優選實施例中,由於使用了這些機制,匹配引擎401選擇一個適當的Web服務處理Web客戶機請求,並且將其提供給適當的傳輸協議,例如分別用311和310表示的SOAP/HTTP或IIOP,。
注意,例如,策略文件可以包含下列一或多個內容響應時間要求,其要求使用給出一段確保的響應時間的一個較快的傳輸協議或Web服務;安全水平要求,其要求對請求進行加密,或者使用一種安全策略,例如HTTP;開銷要求,其指定Web服務所提供的貨物的最大價格範圍,或對一個提供最低開銷連接的通信協議的使用;可用性要求,其要求使用提供了24×7可用的Web服務,或使用可確保請求的遞送的協議,例如使用可進行交易的JMS;應用層協議要求,其指定必須用於或必須不用於發送請求的一或多個應用層協議;附加信息要求,其要求將客戶機數據處理主機的一個IP位址和/或機器標識符添加到該請求;以及Web服務實現要求,例如其要求接受AmericanExpress支付方式的IBM批准的經銷商或美國經銷商所提供的一個Web服務實現。
至此,已經描述了其中攔截和轉換了一個Web客戶機請求的本發明的一個優選實施例。請求的轉換包括改變向其發送請求的Web服務,並且有選擇地改變諸如用於發送請求的應用層協議、用於請求的安全策略、或添加到請求的信息等。然而,存在著很多可替代所描述的實施例的替代實施例。
例如,參照圖3,在所描述的實施例中,Web客戶機使用了SOAP/HTTP應用層202。然而,在一個替代實施例中,例如,其可以為IIOP、IIOPS、HTTP、HTTPS、基於JMS的SOAP、基於IIOP上的遠程方法調用(RMI)、基於Java消息服務(JMS)的XML、基於簡單郵件傳輸協議(SMTP)的SOAP、或企業Java Beans(EJB)(Java Beans為Sun MicroSystem的一個註冊商標)。例如,如果應用層為IIOP。則將以IIOP句法分析器取代SOAP/HTTP句法分析器308。
另外,例如,參照圖3,在所描述的實施例中,由SOCKS支持305在傳輸與網絡層203中攔截Web客戶機請求。然而,在一個替代實施例中,可以由不同的裝置實現這一攔截。例如,可以對HTTP層進行配置,以調用一個本地HTTP代理,從而能夠以該HTTP代理取代SOCKS伺服器306,並且把對Web客戶機請求的攔截改變至SOCK/HTTP應用層(202)中。
另外,例如,參照圖3,在所描述的實施例中,客戶機端入站309能夠使用一個提供了用於發送請求的IIOP 310或SOAP/HTTP 311的應用層協議的服務總線。在另一個實施例中,可以省略這些應用層協議中的一或多個,和/或替代這些應用層協議中的一或多個或向這些應用層協議添加一或多個應用層協議。例如,服務總線所提供的其它附加/替代層,可以為IIOP、IIOPS、HTTP、HTTPS、基於JMS的SOAP、基於IIOP的RMI、基於JMS的XML、基於SMTP的SOAP、或EJB。另外,還能夠改變可用於這些應用層協議的傳輸與網絡層協議,和/或向這些應用層協議添加傳輸與網絡層協議,例如除了TCP/IP,UDP/IP也可用。
仍參照圖4,例如,當發現機制403發現一或多個能夠把客戶機請求指向其的可選Web服務實現時,可以根據Web定義語言(WSDL)文檔實現這一指向。如果客戶機使用一個WSDL文檔獲得客戶機向其進行請求的目標服務實現的定義,則這樣做是可能的。在這種情況下,在攔截了請求之後,發現機制可以首先獲得目標服務WSDL文檔,然後,基於該WSDL中的信息,例如,從一個通用描述、發現與集成(UDDI)註冊表中獲得針對適當替代Web服務實現的WSDL文檔。注意,WSDL文檔包括目標服務的細節,例如埠類型、連接情況、埠、消息、類型等。埠類型定義了目標服務所提供的操作和操作參數,連接情況指定傳輸機制,埠指定使用傳送機制提供對目標服務進行訪問的通道的端點地址。例如,作為選擇,也可以使用DARPA代理標籤語言(DAML)服務文檔取代WSDL文檔。
另外,例如,參照圖4,在所描述的優選實施例中,匹配引擎使用發現、選擇和安全機制來轉換請求。在一個可選實施例中,可以省略這些機制中的一或多個機制,和/或取代這些機制中的一或多個,和/或把這些機制中的一或多個機制添加到和/或封裝到匹配引擎。例如,附加或替代機制可以通過把來自Web客戶機的一或多個請求囊括在一個工作單元中,提供交易能力。而且,例如,也可以把客戶機策略數據封裝於這些機制中或者應用隨機策略。另外,也可以把Web客戶機請求直接傳遞給匹配引擎,而無需首先進行句法分析,而且作為選擇,當需要時,匹配引擎也可以調用句法分析器。
圖5是本發明的優選實施例中主要步驟的流程圖。在步驟501,攔截Web客戶機請求。在步驟502,獲得指定為Web客戶機請求的目標的URL,在步驟503,進行檢查,以觀察在配置文件中是否把URL列為適合於由客戶機端入站(圖3的309)加以轉換的URL。如果該URL不適合於轉換,則在步驟504把Web客戶機請求發送到目標URL。然而,如URL適合於轉換,則在步驟505對Web客戶機請求進行句法分析,以獲得諸如隨請求所發送的任何參數的附加信息,例如把請求指向其的Web服務的某一特定方面的細節,或者一個描述把請求指向其的Web服務的WSDL文檔的細節。然後,在步驟506,基於客戶機策略數據對Web客戶機請求進行修改。例如,把請求重新指向提供了與原始請求的服務相同,但根據公司策略數據允許客戶機加以使用的Web服務。一旦已修改了請求,則接下來在步驟504將其發送到已把請求重新指向其的Web服務。
圖6是在圖5的步驟506處執行處理的一個更詳細的流程圖。在步驟601,從配置文件獲得針對客戶機的策略數據,並且在步驟602,使用發現機制發現適合的處理Web客戶機請求的替代Web服務實現。例如,可以基於URL和Web客戶機請求中所指定的任何附加數據,發現替代Web服務實現。另外,發現機制也可以使用策略數據。在步驟603,使用一個選擇機制,從適當的替代Web服務實現的所發現的列表中選擇一個處理請求的Web服務實現。例如,可以基於指定Web服務必須是基於英國的,並且必須提供AmericanExpress付款方式的客戶機策略數據,選擇一個Web服務。選擇機制還可以選擇一個用於發送請求的應用層協議,即根據可以從服務總線得到、並且通過其可以接觸所選擇的Web服務實現的應用層協議進行這一選擇。已經選擇了一個Web服務之後,在步驟604,使用一個安全機制向請求施加一個適當的安全策略,例如所選擇的Web服務可能要求對所有通信進行加密,和/或使用一個安全的應用層協議。在步驟605,作為選擇,也可以把客戶機專用信息添加給請求,例如,所添加的是一個諸如IP位址或機器的用於標識客戶機數據處理主機的標識符,或者是一個可以用於標識Web客戶機或Web客戶機用戶的標識符。最後在步驟606,把所轉換的請求提供給適當的應用層協議,例如IIOP或SOAP/HTTP。例如,可以選擇請求協議,以和所選擇的Web服務的協議相匹配,或者基於例如指定了一個所需響應時間的客戶機策略從由所選擇的Web服務所支持的多個協議中選擇請求協議。
注意,儘管以通用術語描述了本發明的優先實施例,但本領域的技術人員將會意識到,本發明可以體現於數據處理方法、數據處理設備、或包括用於執行數據處理方法的指令的電腦程式產品。
本發明提供了一種在其中攔截對Web服務的客戶機請求和根據與客戶機相關的策略數據更新請求的目標的方法、設備、以及電腦程式產品。另外,還可以改變在其中指定Web客戶機請求的應用層協議,和/或把信息添加到請求。因此,可以發出請求,而針對這一請求對目標Web服務進行硬體編碼的Web客戶機適合於利用對Web服務的可管理的訪問,從而導致對諸如提供可更好與Web客戶機的要求相匹配的服務質量特性的Web服務的訪問。
權利要求
1.一種轉換Web客戶機請求的客戶機數據處理方法,該方法包括攔截請求;把請求中所指定的一個第一Web服務實現改變為一個第二Web服務實現;以及把請求轉發到第二Web服務實現,從而可使第二Web服務實現處理該請求,其中,根據與Web客戶機相關的策略數據選擇第二Web服務實現。
2.根據權利要求1所述的方法,其中,在第一應用層協議中指定請求,該方法還包括下列步驟修改在第二應用層協議中指定的請求。
3.根據權利要求1或權利要求2所述的方法,其中,客戶機數據處理主機包括SOCKS代理,攔截請求的步驟包括調用SOCKS代理,並包括請求的調用細節。
4.根據權利要求1或權利要求2所述的方法,其中,客戶機數據處理主機包括HTTP代理,攔截請求的步驟包括調用HTTP代理,並包括請求的調用細節。
5.根據以上權利要求中任何一個權利要求所述的方法,還包括下列步驟發現一或多個處理請求的可選Web服務實現;以及從一或多個所發現的可選Web服務實現中選擇第二Web服務實現。
6.根據權利要求5所述的方法,其中發現步驟包括下列步驟獲得針對第一Web服務實現的一個第一Web服務實現Web服務定義語言(WSDL)文檔;以及使用來自這一第一Web服務實現的WSDL文檔的信息,獲得針對一或多個可選Web服務實現中每一可選Web服務實現的一個WSDL文檔。
7.根據以上權利要求中任何一個權利要求所述的方法,還包括下列步驟把一個安全策略施加於請求;其中,施加安全策略的步驟包括下列一或多個步驟至少對請求的一部分進行加密;把一個Web客戶機密鑰添加到請求;以及使用一個Web服務安全協議發送請求。
8.根據以上權利要求中任何一個權利要求所述的方法,還包括下列步驟添加客戶機數據處理主機的一個IP位址;添加客戶機數據處理主機的一個機器標識符;添加一個Web客戶機密鑰。
9.根據以上權利要求中任何一個權利要求所述的方法,其中,策略數據指定下列一或多個內容一個響應時間要求、一個安全水平要求、一個交易要求、一個開銷要求、一個可得性要求、一個應用層協議要求、一個附加信息要求、以及一個Web服務實現要求。
10.一種用於轉換Web客戶機請求的客戶機數據處理設備,該設備包括用於攔截請求的裝置;用於把請求中所指定的一個第一Web服務實現改變為一個第二Web服務實現的裝置;以及用於把請求轉發到第二Web服務實現,從而可使第二Web服務實現處理該請求的裝置,其中,可操作用於改變一個第一Web服務實現的裝置,以根據與Web客戶機相關的策略數據選擇第二Web服務實現。
11.根據權利要求10所述的設備,其中,在第一應用層協議中指定請求,該設備還包括用於修改在第二應用層協議中指定的請求的裝置。
12.根據權利要求10或權利要求11所述的設備,還包括一個SOCKS代理,可操作用於攔截請求的裝置,以調用SOCKS代理,並包括請求的調用細節。
13.根據權利要求10或權利要求11所述的設備,還包括一個HTTP代理,可操作用於攔截請求的裝置,以調用HTTP代理,並包括請求的調用細節。
14.根據權利要求10~13中任何一個權利要求所述的設備,還包括用於發現一或多個處理請求的可選Web服務實現的裝置;以及用於從一或多個所發現的可選Web服務實現中選擇第二Web服務實現的裝置。
15.根據權利要求14所述的設備,其中用於發現的裝置包括用於獲得針對第一Web服務實現的一個第一Web服務實現Web服務定義語言(WSDL)文檔的裝置;以及用於使用來自這一第一Web服務實現的WSDL文檔的信息,獲得針對一或多個可選Web服務實現中每一可選Web服務實現的一個WSDL文檔。
16.根據權利要求10~15中任何一個權利要求所述的設備,還包括用於把一個安全策略施加於請求的裝置還包括用於至少對請求的一部分進行加密的裝置;用於把一個Web客戶機密鑰添加到請求的裝置;以及用於使用一個安全傳送機制發送請求的裝置。
17.根據權利要求10~16中任何一個權利要求所述的設備,還包括用於向請求添加專門針對客戶機的信息的裝置,包括以下的一或多個裝置用於添加客戶機數據處理主機的一個IP位址的裝置;用於添加客戶機數據處理主機的一個機器標識符的裝置;用於添加一個Web客戶機密鑰的裝置。
18.根據權利要求10~17中任何一個權利要求所述的設備,其中,策略數據指定下列一或多個內容一個響應時間要求、一個安全水平要求、一個交易要求、一個開銷要求、一個可得性要求、一個應用層協議要求、一個附加信息要求、以及一個Web服務實現要求。
19.一種電腦程式產品,該電腦程式產品包括一系列指令,當在數據處理主機上執行這些指令時,可使數據處理主機執行根據權利要求1~9中任何一個權利要求所述的方法。
全文摘要
本發明提供一種攔截對Web服務的客戶機請求和根據與客戶機相關的策略數據修改請求的目標的方法、設備、以及電腦程式產品。另外,還可以改變其中指定Web客戶機請求的應用層協議。因此,可以發出請求,而針對這一請求對目標Web服務進行硬體編碼的Web客戶機適合於利用對Web服務的可管理的訪問,從而導致對諸如提供可更好與Web客戶機的要求相匹配的服務質量特性的Web服務的訪問。
文檔編號H04L29/12GK1692617SQ200380100715
公開日2005年11月2日 申請日期2003年12月5日 優先權日2003年3月15日
發明者保羅·Z·弗裡曼特爾, 伊莉莎白·A·哈欽森 申請人:國際商業機器公司