CN1692617A - 客户机Web服务访问 - Google Patents

客户机Web服务访问 Download PDF

Info

Publication number
CN1692617A
CN1692617A CNA2003801007154A CN200380100715A CN1692617A CN 1692617 A CN1692617 A CN 1692617A CN A2003801007154 A CNA2003801007154 A CN A2003801007154A CN 200380100715 A CN200380100715 A CN 200380100715A CN 1692617 A CN1692617 A CN 1692617A
Authority
CN
China
Prior art keywords
request
web service
web
client
requirement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2003801007154A
Other languages
English (en)
Other versions
CN100563260C (zh
Inventor
保罗·Z·弗里曼特尔
伊丽莎白·A·哈钦森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1692617A publication Critical patent/CN1692617A/zh
Application granted granted Critical
Publication of CN100563260C publication Critical patent/CN100563260C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Abstract

本发明提供一种拦截对Web服务的客户机请求和根据与客户机相关的策略数据修改请求的目标的方法、设备、以及计算机程序产品。另外,还可以改变其中指定Web客户机请求的应用层协议。因此,可以发出请求,而针对这一请求对目标Web服务进行硬件编码的Web客户机适合于利用对Web服务的可管理的访问,从而导致对诸如提供可更好与Web客户机的要求相匹配的服务质量特性的Web服务的访问。

Description

客户机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服务的访问。

Claims (19)

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中任何一个权利要求所述的方法。
CNB2003801007154A 2003-03-15 2003-12-05 客户机Web服务访问 Expired - Fee Related CN100563260C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0305959.9 2003-03-15
GBGB0305959.9A GB0305959D0 (en) 2003-03-15 2003-03-15 Client web service access

Publications (2)

Publication Number Publication Date
CN1692617A true CN1692617A (zh) 2005-11-02
CN100563260C CN100563260C (zh) 2009-11-25

Family

ID=9954841

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801007154A Expired - Fee Related CN100563260C (zh) 2003-03-15 2003-12-05 客户机Web服务访问

Country Status (9)

Country Link
US (1) US20070005777A1 (zh)
EP (1) EP1604506B1 (zh)
KR (1) KR100800350B1 (zh)
CN (1) CN100563260C (zh)
AT (1) ATE353518T1 (zh)
AU (1) AU2003285597A1 (zh)
DE (1) DE60311684T2 (zh)
GB (1) GB0305959D0 (zh)
WO (1) WO2004084522A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790712A (zh) * 2011-05-17 2012-11-21 北京航空航天大学 Web服务安全处理方法及系统
CN101277180B (zh) * 2007-03-26 2013-01-02 赛门铁克公司 Web服务中介体
CN109284968A (zh) * 2017-07-19 2019-01-29 中航(重庆)微电子有限公司 签核系统的管理方法、签核系统、可读存储介质及服务器

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249195B2 (en) 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
GB0308523D0 (en) * 2003-04-12 2003-05-21 Ibm Access to web services
US9106479B1 (en) * 2003-07-10 2015-08-11 F5 Networks, Inc. System and method for managing network communications
US7404189B2 (en) 2003-12-30 2008-07-22 International Business Machines Corporation Scheduler supporting web service invocation
US7802007B2 (en) * 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US7653008B2 (en) 2004-05-21 2010-01-26 Bea Systems, Inc. Dynamically configurable service oriented architecture
US8615601B2 (en) * 2004-05-21 2013-12-24 Oracle International Corporation Liquid computing
US7681202B2 (en) * 2004-05-21 2010-03-16 Sap Portals Israel Ltd. Portal runtime framework
US8312132B2 (en) 2004-08-20 2012-11-13 Core Wireless Licensing S.A.R.L. Context data in UPNP service information
US20060106856A1 (en) * 2004-11-04 2006-05-18 International Business Machines Corporation Method and system for dynamic transform and load of data from a data source defined by metadata into a data store defined by metadata
EP1675022A1 (en) * 2004-12-22 2006-06-28 Sap Ag A method and a system for integrating semantic web services into a existing web service infrastructure
FR2880716A1 (fr) * 2005-01-13 2006-07-14 Gemplus Sa Personnalisation de service dans un dispositif terminal
US7509398B2 (en) * 2005-01-13 2009-03-24 International Business Machines Corporation System and method for protocol independent access and invocation of web services
US7657924B2 (en) * 2005-04-06 2010-02-02 International Business Machines Corporation Method and system for implementing authorization policies for web services
US8943304B2 (en) * 2006-08-03 2015-01-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9692725B2 (en) 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9407608B2 (en) 2005-05-26 2016-08-02 Citrix Systems, Inc. Systems and methods for enhanced client side policy
US9621666B2 (en) 2005-05-26 2017-04-11 Citrix Systems, Inc. Systems and methods for enhanced delta compression
FR2887718A1 (fr) * 2005-09-30 2006-12-29 France Telecom Dispositif et procede pour realiser l'interface entre un equipement informatique et un serveur http
US8819181B2 (en) * 2006-03-17 2014-08-26 Apple Inc. Adaptable network service access through dynamic request routing
US8392977B2 (en) * 2006-08-03 2013-03-05 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
US8561155B2 (en) 2006-08-03 2013-10-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
CN101127757B (zh) * 2006-08-18 2011-02-09 国际商业机器公司 控制Web服务策略的方法和装置
US20080104203A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Viewing Digital Information Over a Network
GB0623904D0 (en) * 2006-11-30 2007-01-10 Ibm A method,apparatus and computer program for modifying an endpointreference representing a web service endpoint
US8380880B2 (en) * 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US7822828B2 (en) * 2007-09-17 2010-10-26 Gm Global Technology Operations, Inc. System for using non-standard transfer protocol from software received at in-vehicle communications gateway for exchanging data with client device
US7818403B2 (en) * 2007-09-17 2010-10-19 Gm Global Technology Operations, Inc. System for using non-standard transfer protocol from software received at client device for exchanging data with in-vehicle communications gateway
US7849224B2 (en) * 2007-09-17 2010-12-07 Gm Global Technology Operations, Inc. Method and apparatus for implementing a mobile server
US20090132463A1 (en) * 2007-11-19 2009-05-21 Emericon, L.L.C. System and method for facilitating transition between ibm® websphere® mq workflow and ibm® websphere® process server
US8090877B2 (en) * 2008-01-26 2012-01-03 Citrix Systems, Inc. Systems and methods for fine grain policy driven cookie proxying
US8254381B2 (en) * 2008-01-28 2012-08-28 Microsoft Corporation Message processing engine with a virtual network interface
DE102008002787A1 (de) * 2008-02-29 2009-09-03 Schneider Electric Gmbh 4-Phasen-Interaktionsmuster basierend auf Port-Typ-Protokollen für die Verwendung von Lebenszyklen von Services, welche durch serviceorientierte Geräte bereitgestellt werden
US7904561B2 (en) * 2008-05-15 2011-03-08 International Business Machines Corporation Brokering mobile web services
US20090307233A1 (en) * 2008-06-02 2009-12-10 Guorui Zhang Efficient Handling of PMU Data for Wide Area Power System Monitoring and Visualization
US20100031309A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Policy based control of message delivery
US8661334B1 (en) 2010-03-30 2014-02-25 Amazon Technologies, Inc. Mapping behavior to data
US8380845B2 (en) 2010-10-08 2013-02-19 Microsoft Corporation Providing a monitoring service in a cloud-based computing environment
US8843632B2 (en) 2010-10-11 2014-09-23 Microsoft Corporation Allocation of resources between web services in a composite service
US8959219B2 (en) 2010-10-18 2015-02-17 Microsoft Technology Licensing, Llc Dynamic rerouting of service requests between service endpoints for web services in a composite service
US8510426B2 (en) 2010-10-20 2013-08-13 Microsoft Corporation Communication and coordination between web services in a cloud-based computing environment
US8874787B2 (en) * 2010-10-20 2014-10-28 Microsoft Corporation Optimized consumption of third-party web services in a composite service
CN103392320B (zh) 2010-12-29 2016-08-31 思杰系统有限公司 对加密项目进行多层标记以提供额外的安全和有效的加密项目确定的系统和方法
US9609077B1 (en) * 2012-05-30 2017-03-28 Crimson Corporation Forwarding content on a client based on a request
RU2635276C1 (ru) * 2016-06-24 2017-11-09 Акционерное общество "Лаборатория Касперского" Безопасная аутентификация по логину и паролю в сети Интернет с использованием дополнительной двухфакторной аутентификации
DE102022107431B3 (de) 2022-03-29 2023-05-11 Volkswagen Aktiengesellschaft Verfahren zum Nachrüsten einer Socks-Kompatibilität für zumindest eine Anwendung in einem Kraftfahrzeug sowie entsprechend eingerichtetes Kraftfahrzeug

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097882A (en) * 1995-06-30 2000-08-01 Digital Equipment Corporation Method and apparatus of improving network performance and network availability in a client-server network by transparently replicating a network service
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US6016516A (en) * 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US6173322B1 (en) * 1997-06-05 2001-01-09 Silicon Graphics, Inc. Network request distribution based on static rules and dynamic performance data
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
CA2228687A1 (en) * 1998-02-04 1999-08-04 Brett Howard Secured virtual private networks
US6732175B1 (en) * 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
US6922832B2 (en) * 2000-12-12 2005-07-26 Lockheed Martin Corporation Execution of dynamic services in a flexible architecture for e-commerce
GB2400960B (en) * 2001-05-02 2004-12-29 Virtual Access Ltd Secure payment method and system
US20030163450A1 (en) * 2001-05-25 2003-08-28 Joram Borenstein Brokering semantics between web services
US7254614B2 (en) * 2001-11-20 2007-08-07 Nokia Corporation Web services push gateway

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277180B (zh) * 2007-03-26 2013-01-02 赛门铁克公司 Web服务中介体
CN102790712A (zh) * 2011-05-17 2012-11-21 北京航空航天大学 Web服务安全处理方法及系统
CN102790712B (zh) * 2011-05-17 2015-07-15 北京航空航天大学 Web服务安全处理方法及系统
CN109284968A (zh) * 2017-07-19 2019-01-29 中航(重庆)微电子有限公司 签核系统的管理方法、签核系统、可读存储介质及服务器
CN109284968B (zh) * 2017-07-19 2022-02-01 华润微电子(重庆)有限公司 签核系统的管理方法、签核系统、可读存储介质及服务器

Also Published As

Publication number Publication date
CN100563260C (zh) 2009-11-25
GB0305959D0 (en) 2003-04-23
DE60311684T2 (de) 2007-11-22
KR20050117521A (ko) 2005-12-14
KR100800350B1 (ko) 2008-02-04
ATE353518T1 (de) 2007-02-15
US20070005777A1 (en) 2007-01-04
WO2004084522A1 (en) 2004-09-30
AU2003285597A1 (en) 2004-10-11
EP1604506A1 (en) 2005-12-14
EP1604506B1 (en) 2007-02-07
DE60311684D1 (de) 2007-03-22

Similar Documents

Publication Publication Date Title
CN100563260C (zh) 客户机Web服务访问
US7861174B2 (en) Method and system for assembling concurrently-generated content
EP0917681B1 (en) Methods and arrangements for distributing services and/or programs in a network environment
EP1483671B1 (en) Provisioning aggregated services in a distributed computing environment
EP1385310B2 (en) System and method for providing content-oriented services to content providers and content consumers
FI105249B (fi) Menetelmä ja järjestely informaation liittämiseksi verkkoresursseihin
DE10116640B4 (de) Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen
US20070011126A1 (en) Service-oriented architecture
US20040015578A1 (en) Web services runtime architecture
US20060031442A1 (en) Method and system for externalizing session management using a reverse proxy server
WO2002080014A1 (en) Assembling concurrently-generated personalized web pages
CN102047242A (zh) 内容管理
WO2003052610A1 (en) System and method for downloading data using a proxy
US7319979B2 (en) Dynamically interacting with an internet service using a client-specified communication proxy and protocol
US20030172164A1 (en) server persistence using a session identifier
CN1723460A (zh) 访问web服务
US8103759B2 (en) Message redirection within a messaging infrastructure
Friese et al. Self-healing execution of business processes based on a peer-to-peer service architecture
EP1330082A2 (en) Computer network for providing services controlled by e-mail
WO2000054191A1 (en) A multi-broker connectivity system, an online trading system utilizing the same, a multi-processing-system networking system, and the methods therefor
CA2548368C (en) Port type agnostic proxy support for web services intermediaries
Kipp et al. Dynamic service encapsulation
KR20000024543A (ko) 정보전송 분산처리방법
Apshankar et al. Web Services Architectures
Reuther University of Kaiserslautern, Germany {reuther, henrici}@ informatik. uni-kl. de

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091125

Termination date: 20181205

CF01 Termination of patent right due to non-payment of annual fee