CN1723460A - 访问web服务 - Google Patents

访问web服务 Download PDF

Info

Publication number
CN1723460A
CN1723460A CNA2004800016095A CN200480001609A CN1723460A CN 1723460 A CN1723460 A CN 1723460A CN A2004800016095 A CNA2004800016095 A CN A2004800016095A CN 200480001609 A CN200480001609 A CN 200480001609A CN 1723460 A CN1723460 A CN 1723460A
Authority
CN
China
Prior art keywords
web
request
service
gateway
configuration file
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
CNA2004800016095A
Other languages
English (en)
Other versions
CN100474298C (zh
Inventor
布赖恩·赫尔斯
菲利普·戴维·罗利
克里斯托弗·爱德华·夏普
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 CN1723460A publication Critical patent/CN1723460A/zh
Application granted granted Critical
Publication of CN100474298C publication Critical patent/CN100474298C/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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • 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/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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
    • 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/565Conversion or adaptation of application format or content

Abstract

本发明提供一种方法、装置和计算机程序产品,以使为使用诸如Web服务定义语言(WSDL)之类的特定文档格式描述的商业服务提供支持的web服务网关,进一步为使用诸如RosettaNet规定的商业对商业(b2b)配置文件之类的不同文档格式描述的商业服务提供支持。商业服务向网关提供它的配置文件,该网关根据该配置文件生成文档,然后使用生成的文档,以使识别该文档格式但不识别该配置文件格式的web客户机经由该网关访问该web服务。

Description

访问WEB服务
技术领域
本发明涉及web服务,更特别地,涉及经由web服务网关访问web服务。
背景技术
近几年来,商业在因特网上提供网站已经很普通,例如,该网站使得web客户透过万维网购买该商业的商品。自上述成功以来,在因特网上处理更复杂的电子商务应用近来已经成为一个必要条件,例如,支持商业对商业通信已经成为一个必要条件,并且web服务的到来已经满足该必要条件。Web服务是模块化的增强的电子商务应用程序,该应用程序支持跨越因特网的应用程序之间的程序性交互作用。
例如,web服务可以基于共享、开放和新兴的技术标准和协议,如SOAP(简单对象访问协议)、UDDI(通用描述,发现和集成)以及WSDL(Web服务定义语言)。在该环境中,web服务可以与异构应用程序通信、交互作用和集成,而不管它们的实现格式,从而使得web服务能够通过因特网互相交互作用,以方便商业、供应商、合作伙伴以及客户之间的动态集成。
例如,提供电子商务应用程序的web服务在著名的UDDI目录中公布其URL。之后,客户机可以从UDDI目录中获得URL,通过使用该URL联系电子商务以便获得WSDL文档。WSDL描述服务电子商务应用程序为客户机提供的接口,支持例如SOAP over HTTP(超文本传输协议)之类的通信协议的一种或多种传输机制,以及用于各个传输机制的端点地址。一旦web客户机拥有该WSDL,它就可以通过使用指定传输机制的通信协议经由指定端点调用该接口。另外,如果该客户机拥有服务电子商务应用程序希望与其通信的电子商务应用程序,则该客户机和服务可以交换WSDL文档以使它成为可能。此外,当客户机和web服务使用不同通信协议时,为了使它们能够通信,使用web服务网关将客户请求从一个通信协议转换为另一个通信协议。
然而,虽然许多web客户机和服务使用WSDL文档和UDDI注册表,但是许多其它web服务使用其它的商业对商业(b2b)协议,如RosettaNet、cXML和因特网工程任务组(AS1和AS2)规定的协议。这些协议使得使用相同b2b协议的商业伙伴能够通信。然而,对于基于WSDL文档与web服务通信的支持WSDL的web客户机而言,当前不可能与使用其它的基于非WSDL的商业对商业协议的商业伙伴进行电子商务。
发明内容
因此,根据本发明的第一方面,提供一种用于web服务网关的方法,以使web客户机能够访问web服务,该方法包括以下步骤:接收来自web服务的配置文件,该配置文件包含如何与该web服务通信的细节并且其格式是该web客户机不可识别的;基于该配置文件创建文档,该文档的格式是该web客户机可识别的并且包含如何经由该网关与该web服务通信的细节;以及向第三方提供与该web服务和该web客户机可以从中获取该文档的位置有关的信息;从而使得该web客户机能够使用该文档来经由该web服务网关访问该web服务。
根据本发明的第二方面,提供使web客户机能够访问web服务的web服务网关,该网关包括:用于接收来自web服务的配置文件的装置,该配置文件包含如何与该web服务通信的细节并且其格式是该web客户机不可识别的;用于基于该配置文件创建文档的装置,该文档的格式是该web客户机可识别的并且包含经由该网关如何与该web服务通信的细节;以及向第三方提供与该web服务和该web客户机可以从中获取该文档的位置有关的信息的装置;从而使得该web客户机能够使用该文档来经由该web服务网关访问该web服务。
根据本发明的第三方面,提供包含以下指令的计算机程序产品,其中当在数据处理主机上执行该指令时,使该数据处理主机执行根据所述的第一方面的方法。
例如,第三方可以是UDDI目录,虽然实际上,它可以是向web客户机提供有关web服务的信息的任何实体。
可选择地,该文档是在收到来自web服务的配置文件时基于该配置文件创建的。作为选择,只有在web客户机请求后才创建该文档。
可选择地,可以获得向第三方提供的文档的位置在与生成该文档的web服务网关不同但有权访问该文档的web服务网关中。作为选择,向第三方提供的可以获得该文档的位置在创建它的同一个web服务网关中。
优选地,该网关随后接收用于该web服务的web客户机的请求。可选择地,该请求包括该文档的细节并且该网关使用这些细节来匹配该请求与该web服务的配置文件。作为选择,由该配置文件创建的文档包括该客户机用来访问该web服务并且与该配置文件关联的web服务网关中的一个位置。因此,可以使用接收该客户请求的位置来匹配该请求与该web服务的配置文件。总之,一旦知道该配置文件,就使用它的细节将该请求转换为适合于向该web服务发送的请求,并向该web服务发送转换后的请求。
可选择地,该网关然后可以返回到该web客户机。作为选择,它可以等待该web服务对转换后的请求的响应,然后使用对转换的请求的响应来触发对该web客户请求的响应。
该文档最好为Web服务定义语言(WSDL)文档,也可以为基于任何WSDL的格式,例如WSDL4J(WSDL for Java)或XLANG(带有扩展的WSDL)。作为选择,该文档可以采用另一种定义语言,例如CORBAIDL。
该配置文件优选是根据RosettaNet商业对商业标准指定的。作为选择,它可以是根据其它的商业对商业标准,例如,cXML和因特网工程任务组(AS1和AS2)指定的标准。
附图说明
正如附图所示,以下参照其优选实施方式,仅仅利用示例来描述本发明,其中:
图1是其中可以有利应用本发明之优选实施方式的数据处理环境的示意图;
图2是通过基于使用根据现有技术的UDDI注册表和WSDL文档的网关,向web服务发送请求的示例web客户机的示意图;
图3是通过基于使用UDDI注册表和WSDL文档的网关,向b2b服务发送请求的web客户机的示例的示意图,其中b2b服务实现为RosettaNet标准;
图4是基于根据RosettaNet标准的服务提供的b2b配置文件生成表示b2b服务的WSDL文档的示意图;
图5a是收到来自b2b服务的b2b配置文件时网关服务器遵循的方法的流程图;
图5b是收到用于b2b服务的web客户机的请求时网关服务器遵循的方法的流程图。
请注意,在所有附图中,使用相同标号表示相同部件。
具体实施方式
图1是其中可以有利应用本发明之优选实施方式的数据处理环境的框图;在图1中,经由网络11,如因特网,把客户机/服务器数据处理主机10连接到客户机/服务器数据处理主机12和13。例如,在经由主机13上的网关服务器访问主机12上的web服务的主机10上,执行web客户程序。客户机/服务器10具有用于执行控制客户机/服务器10之操作的程序的处理器101,RAM易失存储元件102,非易失存储器103,以及用于连接网络11的网络连接器104,用于与其它客户机/服务器12和13通信。
在下面的首选实施方式中,描述web服务的文档是WSDL文档。请注意,WSDL文档包含诸如端口类型、绑定、端口、消息、类型之类的web服务的细节。端口类型和消息定义web服务提供的操作和关联参数,绑定规定web服务支持的通信协议,而端口规定访问使用该通信协议的web服务所用的通道的端点地址。
另外,请注意,优选实施方式考虑使用RosettaNet标准b2b协议实现的b2b服务。根据RosettaNet,商业伙伴交换b2b配置文件。b2b配置文件包括以下信息:与商业通信所用的一个或多个通信协议,可以联系该商业的一个或多个位置,以及分别描述交换协议和该商业使用的操作之格式的伙伴信息处理(PIP)和XMD文档类型定义(DTD)的细节。此外,RosettaNet标准规定许多标准PIP和XML DTD,如PIP3A4和XML DTD3A4,PIP3A4规定买方向卖方发送购买订单请求操作并且卖方向买方发送购买订单确认操作,而XML DTD3A4规定上述操作的格式。因此,例如,销售图书的图书商业可以向一个或多个业务伙伴发送它的b2b配置文件,然后,业务伙伴可以使用该b2b配置文件中的信息,以便从它那里购买图书。(RosettaNet和PIP为RosettaNet组织的商标)。
图2是通过基于使用根据现有技术的UDDI注册表218和WSDL文档208、213和214的网关210,向web服务206(此处记作eBook)发送请求的支持WSDL的web客户机201的示例的示意图。可以从目标服务器205那里获得eBook服务206,目标服务器205具有通道207,后者支持使用SOAPover HTTP通信协议的通信。eBook服务提供以下能力,即,使用来自客户的购买订单请求购买图书,其中ebook服务向该客户发送购买订单确认。在WSDL文档WSDLl 208中描述eBook服务的细节,该文档规定用于定义PurchaseOrderRequest()和PurchaseOrderResponse()操作的端口类型和消息、用于规定SOAP/HTTP通信协议的通道207的绑定和端口以及用来联系该服务的通道的端点地址。目标服务器205向网关210提供(230)WSDLl 208,网关210将副本另存为WSDLl 213。在该网关中,将WSDLl 213传送(231)给网关引擎212,后者将eBook服务通道的绑定和端口变成该网关提供的绑定和端口,由此生成(232)一个新的WSDL,即WSDLla214。在本例中,该网关有两个通道,SOAP/Java消息服务(JMS)通道215和SOAP/HTTP通道216(Java是太阳微系统公司的注册商标)。接着,该网关向已知的UDDI目录218注册(233)该eBook服务,其实现方法是,向该UDDI目录提供该服务的类型以及客户机可以从中获得修改的WSDL(即,WSDLla 214)的副本的servlet211的URL。该UDDI目录例如,通过配置信息,可以为该网关所知。
Web客户机进程201运行希望访问eBook服务的应用程序202。该客户机进程包括用于提供SOAP over JMS传输机制的通道203。该应用程序首先访问(234)该UDDI目录218,以获得图书服务的细节,作为响应,接收可以从中获得eBook服务的修改过的WSDL(即WSDLla 214)的网关210中的servlet 211的URL的细节。接着,客户应用程序202向servlet 211请求(235)描述该eBook服务的WSDL文档。作为该请求的结果,servlet 211获得(236)WSDLla 214,并将它返回给客户应用程序。接着,基于该文档,客户应用程序请求WSDL文档的端口类型中指定的eBook服务的purchaseOrderRequest()操作,其方法是使用WSDL文档的绑定中指定的SOAP/JMS通信协议,并将该请求指向WSDL文档的端口指定的SOAP/JMS信道的端点地址。为生成该请求,客户应用程序202向客户进程中的SOAP/JMS通道203传送(237)该请求,然后,SOAP/JMS通道203将它转发(238)给网关服务器210中的SOAP/JMS通道215。
当网关210的SOAP/JMS通道215收到该请求时,将该请求传送(239)给网关引擎。该请求包括客户应用程序用来生成该请求的WSDL文档,即WSDLla 214的细节,并且基于该信息,网关引擎发现用来创建WSDLla的原始WSDL,即WSDLl 213。然后,网关引擎从WSDLl获得eBook服务的绑定和端口,因此,将该请求传送给网关服务器的SOAP/HTTP通道216,其中该请求给出eBook服务器的SOAP/HTTP通道207的细节。接着,SOAP/HTTP通道216向eBook服务器205的SOAP/HTTP通道207发送(241)该请求,然后由SOAP/HTTP通道207将它传送(242)给eBook服务206。
图2还表示第二服务221,此处记作“aBook”,该服务提供与eBook服务206相同的操作,但是是根据RosettaNet标准实现的。因此,根据现有技术,支持WSDL的web客户机201既不能直接访问它,也不能通过网关服务器210来访问它,因为需要WSDL文档的web客户机201和网关服务器210均无法识别该b2b配置文件,而aBook服务221是只在非WSDLb2b配置文件223中描述的一个b2b服务。
图3是根据本发明的优选实施方式,通过基于使用UDDI目录218和WSDL文档WSDLb2b 302的网关210,向aBook服务221发送请求的图2的支持WSDL的web客户机201的示例的示意图,其中aBook服务221是实现为RosettaNet标准。请注意,在图3中,当使用与图2相同的参考标号时,其相关的功能与图2中的功能相同。可以从目标服务器220那里获得aBook服务221,目标服务器220具有通道222,后者支持使用HTTP上的RosettaNet实现框架(RNIF)的传输机制的通信。aBook服务提供以下能力,即通过使用购买订单请求操作和购买订单确认操作购买图书。在b2b配置文件223中描述aBook服务的细节,其包含伙伴交换处理(PIP)和XML文档类型定义(DTD)的细节、它支持的一个或多个通信协议以及可以联系该商业的一个或多个端点地址。在本例中,b2b配置文件223包含PIP3A4和XML DTD3A4的细节、RNIF/HTTP通道222以及用于该RNIF通道的端点地址。PIP3A4包含交换协议的细节,交换协议规定,买方向卖方发送购买订单请求操作并且卖方向买方发送购买订单确认操作,而XMLDTD3A4包含购买订单请求和购买订单确认操作的数据格式。
aBook服务器220向希望和它做贸易的商业合作伙伴提供它的b2b配置文件223,在本例中,向网关服务器210中的配置文件分析器301发送(311)它的配置文件。然后配置文件分析器301保存b2b配置文件223的副本303,并且使用来自它的信息创建(312)WSDL文档WSDLb2b 302,该文档包含aBook服务支持的操作的细节以及该网关支持的通道的绑定和端口。在本例中,WSDL包含购买订单请求和购买订单确认操作的细节,以及网关服务器210支持的SOAP/JMS通道215和RNIF/HTTP通道304的细节。接着,该网关向已知的UDDI注册表218注册(313)该aBook服务,其实现方法是,向UDDI注册表提供该服务的类型,以及客户机可以从中获取WSDL的副本WSDLb2b 302的servlet 211的URL。
在本实施方式中,向ebook服务发送请求的web客户进程的工作方式与图2所示的方式相同,唯一区别是WSDL文档,其返回到向servlet211的客户应用程序请求(235)。因此,客户机向网关服务器的SOAP/JMS通道215发送(238)购买订单请求操作。
当网关210的SOAP/JMS通道215收到该请求时,它向网关引擎212传送(239)该请求。该请求包括客户应用程序用来生成该请求的WSDL文档WSDLb2b 302的细节。接着,网关引擎向配置文件分析器301传送(315)该信息,配置文件分析器301查找(318)创建WSDL文档所需的b2b配置文件副本303,并从其向网关引擎212返回细节。细节包括aBook服务221的位置以及向它发送请求所用的协议。因此,该网关引擎将该客户请求从SOAP/JMS请求转换为RNIF/HTTP请求,并然后提供给RNIF/HTTP通道304,后者经由aBook服务器220的RNIF/HTTP通道222,将它发送(317)到aBook服务221。当RNIF/HTTP通道收到该请求时,将它转发(318)到aBook服务221,后者不知道它不是直接来自客户应用程序202的。
总之,根据图3的实施方式,对于实现RosettaNet标准服务的商业,该商业向网关提供它的b2b配置文件。该配置文件包含PIP和XML DTD的细节(其包含该商业支持的交换协议和操作的细节)、它支持的通信协议以及可以联系该商业的地址。例如,它可以公布包含PIP3A4、XML DTD3A4和RNIF/HTTP的细节的B2B配置文件。PIP3A4包含购买订单交换协议的细节,该协议规定买方发送购买订单请求并且卖方发送购买订单确认,而XML DTD3A4包含购买订单请求和确认操作的格式的细节。该网关有一个“配置文件分析器”,后者接收b2b配置文件并根据该b2b配置文件中包含的细节创建WSDL文档。接着,客户机获得该WSDL并向该网关发送购买订单请求,该网关接收包含它获得的WSDL之细节的请求,以生成请求。然后,网关引擎截获该请求并向配置文件分析器询问该商业服务的地址的细节,以便发送该请求到该配置文件分析器从用于生成WSDL的b2b配置文件中获得的地址。然后通过使用b2b配置文件中指定的通信协议,将该请求转发到web服务。
请注意,根据PIP3A4,在收到购买订单请求后,商业合作伙伴首先向客户商业合作伙伴发送收到确认信号。随后是购买订单确认,客户商业合作伙伴用收到确认信号对它作出响应。这可以用正常处理实现,因为从客户机SOAP/JMS通道203发送到网关SOAP/JMS通道215以及从网关RNIF/HTTP通道304发送到目标商业RNIF/HTTP通道222的请求包括返回地址。对于客户机和/或目标服务而言,可以以异步或同步方式完成上述流程。例如,如果客户机向网关发送同步购买订单请求(例如使用SOAP/HTTP而不是SOAP/JMS)并且希望接收收到确认信号作为同步响应,则该网关可以保持用来处理该客户请求的线程,并且使用来自aBook服务的收到确认作为释放该线程和返回到该客户机的触发器。
请注意,虽然在涉及请求购买订单的PIP3A4和XML DTD3A4方面描述了优选实施方式,但是可以选择使用RosettaNet标准定义的许多其它PIP和关联XML DTD。例如,用于请求账号设置的PIP1A1和XML DTD3A1,用于请求授权状态的PIP1B2和XML DTD1B2,用于分发新产品信息的PIP2A1和XML DTD2A1等。
另外,请注意,虽然在提供与RosettaNet标准一致的b2b配置文件的b2b服务方面描述了优选实施方式,但是作为选择,b2b服务可以提供与任何其它标准一致的b2b配置文件或等价物,其它标准如cXML规定的标准和因特网工程任务组(AS1和AS2)。根据本发明,b2b服务要求向该网关提供足够信息(采用非WSDL格式),以便该网关构建描述该服务的WSDL文档。足够信息包括b2b客户机或服务支持的接口的细节以及与它通信时使用的通信协议和地址。
另外,请注意,虽然优选实施方式描述了供网关服务器使用的SOAP/JMS、SOAP/HTTP和RNIF/HTTP通道,但是在另一个实施方式中,可以省略和/或替换和/或添加一个或多个上述通道。例如,其它附加的/可替换通道可以提供使用以下协议的通信,如因特网Orb间协议(IIOP)、IIOP安全(IIOPS)、HTTP、HTTP安全(HTTPS)、SOAPover JMS、IIOP上的远程方法调用(RMI)、XML over JMS、简单邮件传输协议(SMTP)上的SOAP或Enterprise JavaBean(JavaBeans是太阳微系统公司的注册商标)。
另外,请注意,优选实施方式的网关包括servlet211、引擎212和配置文件分析器301。然而,熟练技术人员明白能够轻而易举地在更多或更少组件之间分配上述组件提供的功能性,并且在概念上,可以利用单一组件,即网关210,提供该功能性。
图4表示根据本发明的优选实施方式,基于从b2b服务那里接收的b2b配置文件(303)和网关通道配置文件(406),如何创建WSDLb2b(302)。b2b配置文件(303)包含用来规定b2b服务提供的服务的伙伴信息处理(PIP)和XML文档类型定义(DTD)的细节。在本例中,b2b配置文件包含分别定义交换协议和该交换协议中使用的消息(操作)的格式的PIP3A4和XML DTD3A4的细节。网关使用该信息来获取XMLDTD3A4(401)和PIP3A4(404),它们是可以公开得到的文档,并因此,不需要直接包含在b2b配置文件(303)中。通过使用标准工具,如可扩展的样式表语言翻译(XSLT),首先将XML DTD3A4转换(411)为XML模式(402),然后将涉及该操作(消息)的格式的来自XML模式(402)的信息转换并复制(412)到用来描述该服务支持的消息的格式的WSDL文档(302)的部分(403)中。接着,将PIP3A4(404)中的信息转换并复制(413)到用来描述该服务支持的操作和相关交换协议的WSDL文档(302)的部分(405)中。最后,把涉及该网关中的可用通道(如图3中的通道215和304)的信息添加(414,415)到WSDL文档(302)的部分(407,408)中,每个部分规定可通过其联系该服务的该网关中的通道的绑定。
图5a是收到来自b2b服务的b2b配置文件时,网关服务器遵循的方法的流程图,该方法例如,参照图3,在收到来自aBook服务器220的b2b配置文件223时配置文件分析器301的方法。在步骤501中,网关接收(图3的311)来自b2b服务的b2b配置文件,并且在步骤502中,使用接收的b2b配置文件生成(图3的312)WSDL文档,例如,通过使用图4所示的方法。WSDL文档描述b2b服务提供的接口、可以将请求发送到网关服务器的通道的地址以及该通道支持的协议的细节。最后,在步骤503中,该网关向UDDI注册表提供(图3的313)b2b服务的细节以及可以从中获得该WSDL的网关中的位置。然后,web客户机可以使用提供给UDDI注册表的b2b服务的细节来标识它希望使用的服务,例如,可以包括该web服务的细节,如所销售的商品的类型。
图5b是收到web客户机对b2b服务的请求时,网关服务器遵循的方法的流程图,该方法例如,参照图3,在收到(238)客户应用程序202对aBook服务221的请求时,通道215和304、网关引擎212和配置文件分析器301的方法。在步骤510中,该网关经由它支持的一个通道接收(图3的238)该请求,并且在步骤511中,从该请求获取为生成该请求而向客户机提供的WSDL文档的细节。在步骤512中,匹配(图3的318)标识的WSDL文档与用来生成它的b2b配置文件,例如,在图5a的步骤502中。一旦标识了b2b配置文件,就从中获取涉及该b2b服务的位置以及它支持的协议的信息,并且然后在步骤513中,利用该信息来修改该请求以发送到该b2b服务,例如,通过将该协议从SOAP/JMS变成RNIF/HTTP。然而,请注意,客户机和目标服务使用的协议可以相同,此时,无需修改用于该请求的协议。最后,在步骤514中,将该请求转发(图3的317)到位于该b2b配置文件中指定的位置的b2b服务。因此,基于WSDL文档的客户请求已经被接收、修改和转发到非WSDL b2b配置文件中指定的b2b服务。
请注意,作为选择,在图5a的步骤502中,可以把能向其发送请求的通道的地址和用来创建WSDL文档的b2b配置文件关联起来。因此,不再需要图5b的步骤511和5l2,因为可以根据收到该请求的位置来获取b2b配置文件。
另外,请注意,在步骤501收到b2b配置文件之后和在步骤503向UDDI注册表提供WSDL的细节之前,无需执行步骤502。作为选择,可以在收到客户机对WSDL的副本的请求时,例如,在收到图3的请求235(图5a和5b未示出)时,创建WSDL。
请注意,熟练技术人员应该认识到,可以用诸如Java、C和C++之类的各种编程语言来实现图5a和5b描述的方法。另外,熟练技术人员应该认识到,一旦实现该方法,就可以在诸如软盘、CD和DVD之类的适合加载到数据处理主机上并使该数据处理主机执行该方法的介质上,以源代码或可执行代码的形式,在包括一个或多个程序的计算机产品中存储该方法。
本发明提供一种方法、装置和计算机程序产品,以使为使用诸如Web服务定义语言(WSDL)之类的特定文档格式描述的商业服务提供支持的web服务网关,进一步为使用诸如RosettaNet规定的商业对商业(b2b)配置文件之类的不同文档格式描述的商业服务提供支持。商业服务向网关提供它的配置文件,该网关从该配置文件生成文档,并且然后使用生成的文档,以使识别该文档格式但不识别该配置文件格式的web客户机经由该网关访问该web服务。

Claims (9)

1.一种用于web服务网关的使web客户机能够访问web服务的方法,该方法包括以下步骤:
接收来自该web服务的配置文件,该配置文件包含如何与该web服务通信的细节并且其格式是该web客户机不可识别的;
基于该配置文件创建文档,该文档的格式是该web客户机可识别的并且包含如何经由该网关与该web服务通信的细节;以及
向第三方提供与该web服务和该web客户机可以从中获取该文档的位置有关的信息;
从而使得该web客户机能够使用该文档来经由该web服务网关访问该web服务。
2.根据权利要求1的方法,进一步包括以下步骤:
接收该web客户机对该web服务的请求,该请求包括该文档的细节;
通过使用该文档的细节匹配该请求和从该web服务接收的该配置文件;
通过使用来自该配置文件的细节,将该请求转换为适合于向该web服务发送的请求;以及
向该web服务发送转换的请求。
3.根据权利要求1的方法,其中如何经由该网关与该web服务通信的细节包括请求访问该web服务时该客户机使用的该网关中的位置,该位置与该配置文件相关联,并且该方法进一步包括以下步骤:
在该位置接收该web客户机对该web服务的请求;
从与该位置关联的配置文件中获取细节,并且通过使用该细节将该请求转换为适合于向该web服务发送的请求;以及
向该web服务发送转换的请求。
4.根据权利要求2或3的方法,进一步包括以下步骤:
等待该web服务对转换的请求的响应;
通过使用对转换的请求的响应触发对该web客户请求的响应。
5.使web客户机能够访问web服务的web服务网关,该网关包括:
用于接收来自该web服务的配置文件的装置,该配置文件包含如何与该web服务通信的细节并且其格式是该web客户机不可识别的;
用于基于该配置文件创建文档的装置,该文档的格式是该web客户机可识别的并且包含如何经由该网关与该web服务通信的方法的细节;以及
向第三方提供与该web服务和该web客户机可以从中获取该文档的位置有关的信息的装置;
从而使得该web客户机能够使用该文档来经由该web服务网关访问该web服务。
6.根据权利要求5的网关,进一步包括:
用于接收该web客户机对该web服务的请求的装置,该请求包括该文档的细节;
通过使用该文档的细节匹配该请求和从该web服务接收的该配置文件的装置;
通过使用来自该配置文件的细节,将该请求转换为适合于向该web服务发送的请求的装置;以及
用于向该web服务发送该转换的请求的装置。
7.根据权利要求5的网关,其中如何经由该网关与该web服务通信的细节包括请求访问该web服务时该web客户机使用的该网关中的位置,把该位置和该配置文件关联起来,并且该网关进一步包括:
用于在该位置接收该web客户机对该web服务的请求的装置;
从与该位置关联的配置文件中获取细节,并且使用该细节将该请求转换为适合于向该web服务发送的请求的装置;以及
向该web服务发送该转换的请求。
8.根据权利要求6或7的网关,进一步包括:
用于等待该web服务对该转换的请求的响应的装置;
通过使用对该转换的请求的响应触发对该web客户请求的响应的装置。
9.一种包括指令的计算机程序产品,其中当在数据处理主机上执行该指令时,使该数据处理主机执行权利要求1-4之任一个权利要求中要求的方法。
CNB2004800016095A 2003-04-12 2004-03-25 访问web服务 Expired - Fee Related CN100474298C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0308522.2 2003-04-12
GBGB0308522.2A GB0308522D0 (en) 2003-04-12 2003-04-12 Access to web services
PCT/GB2004/001304 WO2004090751A2 (en) 2003-04-12 2004-03-25 Access to web services

Publications (2)

Publication Number Publication Date
CN1723460A true CN1723460A (zh) 2006-01-18
CN100474298C CN100474298C (zh) 2009-04-01

Family

ID=9956703

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800016095A Expired - Fee Related CN100474298C (zh) 2003-04-12 2004-03-25 访问web服务

Country Status (6)

Country Link
US (1) US7499967B2 (zh)
KR (1) KR100887491B1 (zh)
CN (1) CN100474298C (zh)
GB (1) GB0308522D0 (zh)
TW (1) TWI308281B (zh)
WO (1) WO2004090751A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169717B (zh) * 2006-10-26 2010-06-02 国际商业机器公司 生成和执行网络服务描述语言调用流程实现的方法和系统
CN101277180B (zh) * 2007-03-26 2013-01-02 赛门铁克公司 Web服务中介体
CN103944956A (zh) * 2014-03-10 2014-07-23 浙江大学 网络服务代理方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160153A1 (en) * 2004-01-21 2005-07-21 International Business Machines Corp. Publishing multipart WSDL files to URL
US9760647B2 (en) * 2004-12-08 2017-09-12 Oracle International Corporation Techniques for automatically exposing, as web services, procedures and functions stored in a database
US7921216B2 (en) * 2005-02-01 2011-04-05 Microsoft Corporation System and method for building and using communication binding objects
US8433822B2 (en) * 2005-03-09 2013-04-30 Research In Motion Limited System, method and apparatus for optimized wireless messaging
US8316132B2 (en) * 2005-09-08 2012-11-20 Nokia Corporation Method to determine the completeness of a service guide
US20080052396A1 (en) * 2006-08-22 2008-02-28 Motorola, Inc. Providing a service from an application service provider to a client in a communication system
CN101257409B (zh) * 2008-04-15 2010-12-08 北京航空航天大学 一种基于web services的显微镜操作平台
TWI397018B (zh) * 2008-09-26 2013-05-21 Chao Kuei Huang 電子交易市集與訂購系統架構
US8255490B1 (en) 2008-10-22 2012-08-28 Amazon Technologies, Inc. Dynamic service-oriented architecture using customization code
US9239709B2 (en) * 2009-06-09 2016-01-19 At&T Intellectual Property I, L.P. Method and system for an interface certification and design tool
US8863267B2 (en) * 2009-06-26 2014-10-14 Oracle International Corporation Subscriber based policy for service network gateways
US8931036B1 (en) * 2010-12-22 2015-01-06 Sprint Communications Company L.P. Transformation of extensible markup language documents for web services customization
US20130227541A1 (en) * 2012-02-29 2013-08-29 Gal Shadeck Updating a web services description language for a service test
WO2014124108A1 (en) 2013-02-06 2014-08-14 Apple Inc. Apparatus and methods for secure element transactions and management of assets
US11902301B2 (en) * 2021-07-20 2024-02-13 Jpmorgan Chase Bank, N.A. System and method for implementing an auto detect, fix and deploy module

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163450A1 (en) * 2001-05-25 2003-08-28 Joram Borenstein Brokering semantics between web services
CA2404552C (en) * 2001-09-21 2008-12-09 Corel Corporation System and method for secure communication
US20040054969A1 (en) * 2002-09-16 2004-03-18 International Business Machines Corporation System and method for generating web services definitions for MFS-based IMS applications
US7797450B2 (en) * 2002-10-04 2010-09-14 Oracle International Corporation Techniques for managing interaction of web services and applications
GB0229890D0 (en) * 2002-12-21 2003-01-29 Ibm Client access to web services
US8005854B2 (en) * 2003-03-14 2011-08-23 Sybase, Inc. System with methodology for executing relational operations over relational data and data retrieved from SOAP operations

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169717B (zh) * 2006-10-26 2010-06-02 国际商业机器公司 生成和执行网络服务描述语言调用流程实现的方法和系统
CN101277180B (zh) * 2007-03-26 2013-01-02 赛门铁克公司 Web服务中介体
CN103944956A (zh) * 2014-03-10 2014-07-23 浙江大学 网络服务代理方法
CN103944956B (zh) * 2014-03-10 2017-06-20 浙江大学 网络服务代理方法

Also Published As

Publication number Publication date
TW200506679A (en) 2005-02-16
US20060195546A1 (en) 2006-08-31
GB0308522D0 (en) 2003-05-21
CN100474298C (zh) 2009-04-01
TWI308281B (en) 2009-04-01
WO2004090751A2 (en) 2004-10-21
KR20060010723A (ko) 2006-02-02
KR100887491B1 (ko) 2009-03-10
US7499967B2 (en) 2009-03-03
WO2004090751A3 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
CN100474298C (zh) 访问web服务
US7631101B2 (en) Systems and methods for direction of communication traffic
US7689430B2 (en) Access to web services
US5884246A (en) System and method for transparent translation of electronically transmitted messages
CN100563260C (zh) 客户机Web服务访问
EP1695518B1 (en) Method of redirecting client requests to web services
US20070011126A1 (en) Service-oriented architecture
US7986685B2 (en) Real-time XML messaging protocol
CN1511283A (zh) 用于连接不同对象类型的服务器和客户机的方法和网桥
KR20050048679A (ko) 웹 서비스 아키텍쳐의 서비스 순위 결정 방법 및 시스템
CN1631016A (zh) 用于基于内容交换的网络设备
JP2005216309A (ja) インスタントメッセージプロトコルを使用するプリント方法およびシステム
US20060136600A1 (en) A Method, System and Computer Program for Addressing a Web Service
Brambilla et al. Managing asynchronous web services interactions
US20040088352A1 (en) Business to business integration via the web
EP1227638B1 (en) High performance client-server communication system
JP2010009380A (ja) バスシステム
CN102546850A (zh) 支持IPv6的IPv4内容提供方法、装置及服务器
EP1715422A1 (en) System and method for converting a schema based synchronous service to a schema based asynchronous service
US7103671B2 (en) Proxy client-server communication system
US8843611B2 (en) Method for transmitting WS message to multiple receiving nodes and apparatus for processing WS message
Kim et al. Web e-speak: Facilitating web-based e-services
WO2004090750A2 (en) Access to web services
WO2000054191A1 (en) A multi-broker connectivity system, an online trading system utilizing the same, a multi-processing-system networking system, and the methods therefor
JP4959339B2 (ja) ウェブ・サービス・インターメディアリ用のポート・タイプ非依存型プロキシ・サポート

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: 20090401

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