CN1716251B - 用于访问web服务的方法和装置 - Google Patents

用于访问web服务的方法和装置 Download PDF

Info

Publication number
CN1716251B
CN1716251B CN2005100760373A CN200510076037A CN1716251B CN 1716251 B CN1716251 B CN 1716251B CN 2005100760373 A CN2005100760373 A CN 2005100760373A CN 200510076037 A CN200510076037 A CN 200510076037A CN 1716251 B CN1716251 B CN 1716251B
Authority
CN
China
Prior art keywords
web service
request
relevant information
information
binding
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.)
Expired - Fee Related
Application number
CN2005100760373A
Other languages
English (en)
Other versions
CN1716251A (zh
Inventor
马尼什·P·库尔赫卡尔
比普拉夫·斯里瓦斯塔瓦
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 CN1716251A publication Critical patent/CN1716251A/zh
Application granted granted Critical
Publication of CN1716251B publication Critical patent/CN1716251B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/75Indicating network or usage conditions on the user display

Abstract

公开了用于使与web服务有关的信息可由驻留在客户平台上的应用得到和/或使用这种信息调用web服务用于由驻留在客户平台上的应用使用的方法、装置和计算机程序。该信息优选从本地储存库中获得,或者经由国际互联网从远程储存库获得。该信息可以涉及先前由应用使用的web服务,诸如那些web服务的特定调用实例。该信息可以包含与web服务的特定调用实例有关的统计服务质量(QoS)信息。

Description

用于访问web服务的方法和装置
技术领域
本发明涉及通过软件应用对web服务的访问,并且尤其涉及对与web服务有关的信息的管理。
背景技术
Web服务是可以由应用经由网络访问的、用于子功能委托的可重用软件组件。通过在和web服务规范兼容的服务器上部署web服务可使那些Web服务用于联机访问。web服务规范一般包含描述以及接口和调用(绑定)信息,这些信息在web服务目录中公布。应用因此能够从web服务目录中搜索所关心的web服务,选择匹配特定条件的web服务接口,并且使用公布的绑定和连接信息调用web服务。
Web服务通常使用Web服务定义语言(WSDL)规范进行描述,该规范是基于XML的语言并且用于定义提供了正被传输数据的抽象定义的消息和由web服务提供用来传输这些消息的操作。定义了四种与服务的操作(端点)有关的通信:端点接收消息(单向),端点发送消息(通知),端点接收消息并且发送相关的消息(请求-响应),以及端点发送消息并且接收相关的消息(征求(solicit)-响应)。
操作被分组成端口类型,其描述了web服务的抽象端点,诸如在其下能够调用操作的逻辑地址。WSDL消息单元定义了操作的数据单元。XML Schema语法用来定义消息能够使用的和平台无关的数据类型。每条消息都能够由一个或多个部分组成。这些部分好比是在传统程序设计语言中的函数调用的参数。具体的协议绑定和物理地址端口规范组成web服务规范。
图1显示了一种用于访问web服务的方法。在步骤110处,应用发现与所需功能有关的一个或多个web服务。这个发现一般通过搜索web服务目录来执行。在步骤120处,基于某些选择条件选择在步骤110中发现的web服务的一个或多个子集。虽然选定的web服务的每个子集都可能能够为所需的功能服务,但是在这个阶段确切的细节(例如,工作流程)是未知的。在步骤130处,从在步骤120选定的web服务中构成或者生成候选的工作流程。候选工作流程指定在每个web服务子集中的web服务之间的数据和控制流。在步骤140处,组织(orchestrate)用于最有可能的工作流程的web服务。组织需要选择要在最有可能的工作流程中使用的web服务实例。web服务实例包含更通用web服务的具体实例。例如,“AmazonBookPurchaseService”和“Barnes&NobleBookPurchaseService”是通用web服务“OnlineBookPurchaseService”的实例。可以基于该工作流程的物理细节重新布置和优化控制和数据流。在步骤150处,选择绑定机制用于由应用进行访问。一般从诸如简单对象访问协议(SOAP)、简单邮件传输协议(SMTP)、本地Java访问等之类的各种编程(programmatic)机制中选择绑定机制。SOAP是用于在分布式环境中交换信息的、基于XML的协议。在步骤160处,如果有输入参数的话,用输入参数调用这个/这些web服务。
应用可以组合某些阶段(例如,发现、选择和组成)和/或硬编码某些动作。
Web服务调用框架(WSIF)提供了一种调用web服务而不用考虑与这样的web服务所处的位置有关的物理细节/绑定的机制。相反地,在执行时间、基于用户能指定的条件解决绑定。虽然WSIF提供了一种用于抽象化web服务的单次调用的装置,但是它没有提供一种用于为从一个应用对web服务的多次调用、或者为在一个客户平台上运行的多个应用对web服务的调用重新使用信息的机制。
通用的描述、发现和集成(UDDI)目录提供了一种在远程web服务登记处搜索web服务的机制。但是,UDDI目录没有提供一种用于为从单个应用对web服务的多次调用或者为在一个客户平台上运行的多个应用对web服务的调用重新使用信息的机制。
应用一般单独管理与web服务有关的信息。但是,当一个应用需要多个web服务共用的信息时,以及/或者当在同一个客户平台上运行的多个应用使用相同的web服务时,用于管理(housekeeping)和信息处理以选择和调用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服务排序;以及基于所述输入的搜索标准将所述排序的请求的web服务添加到排序的请求的web服务的列表。
根据本发明的第四方面,提供了对应于本发明第三方面的方法的装置。本发明的一个方面提供了一种用于使与web服务有关的信息可由客户平台上驻留的应用得到的方法。与web服务有关的信息经由国际互联网从一个远程储存库获得,而且该信息的至少一部分存储在驻留在客户平台上的本地储存库中,用于由应用进行访问。
本发明的另一个方面提供了一种用于调用web服务用于由驻留在客户平台上的应用使用的方法。从驻留在客户平台上的本地储存库中获得与该web服务有关的信息,并且使用该信息调用web服务。
如果不能从本地储存库得到该信息,则可选地可从远程储存库获得该信息。该信息的至少一部分然后可以存储在本地储存库中。
该信息可以涉及先前由应用使用的web服务,诸如那些web服务的特定调用实例。该信息可以包含与web服务的特定调用实例有关的统计服务质量(QoS)信息。
本发明的其它方面提供了用于执行上述方法的装置和计算机程序。
附图说明
在下文中参考附图、仅仅以示例的方式来描述实施例,其中:
图1是用于访问web服务的传统方法的流程图;
图2是一个系统的框图,该系统用于从驻留在客户平台上的应用访问web服务;
图3是一种方法的流程图,该方法用于从驻留在客户平台上的应用访问web服务;
图4是图3中的方法的另一个实施例的流程图;
图5是另一个系统的框图,该系统用于从驻留在客户平台上的应用访问web服务;
图6是另一种方法的流程图,该方法用于从驻留在客户平台上的应用访问web服务;
图7是图6中的方法的另一个实施例的流程图;
图8是一系列的屏幕截图,它们涉及一种用于在本地(客户端)登记处中存储与web服务有关的信息的方法;
图9是一系列的屏幕截图,它们涉及一种用于从本地(客户端)登记处中访问与web服务有关的信息的方法;
图10示出了一个系统的框图和一种方法的流程图,该系统和方法用于在/从本地(客户端)登记处中存储和访问与web服务有关的信息;以及
图11示出了一个计算机系统的框图,利用该计算机系统可以实现本发明的实施例。
具体实施方式
此处描述了用于管理与web服务有关的信息以便由运行在客户平台上的应用访问那些web服务的方法、装置和计算机程序。客户平台的示例包含但不局限于操作系统、计算机系统、和诸如局域网(LAN)、广域网(WAN)和无线网络之类的计算机网络。
图2示出了用于从客户平台上驻留的应用访问web服务的系统。软件程序应用210和220以及本地访问登记处230驻留在客户平台200上。web服务250和web服务登记处260位于远离客户平台200的位置,而且都可由应用210和220经由国际互联网(未显示)访问。
本地访问登记处230包含本地储存库,用于存储用于已知web服务的可重用的访问信息。储存库可以采取数据库、诸如由轻量极目录访问协议(LDAP)或者Java命名和目录接口(JNDI)使用的数据登记处之类的数据登记处、或者本地服务/应用的形式。在本地访问登记处230中的数据和/或条目可以被手动更新(即,由用户进行)或者经由管理应用240自动地更新,其中管理应用240一般但不是必须驻留在客户平台200上。自动更新可以周期性地执行或者响应特定事件执行。可以存储在本地访问登记处230中的典型信息包含但不局限于:
◆和发现相关的信息:
UDDI目录信息、目标条件、以及产生的web服务子集。
◆和选择相关的信息:
选择条件以及web服务的选定子集。
◆和组合相关的信息:
构成的候选工作流以及相应的排序。
◆和组织相关的信息:
组织选择以及相应的排序、实际的工作流程、服务质量(QoS)或者服务级协定(SLA)要求、以及运行时上下文/统计信息。
◆和绑定相关的信息:
Web服务描述语言(WSDL)信息、绑定选项和判定条件、以及上下文/统计信息。
◆和调用相关的信息:
代理/网络连通性、参数级别、以及统计/上下文信息。
图3示出了一种用于从客户平台上驻留的应用访问web服务的方法。
在步骤310处,应用程序在本地储存库中搜索与用于提供所需功能的一个或多个web服务有关的信息。在步骤320处确定是否可以从本地储存库中得到与一个或多个适合的web服务有关的信息。信息的可得到性可能是由同一应用或者由驻留在同一客户平台上的其它应用先前对web服务(一个或多个)的标识或者调用以提供相同或者相似的所需功能所导致的。如果信息是可得到的(Y),则应用在步骤340处使用该信息以调用适当的web服务(一个或多个)。如果信息是得不到的或者是失效的(N),则在步骤330处,进行请求的应用经由国际互联网从远程储存库获得该信息。步骤330可以包含图1所示的方法,借此进行请求的应用经由国际互联网(没有显示)访问诸如UDDI目录之类的web服务登记处,以获得与用于所需功能的web服务有关的信息。此后,应用程序可以在步骤340处调用该web服务(一个或多个)。
可以有各种机制用来确定信息是否是失效的。这种机制的示例包含但是不局限于:基于时间和/或其它事件(例如,从上次信息更新以来已经过去了2个星期)的策略,以及定期联系信息源以确定在本地和远程实例之间是否存在任何差异的嗅探器(sniffer)程序。
图4显示了图3中的方法的另一个实施例。在步骤410处,进行请求的应用在调用web服务之前首先参考在固定端口上的本地代理服务器。在步骤420处,代理服务器在本地登记处中搜索绑定条目或者发出UDDI搜索(一个或多个)。给定输入(搜索条件)的子集可以用来标识web服务的父集。作为选择,给定输入的父集可以用来标识特定的web服务。在步骤430处,代理服务器使用该搜索结果构造在步骤420标识的web服务的排序列表。如果合适的话,在步骤440处,和在排序列表上的一个或多个项目有关的绑定条目可以被添加到本地登记处中。在步骤450处调用该web服务。
在替换实施例中,能够在应用的运行时间或者在设计新应用时查询本地登记处。
绑定可以通过允许应用的分布式组件彼此定位的Java命名和目录接口(JNDI)、轻量级目录访问协议(LDAP)进行存储,或者存储在预先确定的文件中(根据图2中的步骤230)。由公开的应用编程接口(API)允许到那里的编程访问。图形用户界面(GUI)可以用来管理登记处条目和/或用于管理登记处条目生存期的规则。
图5示出了用于从驻留在客户平台上的应用访问web服务的系统的另一个实施例。软件程序应用510和220以及本地访问登记处530驻留在客户平台500上。web服务550和web服务登记处560位于远离客户平台500的位置。web服务登记处560可由应用510和520经由国际互联网(未显示)进行访问,而web服务550可由本地访问登记处530经由国际互联网(未显示)进行访问。在其他方面,图5中的系统实质上和图2中的系统相同。
图6示出了另一种用于从客户平台上驻留的应用访问web服务的方法。在步骤610处,应用在本地储存库中搜索与用于提供所需功能的一个或多个web服务有关的信息。在步骤620处确定是否可以从本地储存库中得到适当信息。信息的可得到性可能由为提供相同所需功能对web服务(一个或多个)的先前标识或者调用所导致。如果信息是可得到的(Y),则本地储存库在步骤640处继续调用该适当的web服务(一个或多个)。如果信息得不到或者是失效的(N),则在步骤630处,进行请求的应用经由国际互联网从远程储存库获得该信息。步骤630可以包含图1所示的方法,借此进行请求的应用经由国际互联网(没有显示)访问诸如UDDI目录之类的web服务登记处,以获得与用于所需功能的web服务有关的信息。此后,在步骤640处由本地储存库调用该web服务(一个或多个)。因为本地储存库不仅存储共用的访问信息,而且还调用web服务,所以本地储存库在步骤650处存储与调用有关的统计信息以及web服务实例。
Web服务一般部署在信息(例如,诸如URL和协议之类与绑定有关的WSDL内容)存在于本地登记处或者远程储存库中的位置处。一旦客户应用已经检索了这个信息,则应用可以使用网络库(例如,公开套接字)直接或者借助于代理服务器调用web服务。在没有任何与安全相关的访问限制的情况下,直接调用是可能的。
图7显示了图6中的方法的另一个实施例。在步骤710处,进行请求的应用在调用web服务之前首先参考在固定端口上的本地代理服务器。在步骤720处,响应于应用的请求,代理服务器确定是否可从本地储存库中得到用于web服务的适合绑定。适合绑定的确定可以基于计算的统计值、存储为登记处数据管理一部分的用户策略、以及调用结果中的任何一个或多个。如果没有适合的绑定可用(N),则在步骤730处,代理服务器在本地登记处中搜索绑定条目或者发出UDDI搜索(一个或多个)。给定输入的子集(搜索条件)可以用来标识web服务的父集。作为选择,给定输入的父集可以用来标识特定的web服务。在步骤740处,代理服务器使用从步骤730得到的搜索结果构造web服务的排序列表。如果合适的话,在步骤750处,和在排序列表上的一个或多个项目有关的绑定条目可以被添加到本地储存库中。在步骤760处调用web服务。如果在步骤720处确定可得到适当的绑定(Y),则在步骤760处调用该web服务。
绑定可以通过轻量级目录访问协议(LDAP)或者允许应用的分布式组件相互定位的Java命名和目录接口(JNDI)存储在文件中(根据图2中的步骤230),而且可用于使用公布的应用编程接口(API)进行访问。图形用户界面(GUI)可以用来管理绑定条目和/或用于管理绑定条目生存期的规则。
在替换实施例中,可以在应用的运行时间或者在设计新应用时查询本地储存库。
图8示出了用于在本地(客户端)登记处中存储与web服务有关的信息的方法的一系列屏幕截图。
如果与所需web服务有关的Web服务描述语言(WSDL)文件的位置是已知的,则发现、选择、组成、以及组织是不必要的。Web服务描述语言(WSDL)文档由应用810借助于用于该WSDL文档的通用资源定位符(URL)820或者借助于UDDI目录URL832和所需web服务的名称834进行访问。使用包含在WSDL文档850中的信息,选择用于调用该web服务的端口852和方法854,其分别对应于下文表格1中的soap:address和binding引用。可以指定将从中进行web服务调用的会话或者呼叫(page)862和将把web服务的结果交付给它的会话或者呼叫(page)864。最后,向该web服务访问信息分配登记处或者绑定名称866,其被存储在本地(客户端)登记处中用于以后使用。WS绑定名称866一般包含标识符或者助记标记,以允许由不同的应用对存储在本地登记处中的信息进行访问。
代理设置840可以包含要使用的代理服务器URL和端口号。作为选择,代理设置840可以包含以偏爱次序排序的要被使用的代理服务器列表,或者诸如socks服务器之类的复杂重定向软件工具。
在下文中的表格1包含WSDL文档示例,其用于表示联机地址薄的web服务。该web服务的功能是返回用于给定人员名称的地址。输入和输出消息分别命名为“AddressBookRequest”和“AddressBookResponse”,二者都是字符串类型(xsd:string)。<service>结构描述了该web服务,它包含必要的绑定(接口和协议)以及该web服务能够位于其中的URL地址。
表格1:用于联机地址薄web服务的WDSL文档。
图9示出了用于从本地(客户端)登记处中访问与web服务有关的信息的方法的一系列屏幕截图。
应用910借助于与特定web服务有关的绑定名称922访问存储在本地(客户端)登记处中的和那个web服务有关的信息。这样的信息包含,但不局限于,被使用用于web服务的调用的端口和方法。可以指定将从中进行web服务调用的会话或者呼叫932和将把web服务的结果交付给它的会话或者呼叫934。绑定名称922对应于先前存储的绑定名称,诸如在图8中的绑定名称866。WS绑定名称922和936一般包含标识符或者助记标记以允许由不同的应用对存储在本地登记处中的信息进行访问。应用将需要知道相关的标识符或者标记以访问在本地登记处中的特定信息。
图10示出了用于在/从本地(客户端)登记处中存储和访问与web服务有关的信息的另一个实施例。
应用1010向本地登记处1020提交和所需功能有关的信息1012,诸如目标、选择条件和/或运行时间参数。本地登记处1020调用(1022)web服务1030,其向应用1010返回结果1034。本地登记处1020存储web服务访问信息,这些信息包含诸如运行时间服务质量(QoS)相关信息之类的统计信息1032。因此,客户应用能够向本地登记处参看与由同一应用或者在同一客户平台上的另一个应用进行的先前web服务调用有关的信息。有利地是,在静态信息的情况下,这可以避免对某些配置步骤的需要和/或完全重用先前的结果。
计算机硬件和软件
图11是能够用于实践在此描述的方法的计算机系统1100的框图表示。具体地说,计算机系统1100可以用来实践在上文中描述的客户平台和代理服务器。提供计算机系统1100用于执行计算机软件,该软件被编程来帮助执行用于访问web服务和/或管理与web服务有关的信息的方法。计算机软件在安装在计算机系统1100上的、诸如MS Windows XPTM或者LinuxTM之类的操作系统下执行。
计算机软件涉及一组可以由计算机系统1100执行的编程逻辑指令,这些指令用于指示计算机系统1100执行由那些指令指定的预定功能。计算机软件可以以任何语言、代码或者符号表示或者记录,这些语言、代码或者符号包含一组指令,该指令用于直接或者在转换成另一种语言、代码或者符号之后使兼容的信息处理系统执行特定功能。
计算机软件程序包含以计算机语言编写的语句。计算机程序可以使用编译器处理成为适合于由操作系统执行的二进制格式。计算机程序以一种涉及各种软件组件、或者代码装置的方式进行编程,这些软件组件或者代码装置执行在上文中描述的方法的特定步骤。
计算机系统1100的组件包含:计算机1120、输入设备1110、1115和视频显示器1190。计算机1120包含处理单元1140、存储单元1150、输入/输出(I/O)接口1160、通信接口1165、视频接口1145、和存储单元1155。计算机1120可以包含超过一个的任何上述单元、接口、和设备。
处理单元1140可以包含一个或多个处理器,它们执行操作系统和在该操作系统下执行的计算机软件。存储单元1150可以包含随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器和/或用于在处理单元1140的指导下使用的任何其它类型的本领域已知的存储器。
视频接口1145连接到视频显示器1190,并且提供用于显示在视频显示器1190上的视频信号。经由输入设备1110和1115提供操作计算机1120的用户输入,这些输入设备分别包含键盘和鼠标。存储单元1155可以包含盘驱动器或者任何其它适合的非易失性存储介质。
计算机1120的每个组件都连接到包含数据、地址、和控制总线在内的总线1130,以允许这些组件经由总线1130相互通信。
计算机系统1100可以经由通信接口1165,使用连接到被表示为国际互联网的网络1180的通信信道1185,连接到一台或多台其它相似的计算机。
计算机软件程序可以作为计算机程序产品提供,并且记录在便携式存储介质上。在这种情况下,计算机软件程序可由计算机系统1100从存储设备1155中访问。作为选择,计算机软件可以由计算机1120从网络1180直接访问。不论是哪种情况,用户都可以使用键盘1110和鼠标1115与计算机系统1100进行交互以操作在计算机1120上执行的编程计算机软件。
已经为了说明的目的描述了计算机系统1100。因此,上述描述涉及一种适合于实践上述方法和计算机程序产品的特定类型计算机系统的示例。如本领域技术人员容易理解的那样,其它配置或者类型的计算机系统同样可以用于实践上述方法和计算机程序产品。例如,上述方法和计算机程序产品能够使用诸如局域网之类的计算机系统网络或者诸如个人数字助理(PDA)或者移动电话之类的手持计算机实践。
结论
在此描述了在客户端储存库中存储和web服务有关的信息的方法、装置和计算机程序产品。这有利地允许同一应用或者驻留在客户平台上的其它应用对web服务的重新使用,而且因此最小化对外部web服务目录的搜索和/或引用。存储的信息可以扩展到与替换web服务有关的信息,包含替换工作流程、排名、偏爱、策略等。因此,如果特定web服务变得不可用时,则可以使用客户端储存库标识替换的web服务。
此处描述的实施例可以提供一个或多个下列优点:
■允许程序员标识多个类似的web服务而不需要参考UDDI。
■简化包含web服务发现和选择在内的web服务访问信息的改变。
■简化应用的维护。
■简化应用设计。
■使动态绑定是可确定的。
■支持用于访问web服务的以个人为中心、以组为中心和以组织为中心的策略。
■支持在web服务上的高级查询,其对于执行诸如web服务的数量和类型之类的统计查询和标识忽略区域、流行主题、商业竞争等是有用的。
■可应用于中间件和终端用户应用。
上述详细说明仅仅提供了示例实施例,并不是用于限制本发明的范围、可应用性或者配置。相反,示例实施例的描述向本领域技术人员提供了允许用于实现本发明实施例的描述。可以在功能和单元布置中进行各种改变而没有背离如权利要求所阐述的本发明的精神和范围。

Claims (18)

1.一种用于使与web服务有关的访问信息可由驻留在客户平台上的本地应用在本地得到的方法,所述方法包含步骤:
存储与所述web服务有关的访问信息,包括与由驻留在所述客户平台上的本地访问登记处中的所述本地应用发出的先前web服务请求相关联的绑定相关信息;
随后由任何一个所述本地应用请求web服务;
如果与所述请求的web服务相关联的绑定相关信息存储在所述本地访问登记处中,则基于存储在所述本地访问登记处中的相关联的绑定相关信息调用所述请求的web服务;以及
如果与所述请求的web服务相关联的所述绑定相关信息没有存储在所述本地访问登记处中,则由所述本地应用中所述的一个从远程web服务登记处请求与所述请求的web服务相关联的所述绑定相关信息,以调用所述请求的web服务。
2.如权利要求1所述的方法,其特征在于:所述调用所述请求的web服务通过所述本地应用中所述的一个。
3.如权利要求1所述的方法,其特征在于:所述调用所述请求的web服务通过所述本地访问登记处。
4.如权利要求1所述的方法,其特征在于:所述与web服务有关的访问信息进一步包括与所述本地应用发出的先前web服务请求相关联的发现相关信息。
5.如权利要求4所述的方法,进一步包括将所述请求的web服务与存储在所述本地访问登记处中的所述发现相关信息相关联。
6.如权利要求1所述的方法,其特征在于:与所述请求的web服务相关联的所述绑定相关信息没有存储在所述本地访问登记处中是因为与所述请求的web服务相关联的绑定信息是过期的。
7.如权利要求1所述的方法,其特征在于:所述本地访问登记处还存储包括关于调用和web服务实例的统计信息的调用相关信息。
8.一种使与web服务有关的访问信息可由驻留在客户平台上的本地应用在本地得到的方法,所述方法包含步骤:
存储与所述web服务有关的访问信息,包括与由驻留在所述客户平台上的本地访问登记处中的所述本地应用发出的先前web服务请求相关联的绑定相关信息;
随后由任何一个所述本地应用通过本地代理服务器请求web服务;
由所述本地代理服务器搜索所述本地访问登记处以查找与所述请求的web服务相关联的绑定相关信息;
如果与所述请求的web服务相关联的绑定相关信息存储在所述本地访问登记处中,则基于存储在所述本地访问登记处中的相关联的绑定相关信息调用所述请求的web服务;
如果与所述请求的web服务相关联的所述绑定相关信息没有存储在所述本地访问登记处中,则通过所述本地代理服务器从远程web服务登记处请求与所述请求的web服务相关联的所述绑定相关信息,以调用所述请求的web服务;
由所述代理服务器基于一组web服务的输入的搜索标准给所述请求的web服务排序;以及
基于所述输入的搜索标准将所述排序的请求的web服务添加到排序的请求的web服务的列表。
9.如权利要求8所述的方法,其特征在于:所述调用所述请求的web服务通过所述本地应用中所述的一个。
10.如权利要求8所述的方法,进一步包括:将与所述请求的web服务相关联并从所述远程web服务登记处获得的所述绑定相关信息存储在所述本地访问登记处中。
11.一种用于使与web服务有关的访问信息可由驻留在客户平台上的本地应用在本地得到的装置,所述装置包含:
至少一个通信接口,用于发送和接收信息;
存储单元,用于存储将要由处理单元执行的指令;以及
连接到所述至少一个通信接口和所述存储单元的所述处理单元,所述处理单元包括:
用于随后由任何一个所述本地应用请求web服务的模块;
用于如果与所述请求的web服务相关联的绑定相关信息存储在所述本地访问登记处中,则基于存储在所述本地访问登记处中的相关联的绑定相关信息调用所述请求的web服务的模块;以及
用于如果与所述请求的web服务相关联的所述绑定相关信息没有存储在所述本地访问登记处中,则由所述本地应用中所述的一个从远程web服务登记处请求与所述请求的web服务相关联的所述绑定相关信息,以调用所述请求的web服务的模块。
12.如权利要求11所述的装置,其特征在于:对于如果与所述请求的web服务相关联的绑定相关信息存储在所述本地访问登记处中,则基于存储在所述本地访问登记处中的相关联的绑定相关信息调用所述请求的web服务的模块,所述调用所述请求的web服务通过所述本地应用中所述的一个。
13.如权利要求11所述的装置,其特征在于:对于如果与所述请求的web服务相关联的所述绑定相关信息没有存储在所述本地访问登记处中,则由所述本地应用中所述的一个从远程web服务登记处请求与所述请求的web服务相关联的所述绑定相关信息,以调用所述请求的web服务的模块,所述调用所述请求的web服务通过所述本地访问登记处。
14.如权利要求11所述的装置,其特征在于:所述处理单元进一步包括用于存储与所述web服务有关的访问信息的模块,其中所述与web服务有关的访问信息进一步包括与所述本地应用发出的先前web服务请求相关联的发现相关信息。
15.如权利要求14所述的装置,所述处理单元进一步包括用于将所述请求的web服务与存储在所述本地访问登记处中的所述发现相关信息相关联的模块。
16.如权利要求11所述的装置,其中与所述请求的web服务相关联的所述绑定相关信息没有存储在所述本地访问登记处中是因为与所述请求的web服务相关联的绑定信息是过期的。
17.如权利要求11所述的装置,其中所述本地访问登记处还存储包括关于调用和web服务实例的统计信息的调用相关信息。
18.一种用于调用web服务以由驻留在客户平台上的应用使用的装置,所述装置包含:
至少一个通信接口,用于发送和接收信息;
存储单元,用于存储将要由处理单元执行的指令;以及
连接到所述至少一个通信接口和所述存储单元的所述处理单元,所述处理单元包括:
用于随后由任何一个所述本地应用通过本地代理服务器请求web服务的模块;
用于由所述本地代理服务器搜索所述本地访问登记处以查找与所述请求的web服务相关联的绑定相关信息的模块;
用于如果与所述请求的web服务相关联的绑定相关信息存储在所述本地访问登记处中,则基于存储在所述本地访问登记处中的相关联的绑定相关信息调用所述请求的web服务的模块;
用于如果与所述请求的web服务相关联的所述绑定相关信息没有存储在所述本地访问登记处中,则通过所述本地代理服务器从远程web服务登记处请求与所述请求的web服务相关联的所述绑定相关信息,以调用所述请求的web服务的模块;
用于由所述代理服务器基于一组web服务的输入的搜索标准给所述请求的web服务排序的模块;以及
用于基于所述输入的搜索标准将所述排序的请求的web服务添加到排序的请求的web服务的列表的模块。
CN2005100760373A 2004-06-07 2005-06-03 用于访问web服务的方法和装置 Expired - Fee Related CN1716251B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/862,221 US7676472B2 (en) 2004-06-07 2004-06-07 Method and apparatus for accessing web services
US10/862,221 2004-06-07

Publications (2)

Publication Number Publication Date
CN1716251A CN1716251A (zh) 2006-01-04
CN1716251B true CN1716251B (zh) 2010-04-07

Family

ID=35515247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100760373A Expired - Fee Related CN1716251B (zh) 2004-06-07 2005-06-03 用于访问web服务的方法和装置

Country Status (2)

Country Link
US (1) US7676472B2 (zh)
CN (1) CN1716251B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783212B2 (en) 2016-09-19 2020-09-22 Alibaba Group Holding Limited Method and apparatus for realizing communication between web page and native application, and electronic device

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217044A1 (en) 2002-05-15 2003-11-20 International Business Machines Corporation Method and apparatus of automatic method signature adaptation for dynamic web service invocation
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US8868779B2 (en) * 2004-06-15 2014-10-21 Accenture Global Services Limited Method and apparatus to accomplish peer-to-peer application data routing between service consumers and service providers within a service oriented architecture
JP4681968B2 (ja) * 2004-08-06 2011-05-11 株式会社リコー サービス要求装置、サービス要求方法、サービス要求プログラム、及び記録媒体
US8312132B2 (en) * 2004-08-20 2012-11-13 Core Wireless Licensing S.A.R.L. Context data in UPNP service information
FR2879385A1 (fr) * 2004-12-09 2006-06-16 Thomson Licensing Sa Methode d'agregation de decouverte de service dans un reseau local et appareil implementant la methode
US20060265489A1 (en) * 2005-02-01 2006-11-23 Moore James F Disaster management using an enhanced syndication platform
US8200700B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US20080046471A1 (en) * 2005-02-01 2008-02-21 Moore James F Calendar Synchronization using Syndicated Data
US20080195483A1 (en) * 2005-02-01 2008-08-14 Moore James F Widget management systems and advertising systems related thereto
US8140482B2 (en) 2007-09-19 2012-03-20 Moore James F Using RSS archives
US9202084B2 (en) 2006-02-01 2015-12-01 Newsilike Media Group, Inc. Security facility for maintaining health care data pools
US8700738B2 (en) * 2005-02-01 2014-04-15 Newsilike Media Group, Inc. Dynamic feed generation
US20070106754A1 (en) * 2005-09-10 2007-05-10 Moore James F Security facility for maintaining health care data pools
US20070050446A1 (en) * 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
CN1870562A (zh) * 2005-05-23 2006-11-29 国际商业机器公司 动态Web服务调用方法、系统以及Web服务代理
US20070156868A1 (en) * 2005-12-29 2007-07-05 Ido Keren Efficient dynamic discovery of web services
US7962470B2 (en) * 2006-06-01 2011-06-14 Sap Ag System and method for searching web services
US20080046369A1 (en) * 2006-07-27 2008-02-21 Wood Charles B Password Management for RSS Interfaces
US20080195630A1 (en) * 2007-02-13 2008-08-14 Amadeus S.A.S. Web service interrogation method and apparatus
US7945949B2 (en) * 2007-03-19 2011-05-17 Microsoft Corporation Providing remote services to legacy applications
US9098799B2 (en) 2007-03-29 2015-08-04 International Business Machines Corporation Tooling for implementing business processes using web services
US7596583B2 (en) * 2007-03-29 2009-09-29 International Business Machines Corporation Dynamic learning in redesigning a composition of web services
US20080244514A1 (en) * 2007-03-29 2008-10-02 Microsoft Corporation Scriptable object model for network based services
KR100900989B1 (ko) * 2007-10-09 2009-06-04 오토스테크 주식회사 용접 마스크용 공기 공급장치
US8452789B2 (en) * 2007-10-15 2013-05-28 International Business Machines Corporation Searching a database
US7904561B2 (en) * 2008-05-15 2011-03-08 International Business Machines Corporation Brokering mobile web services
US7996394B2 (en) * 2008-07-17 2011-08-09 International Business Machines Corporation System and method for performing advanced search in service registry system
US7966320B2 (en) * 2008-07-18 2011-06-21 International Business Machines Corporation System and method for improving non-exact matching search in service registry system with custom dictionary
US8635331B2 (en) * 2009-08-05 2014-01-21 Microsoft Corporation Distributed workflow framework
EP2497282A4 (en) * 2009-11-06 2014-11-26 Blackberry Ltd DEVICE, SYSTEM AND METHOD FOR SELECTION, COMMON USE AND DISPLAY OF ELECTRONIC CONTENT
US8156140B2 (en) * 2009-11-24 2012-04-10 International Business Machines Corporation Service oriented architecture enterprise service bus with advanced virtualization
US9960971B1 (en) * 2010-08-04 2018-05-01 Open Invention Network Llc Web service selector component
US8776219B2 (en) * 2010-08-27 2014-07-08 Microsoft Corporation Application selection using current detection intelligence
US8352491B2 (en) 2010-11-12 2013-01-08 International Business Machines Corporation Service oriented architecture (SOA) service registry system with enhanced search capability
US8560566B2 (en) 2010-11-12 2013-10-15 International Business Machines Corporation Search capability enhancement in service oriented architecture (SOA) service registry system
US8701128B2 (en) 2011-02-14 2014-04-15 General Electric Company Method, system and computer program product for a client application programming interface (API) in a service oriented architecture
US8478753B2 (en) 2011-03-03 2013-07-02 International Business Machines Corporation Prioritizing search for non-exact matching service description in service oriented architecture (SOA) service registry system with advanced search capability
US9519506B2 (en) * 2012-06-29 2016-12-13 Nokia Technologies Oy Method and apparatus for enabling remote service task based access to functionality provided by one or more remote services
WO2014043864A1 (zh) * 2012-09-19 2014-03-27 华为技术有限公司 应用调用的方法及操作系统、浏览器
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
CN105119927A (zh) * 2015-09-07 2015-12-02 北京百度网讯科技有限公司 消息发送、接收方法及终端和消息发送系统
US11409576B2 (en) * 2017-12-29 2022-08-09 Entefy Inc. Dynamic distribution of a workload processing pipeline on a computing infrastructure
CN108897766A (zh) * 2018-05-24 2018-11-27 沈阳东软医疗系统有限公司 一种互联网服务的查询方法及相关装置
US11455571B2 (en) 2019-06-14 2022-09-27 Bank Of America Corporation Data structure tool
US10831566B1 (en) 2019-08-16 2020-11-10 Bank Of America Corporation Electronic system for intelligent processing and routing of incoming API requests based on context matching

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016892B1 (en) * 2000-11-17 2006-03-21 Cnet Networks, Inc. Apparatus and method for delivering information over a network
US7194482B2 (en) * 2002-09-26 2007-03-20 International Business Machines Corporation Web services data aggregation system and method
US20050060295A1 (en) * 2003-09-12 2005-03-17 Sensory Networks, Inc. Statistical classification of high-speed network data through content inspection
US20050091184A1 (en) * 2003-10-24 2005-04-28 Praveen Seshadri Personalized folders
US20050240558A1 (en) * 2004-04-13 2005-10-27 Reynaldo Gil Virtual server operating on one or more client devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783212B2 (en) 2016-09-19 2020-09-22 Alibaba Group Holding Limited Method and apparatus for realizing communication between web page and native application, and electronic device

Also Published As

Publication number Publication date
US7676472B2 (en) 2010-03-09
CN1716251A (zh) 2006-01-04
US20060004764A1 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
CN1716251B (zh) 用于访问web服务的方法和装置
CN101416178B (zh) 管理丰富的在场集合
US8065657B2 (en) Exchange infrastructure system and method
US7747724B2 (en) System and method of device-to-server registration
US8122130B2 (en) Access control system and method for wireless application provisioning
CN101416208A (zh) 管理丰富的在场集合
CN103843308A (zh) 跨越多个计算设备分布的应用的执行
CN100591056C (zh) 用于处理消息的方法和系统
US7228537B2 (en) System and method for configuring an application
WO2006019282A1 (en) Interface architecture of subscriber information management, billing, prepaid system for mobile network system, and prepaid method using the interface architecture
CN1333342C (zh) 交换基础设施系统和方法
US20030120753A1 (en) Methods and systems for generating interactive information formatted for a device
Hackmann et al. Extending BPEL for interoperable pervasive computing
CN101159621B (zh) 移动式和嵌入式设备的配置和管理系统
Filippone et al. Synthesis of context‐aware business‐to‐business processes for location‐based services through choreographies
CN101521592B (zh) 一种建立打印机snmp代理的方法及装置
KR100445916B1 (ko) 워크플로우 기법을 이용한 업무 프로세스 처리 방법
KR20030047528A (ko) Crm 데이터 관리 방법, crm 서버 및 기록매체
CN1510586A (zh) 一种客户端操作环境的管理方法及系统
CA2606036C (en) Access control system and method for wireless application provisioning
KR20050093561A (ko) 무선 인터넷을 통한 복합 서비스 제공 시스템
Mukhija et al. Dino: Dynamic and adaptive composition of autonomous services
Feng et al. A self-configuring personal agent platform for pervasive computing
Eikerling et al. A methodology for the Design, Development and Validation of Adaptive and Context-aware Mobile Services
JP5280402B2 (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100407

Termination date: 20120603