CN100359848C - 处理针对多个Web服务的请求的方法、服务器及系统 - Google Patents

处理针对多个Web服务的请求的方法、服务器及系统 Download PDF

Info

Publication number
CN100359848C
CN100359848C CNB2004100782626A CN200410078262A CN100359848C CN 100359848 C CN100359848 C CN 100359848C CN B2004100782626 A CNB2004100782626 A CN B2004100782626A CN 200410078262 A CN200410078262 A CN 200410078262A CN 100359848 C CN100359848 C CN 100359848C
Authority
CN
China
Prior art keywords
daemon
web service
schema object
request
rule
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
CNB2004100782626A
Other languages
English (en)
Other versions
CN1617499A (zh
Inventor
A·A·布-甘纳姆
T·E·克里默
V·S·莫尔
S·L·温特斯
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.)
Google LLC
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 CN1617499A publication Critical patent/CN1617499A/zh
Application granted granted Critical
Publication of CN100359848C publication Critical patent/CN100359848C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/506Constraint
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种处理针对多个Web服务的一请求的方法,可包括接收指定至少两个Web服务的一请求,将从所述请求中得到的模式对象存储在一个公共存储器中,并由多个守护器扫描所述公共存储器。每个守护器可与一Web服务相关联,并指定用于调用一相关联的Web服务的规则。本方法也可包括检测模式对象匹配于所述守护器中的至少两个守护器的规则,其中具有匹配于该模式对象的规则的每个守护器调用一相关联的Web服务。

Description

处理针对多个Web服务的请求的方法、服务器及系统
技术领域
本发明涉及Web服务领域,更具体地说涉及到通过基于模式的方法来调用Web服务。
背景技术
Web服务(又称为应用服务)是Web服务器向Web用户或其它与Web连接的应用提供的服务。Web服务的提供者一般称为应用服务提供者。Web服务的范围,可以从存储管理、客户关系管理等主要服务,到更加受限的如提供股票报价、查看对拍卖物品的竞价等服务。Web服务的其它例子还包括但不限于,响应提供的姓名而提供电话号码的服务和为提供的姓名返回一或多个电子邮件地址的服务。
Web服务一般基于请求-响应模式,并遵循客户机/服务器模型。即,客户的请求被发送到一服务器以执行。典型的,发给服务器的请求的格式遵循远程过程调用(Remote Procedure Call,RPC)协议。一般来说,RPC使得一个应用(客户机)向另一个应用(服务器)请求一个服务。在网络中,RPC允许运行在一计算机系统中的客户机向运行在一不同的计算机系统中的服务器发出请求。当使用RPC来向服务器应用发出请求时,客户机应用不需要知道网络的运行细节。
也可以使用简单对象访问协议(Simple Object Access Protocol,SOAP)发送请求。换言之,向服务器发送包含RPC信息的SOAP消息。然后服务器可处理接收到的请求,并向客户机发出一个响应。SOAP是一种协议,通过采用超文本传输协议(HTTP)和扩展标记语言(XML)作为信息交换机制,它可以使得运行在一种类型操作系统中的程序与运行在相同或不同类型的操作系统以及计算机系统中的程序进行通信。SOAP规定对HTTP头和XML文件如何编码,以便一计算机中的程序能够调用另一计算机中的程序,并能传递信息。
目前,Web服务范例规定了一个请求对应于单个Web服务的过程。更具体地说,每个请求启动单个Web服务,因而每个请求涉及一个特定的服务提供者。这样,为了完成涉及多于一个的Web服务的较复杂的动作,客户机必须发出一系列请求,而每个请求被发送给不同的Web服务。也就是说,动作的每个组成任务必须以一个请求的形式提交给适当的Web服务。
如果组成动作的任务在性质上是层次结构的,以致一个Web服务需要从另一个Web服务处获取信息以便运行,则这些请求必须以适当的顺序发送给每个Web服务。在这种情况下,客户机必须从给定Web服务接收一个响应,以便可使用所检索到的信息构建要提交给在构成要完成的动作的Web服务层次结构中的下一个Web服务的请求。
发明内容
本发明提供了一种处理针对Web服务的复杂请求的方法、系统和装置。本发明能接收复杂的请求或指定要完成多于一个的Web服务的请求。所接收的请求指定的每个Web服务可以被并行地调用,也可以被顺序地调用。一旦请求指定的每个Web服务已完成执行,或者满足了另一个终止条件,便能产生一个响应,并发送该响应给发出请求的实体。
本发明的一个方面包括处理针对一或多个Web服务的请求的方法。该方法可包括接收一指定至少两个Web服务的请求,将来自该请求的模式对象存储在公共存储器中,并以两个或多个守护器(watcher)扫描该公共存储器。每个守护器可与一Web服务相关联,并可指定用于调用一相关联的Web服务的规则。本方法还可包括检测模式对象匹配于至少两个守护器的规则。因此,具有匹配于该模式对象的规则的每个守护器可调用一相关联的Web服务。
本方法还可包括在所述存储模式对象的步骤之前从请求中提取模式对象。在本发明的一个实施例中,每个守护器能并行地对该公共存储器进行扫描,使得能够并发地调用多于一个的Web服务。在另一个实施例中,所述检测步骤中的两个或更多守护器能顺序地调用一相关联的Web服务。在任何情况下,本方法可包括至少一个守护器按照从一相关联的Web服务中接收到的指令修改模式对象。
在本发明的另一个实施例中,至少一个被调用的Web服务可指示一相关联的守护器修改模式对象。在这种情况下,该相关联的守护器能按照来自于该相关联Web服务的指令修改模式对象。一个不同的守护器可以确定所修改的模式对象匹配于该不同的守护器的至少一个规则。因此,该不同的守护器可以调用与该不同的守护器对应的Web服务。
守护器可以继续调用Web服务,直到一个终止守护器检测到终止条件,并将模式对象从公共存储器清除为止。因此,可以对请求发送一个响应。该响应可至少部分地指明模式对象。
本发明的另一个方面可包括一个用于处理针对Web服务的复杂请求的服务器。该服务器可包括被配置成接收针对多于一个的Web服务的一请求的HTTP服务器,被配置成从该请求中提取模式对象并编排对该请求的响应的格式的至少一个小服务程序(servlet),当模式对象指定的Web服务执行时暂时存储该模式对象的公共存储器,以及多个守护器。每个守护器可对应一个特定的Web服务,并包含用于调用相关联的Web服务的规则。因此,每个守护器可以并行地扫描该公共存储器,以确定所存储的模式对象是否匹配于用于调用一相关联的Web服务的规则。系统也可以包含一个被配置为检测终止条件的终止守护器。该终止守护器可在检测到终止条件时,将该模式对象提供回至多个小服务程序的其中之一以产生一个响应。
守护器可以并行地扫描公共存储器,使得多于一个的Web服务可以并发地执行。此外,守护器仍然能以顺序的方式调用多于一个的Web服务。守护器也可以按照从一相关联的Web服务提供的指令来修改模式对象。值得注意的是,被调用的Web服务可指示一相关联的守护器修改模式对象,使得一不同的守护器可以确定所修改的模式对象匹配于一规则,并调用与该不同的守护器对应的Web服务。
本发明的其它实施例,当按照这里公开的发明安排进行配置时,可包含一种用于执行这里公开的各种处理的系统,以及一个用于使得一机器执行这里公开的各种处理的机器可读的存储装置。
附图说明
附图描述了目前优选的几个实施例,但应当明白,本发明并不限于所示的精确安排和手段。
图1是一个示意图,描述了用于按照这里公开的发明安排的一个方面调用基于模式的Web服务的系统。
图2是一个示意图,描述了用于按照这里公开的发明安排调用基于模式的Web服务的系统的另一个方面。
图3是一个流程图,描述了根据本发明的另一个方面处理针对Web服务的复杂请求的方法。
具体实施方式
图1示意性地说明了用于根据这里公开的发明安排的一个方面调用基于模式的Web服务的系统100。如图所示,系统100可包括一个核心服务器105和几个Web服务110、115、120。
核心服务器105可以实现为一个计算机系统或其它的信息处理系统,包括但不限于通用计算机系统和/或服务器计算机系统。核心服务器105可以包括一个超文本传输协议(HTTP)服务器应用125(以下称为HTTP服务器)、一或多个小服务程序的集合130、一个公共存储空间135和一或多个守护器140、145、150。也可包含一个终止守护器155。
HTTP服务器125可接收请求160,并可发送对接收到的请求的响应。例如,HTTP服务器125能接收按照简单对象协议(SOAP)进行格式编排的请求,并对这种请求解码。更进一步,响应也可以被编排格式为SOAP响应。小服务程序130可被配置成从接收到的请求中提取一模式对象。该模式对象可以指定名字、字符串、数字序列、规则、另一对象、或是可由一对象保持的任何其它结构。小服务程序130可以从接收到的请求中提取模式对象,并将这些模式对象存放在工作区135中。小服务程序130进一步可供给终止守护器155以监视模式对象。当各Web服务110-120完成了关于模式对象的处理后,无论该模式对象被修改过,还是还保持在与起初从请求160中提取时一样的状态中,小服务程序130都接收该模式对象,然后构成一个将发给请求者的响应。
工作区135是一个公共存储空间或存储器的一部分,它可用于存储从接收到的请求160中提取出的模式对象。每个守护器140、145和150、终止守护器155以及小服务程序130都可以访问该工作区。守护器140、145、150是可监视或扫描工作区135的软件对象。如图所示,每个守护器与一个特定的Web服务相关联。每个守护器可更进一步包含一或多个规则,这些规则用于确定何时调用其相关联的Web服务。守护器140-150监视被置于工作区135中的(多个)模式对象。如果一个模式对象匹配于守护器140-150的其中之一指定的一规则,则该守护器便调用其相关联的Web服务。虽然图中只描述了三个守护器和对应的Web服务,但应理解,核心服务器105可以包含更多和更少的守护器,这取决于已注册到该核心服务器105上的Web服务的数量。
象其它的守护器140-150一样,为了符合或匹配于该终止守护器155中的一或多个规则的模式对象,终止守护器155也监视工作区135。当模式对象被提取出来并存放到工作区135中时,小服务程序130的其中之一供给终止守护器155。当终止守护器155检测到一模式对象符合它的一或多个规则时,该终止守护器155便将该模式对象从工作区135中清除,并将该模式对象返回给起初从接收到的请求中提取出该模式对象的小服务程序130。
在终止守护器155可监视与存储在其中的规则相匹配的特定格式的模式对象的同时,终止守护器155也可以在一个检测到的错误,无论是超时条件或其它错误后,通过将模式对象从工作区中去除而终止一或多个Web服务。超时条件,例如模式对象在工作区135中存放的时间超过预定时间值,但该模式对象并不符合终止守护器中的规则,可表明一或多个Web服务没有正确地执行或发生了某些其它错误条件。
每个Web服务140-150可以完成一个特定的任务,如查找一个用于确定电话号码的统一资源定位器(URL)的位置,当已提供名字时确定电子邮件地址,当已提供名字或电子邮件地址时确定电话号码等。本领域的技术人员将理解的是,Web服务可以执行任意的各种不同的处理任务。因此,应该理解的是,这里公开的Web服务的例子无意限制可由Web服务执行的功能或任务的范围。
在运行过程中,HTTP服务器125可接收一个请求160。HTTP服务器125可将接收到的该请求160发送到可用的小服务程序130以用于进一步处理。例如,该请求160可以指定一个特定的小服务程序130,如根据与所请求的Web服务相应的Web服务描述语言(WSDL)文件所确定的。收到该请求的小服务程序130可将模式对象从请求160中提取或解析出来。然后小服务程序130可将该模式对象存放到公共存储器135中。
为了一模式对象,守护器140-150中的每一个可以不断地监视工作区135。当检测到(多个)模式对象时,守护器140-150检查(多个)模式对象以确定模式对象是否与守护器140-150中包含的一或多个规则匹配。如果守护器确定模式对象与其规则之一匹配,则该守护器能够调用已与该守护器相关联的Web服务。
虽然守护器140-150能够以顺序的方式调用Web服务,但在本发明的另一个实施例中,守护器140-150也能够以并行的方式监视工作区135中的模式对象,并且彼此并发地运行。因此,Web服务110-120也能够以并行的方式被调用。Web服务110-120可以继续地运行直到终止守护器155检测到一个终止条件为止。例如,检测到终止条件可以包括但不限于,确定出包含在终止守护器155中的一或多个规则匹配于模式对象,或检测到一个错误,例如超时。这时,终止守护器155将该模式对象返回给曾从请求160中提取出该模式对象的小服务程序130。然后,小服务程序130构成一个响应,该响应通过HTTP服务器125被发送给请求方。
图2示意性地描述了一种根据这里公开的发明安排的用于调用基于模式的Web服务的系统200的另一个方面。如图所示,系统200说明了守护器210、215和220、终止守护器240、Web服务225、230和235、以及模式对象205之间的交互。
模式对象205,如参照图1描述的那样,由小服务程序从接收到的请求中提取出来并且被存储在工作区中。模式对象指定一或多个必须完成以执行一较复杂动作的任务。这样,举例来说,模式对象205涉及一电话服务。该模式对象指定一个“拨号”动作,并提供姓名“Tom Henry”。然而,在模式对象205中没有指定服务提供者和电话号码。因此,为了执行拨号动作,必须完成一或多个额外任务,这些任务中的每个都由一个特定的Web服务来完成。
在本例中,Web服务225可返回能够拨电话号码的另一个Web服务的URL。Web服务230可根据提供的名字返回一个电话号码。Web服务235可以拨电话号码。当每个Web服务225-235注册到核心服务器后,便为每个Web服务器分配一守护器。根据注册,每个Web服务在与该Web服务相关联的守护器中供给规则。
例如,当Web服务225被注册到核心服务器时,其可在所分配的守护器210中供给一规则,该规则规定,如果一模式对象的服务提供者属性为空,则守护器210将调用Web服务225。如图所示,Web服务225为模式对象205的服务提供者属性确定出一个URL并将该URL提供给守护器210。然后,通过将该URL写入尚在工作区中的模式对象205以便其服务提供者属性指定由Web服务225确定的URL,守护器210能够修改模式对象205。
当Web服务230被注册到核心服务器时,可分配守护器215。Web服务230可在该守护器215中供给一规则,该规则规定,如果模式对象205的电话号码属性为空,并且可得到一姓名,则调用Web服务230。因此,如图所示,守护器215调用Web服务230。守护器215可向Web服务230提供一姓名以便检索出电话号码。Web服务230将电话号码提供给守护器215,后者便把该号码写入模式对象205,致使其电话号码属性指定由Web服务230提供的电话号码。
当Web服务235被注册到核心服务器时,可将守护器220与Web服务235相关联。这时,Web服务235可在守护器220中供给一规则,该规则规定,不执行动作直到模式对象205的所有属性均具备为止。这时,守护器220可调用Web服务235。这样,守护器220可向Web服务235提供电话号码和可能需要的任何其它属性,以便Web服务235可拨号所提供的号码。
从以上例子中,应当理解可并行地应用在守护器210-220中供给的规则。这样,为了与每个守护器的规则匹配的一或多个模式对象,每个守护器可监视工作区域。检测到匹配的每个守护器可调用其相关联的Web服务。例如,Web服务225和Web服务230可以并行地运行。当拨完电话号码后,守护器220可以终止,或者也可以在终止运行前添加一个标识符或其它标记来修改模式对象205。也监视着模式对象205以确定模式对象205何时匹配存储在其中的所供给的规则的终止守护器240,可确定该模式对象205现在符合这样的规则。因此,终止守护器240可将模式对象205从工作区中删除,并将模式对象205返回给小服务程序130。
在本发明的一个实施例中,终止守护器240也可以通过一指示来修改模式对象205,该指示表示或者Web服务已正确地执行或者发生了错误。在另一个实施例中,终止守护器240可以简单将模式对象205返回给小服务程序,并提供单独的关于或者Web服务已正确地执行或者发生了错误的通知。
图3是一个流程图,它描述了根据本发明的另一个方面的处理关于Web服务的复杂请求的方法300。此方法从其中一或多个Web服务已注册到核心服务器的状态开始。因此,每个Web服务可与一个守护器相关联。也就是说,能够为每个注册到核心服务器的Web服务例示一个守护器。每个Web服务进一步可以在如每个Web服务中所指定的每个相关联的守护器中供给一或多个规则。
在步骤305中,设置在核心服务器中的HTTP服务器接收到一个请求,例如SOAP请求。在步骤310,该HTTP服务器可选择一个可用的小服务程序,并将该请求转发给所选择的小服务程序。在步骤315中,小服务程序可接收并处理该请求。具体来说,该小服务程序可从接收到的请求中提取出模式对象并将模式对象存储在工作区中。如已经指出的,该模式对象能够指定一或多个要调用的服务,这样就能够通过单个请求启动多于一个的Web服务。
在步骤320中,小服务程序可以在终止守护器中供给一或多个规则。应当理解,请求或模式对象本身可指定关于终止守护器的被供给和应用的终止规则。因此,如果这样配置的话,每个请求便可以提供一或多个不同的终止规则,这些规则指定了用于检测由模式对象指定的Web服务组合的执行的完成的不同条件,以及也可随由模式对象指定的Web服务组合变化的不同错误。
在步骤325中,一旦向终止守护器供给了规则并将模式对象放入到了工作区中,这些守护器便可开始分析该模式对象。如已经指出的,守护器可以并行地监视该模式对象,并且当确定该模式对象匹配于一或多个守护器中的规则时,便适当调用Web服务。因此,Web服务可以根据守护器的调用,顺序地、并发地、或既顺序又并发地运行。守护器也可以根据与每个守护器相关联的Web服务修改模式对象。因此,每次当工作区中的模式对象改变时,每个守护器便扫描工作区。
因此,例如,在第一个守护器响应于与该第一个守护器相关联的Web服务的执行而修改了模式对象后,第二个守护器可以确定该模式对象匹配于存储在其中的规则。应当理解,因为每个守护器可并行地监视模式对象并对它进行修改,所以当模式对象继续地被守护器修改时,就能够调用一系列的Web服务以便并发地、顺序地或既并发又顺序地执行。
在步骤330中,终止守护器可以检测出一终止条件。具体来说,终止守护器可以确定模式对象匹配一终止规则,或确定发生了错误。在以上任一情况下,该终止守护器可将模式对象从工作区中清除掉,无论该模式对象已被修改过还是处于如起初被置于工作区中时的相同状态下。在步骤335中,终止守护器将该模式对象提供给曾将该模式对象提取出的相同的小服务程序。如已经指出的,终止守护器可通过指出Web服务已成功地执行或者已发生错误而将Web服务执行的状态通知给该小服务程序。这种信息可以包含在发送给小服务程序的一消息中,或包含在模式对象本身中。
在步骤340中,小服务程序可构建将发给请求方的响应。该响应可包含模式对象,无论是以其起初的形式还是以其修改的形式。响应也可以指明Web服务是成功执行还是发生了错误,例如发生超时或其它运行错误。通过将该信息或者包含在响应本身的某部分中、或者如上所述包含在模式对象中,从而能够将该信息包括在响应中。
本发明提供了一种用于响应单个复杂请求而执行多个Web服务的解决方案。根据这里公开的实施例,不是接收多个请求,其中每个请求触发作为一个较大动作一部分的单个Web服务的执行,而是响应于检测到一个模式对象而调用多个Web服务,该模式对象匹配或符合与每个Web服务对应的守护器对象中的一或多个规则。这样,先前需要发出关于Web服务的多个单独请求的动作可以响应于单个请求被执行。这里公开的发明安排进一步加快了提供Web服务的方式,因为能以更流线式和自动化的方式调用Web服务。
本发明可以通过硬件、软件、或软硬件结合的方式来实现。本发明既可在一个计算机系统中以集中的方式实现,也能够以分布的方式(其中不同部件分布在多个互连的计算机系统中)来实现。任何类型的计算机系统或其它适于执行这里描述的方法的装置都是合适的。典型的软硬件结合可以是具有一个计算机程序的通用计算机系统,该计算机程序当被装载并执行时,控制该计算机系统以使得它执行这里描述的方法。
本发明也可以嵌入一计算机程序产品中,该程序产品包含使这里描述的方法能够实现的所有特征,并且当被装载到一个计算机系统中后能够执行这些方法。本上下文中的计算机程序意指以任何语言、代码、或符号表示的一组指令的任意表达,该组指令意在使得具有信息处理能力的系统或者直接地或者在以下任一项或二项之后执行特定的功能:a)转换成另外一种语言、代码、或符号;b)再现在一种不同的物质形式中。
本发明可以其它的形式来体现而不脱离其精神和本质属性。因此,当描述本发明的范围时,应当参照以下权利要求书,而不是以上说明书。

Claims (14)

1.  一种处理针对多个Web服务的一请求的方法,包括以下步骤:
接收指定至少两个Web服务的一请求;
从所述请求中提取模式对象;
将所述模式对象存储在一公共存储器中;
由多个守护器扫描该公共存储器,其中每个守护器与一Web服务相关联,并指定用于调用一相关联的Web服务的规则;
检测所述模式对象匹配于至少两个所述守护器的规则,其中具有匹配于所述模式对象的规则的每个守护器调用一相关联的Web服务;
守护器继续调用Web服务直到一终止守护器检测到一终止条件并将所述模式对象从所述公共存储器中清除;以及
发送对所述请求的响应,其中所述响应至少部分地指明所述模式对象。
2.权利要求1的方法,其中每个守护器并行地扫描所述公共存储器,以使得可以并发地调用多于一个的Web服务。
3.权利要求1的方法,其所述检测步骤中的至少两个守护器顺序地调用一相关联的Web服务。
4.权利要求1的方法,其中被调用的所述Web服务中的至少一个指示一相关联的守护器修改所述模式对象,所述方法进一步包括以下步骤:
所述相关联的守护器按照来自所述相关联的Web服务的指令修改所述模式对象;
一不同的守护器确定所述被修改的模式对象匹配于所述不同的守护器的至少一个规则;以及
所述不同的守护器调用与该不同的守护器对应的Web服务。
5.权利要求1的方法,进一步包括至少一个所述守护器按照来自一相关联的Web服务的指令修改所述模式对象的步骤。
6.一种用于处理针对Web服务的复杂请求的服务器,包括:
被配置成接收针对多于一个的Web服务的一请求的一超文本传输协议服务器;
至少一个被配置成从所述请求中提取出一模式对象并格式编排对所述请求的响应的小服务程序;
当由所述模式对象指定的Web服务执行时暂时保存该模式对象的一公共存储器;
多个守护器,每个守护器对应于一个特定的Web服务并包含用于调用该相关联的Web服务的规则,其中每个所述守护器并行地扫描所述公共存储器,以确定是否一存储的模式对象匹配于用于调用一相关联的Web服务的规则;以及
被配置成检测终止条件的一终止守护器;
其中当检测到终止条件时,所述终止守护器将所述模式对象提供回至所述小服务程序以生成一响应。
7.权利要求6的服务器,其中所述守护器并行地扫描所述公共存储器,以使得多于一个的Web服务能并发地执行。
8.权利要求6的服务器,其中所述守护器顺序地调用多于一个的Web服务。
9.权利要求6的服务器,其中被调用的Web服务指示一相关联的守护器修改模式对象,以使得所述守护器中的一个不同的守护器确定所述被修改的模式对象匹配于一规则并调用与所述守护器中所述不同的守护器对应的Web服务。
10.权利要求6的服务器,其中所述守护器被进一步配置成按照从一相关联的Web服务中提供的指令修改模式对象。
11.一种用于处理针对多个Web服务的一请求的系统,包括:
用于接收指定至少两个Web服务的一请求的装置;
用于从所述请求中提取模式对象的装置;
用于将所述模式对象存储在一公共存储器中的装置;
多个用于扫描所述公共存储器的装置,其中每个所述用于扫描的装置与一Web服务相关联,并且指定用于调用一相关联的Web服务的规则;
用于检测所述模式对象匹配于至少两个所述用于扫描的装置的规则的装置,其中具有匹配于所述模式对象的规则的每个所述用于扫描的装置调用一相关联的Web服务;
用于检测终止条件并在检测到终止条件时将所述模式对象从所述公共存储器中清除的装置;以及
用于发送对所述请求的响应的装置,其中所述响应至少部分地指明所述模式对象。
12.权利要求11的系统,其中所述用于扫描的装置并行地扫描所述用于存储的装置,以使得可以并发地调用多于一个的Web服务。
13.权利要求11的系统,其中所述用于扫描的装置顺序地调用至少两个Web服务。
14.权利要求11的系统,所述用于扫描的装置进一步包括用于按照从一相关联的Web服务提供的指令修改所述模式对象的装置。
CNB2004100782626A 2003-11-12 2004-09-21 处理针对多个Web服务的请求的方法、服务器及系统 Expired - Fee Related CN100359848C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/706,179 2003-11-12
US10/706,179 US7289989B2 (en) 2003-11-12 2003-11-12 Pattern based web services

Publications (2)

Publication Number Publication Date
CN1617499A CN1617499A (zh) 2005-05-18
CN100359848C true CN100359848C (zh) 2008-01-02

Family

ID=34552480

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100782626A Expired - Fee Related CN100359848C (zh) 2003-11-12 2004-09-21 处理针对多个Web服务的请求的方法、服务器及系统

Country Status (2)

Country Link
US (1) US7289989B2 (zh)
CN (1) CN100359848C (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4179013B2 (ja) * 2003-03-24 2008-11-12 富士ゼロックス株式会社 指示書管理システム
US7533383B2 (en) * 2003-11-12 2009-05-12 International Business Machines Corporation Method, system, and apparatus for scheduling pattern based web services
US20050138032A1 (en) * 2003-12-19 2005-06-23 O'rourke Thomas Network based client-server communications
US8725521B2 (en) * 2004-08-13 2014-05-13 International Business Machines Corporation System and method for designing secure business solutions using patterns
CN100359474C (zh) * 2005-06-24 2008-01-02 中国人民解放军国防科学技术大学 构建基于软流水结构的Web服务器的方法
US8250226B2 (en) * 2005-07-21 2012-08-21 Ca, Inc. Generating one or more clients for generating one or more synthetic transactions with one or more web service operations
US7915126B2 (en) * 2007-02-14 2011-03-29 Micron Technology, Inc. Methods of forming non-volatile memory cells, and methods of forming NAND cell unit string gates
US20090070335A1 (en) * 2007-09-06 2009-03-12 Cozianu Costin V System and method for web processing monitoring
US8848213B2 (en) * 2008-03-18 2014-09-30 Microsoft Corporation Object-based network scanning
CN104050411A (zh) * 2011-04-21 2014-09-17 北京奇虎科技有限公司 主动防御方法
US9026587B2 (en) * 2012-10-10 2015-05-05 Ca, Inc. System and method for invoking application commands with web service calls
CN103701815A (zh) * 2013-12-27 2014-04-02 北京神州绿盟信息安全科技股份有限公司 一种网页扫描处理方法、装置及客户端
EP3725349B1 (en) * 2014-10-20 2024-04-10 Becton, Dickinson and Company Improved systems for medicine delivery

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247056B1 (en) * 1997-02-03 2001-06-12 Oracle Corporation Method and apparatus for handling client request with a distributed web application server
US6260061B1 (en) * 1997-11-25 2001-07-10 Lucent Technologies Inc. Technique for effectively managing proxy servers in intranets
US6317786B1 (en) * 1998-05-29 2001-11-13 Webspective Software, Inc. Web service
US20020165907A1 (en) * 2001-04-13 2002-11-07 Matthew Dornquast System and method for real time interactive network communications
CN1435764A (zh) * 2002-02-01 2003-08-13 上海贝尔阿尔卡特移动通信系统有限公司 并发事件处理方法及使用该方法的基于万维网的应用系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4150425B2 (ja) * 1996-05-23 2008-09-17 シティバンク,エヌ.エイ. グローバル金融サービスの統合システム
US6289382B1 (en) * 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
US7092998B2 (en) * 2000-01-14 2006-08-15 Palm, Inc. Software architecture for wireless data and method of operation thereof
US7634726B2 (en) * 2001-01-05 2009-12-15 International Business Machines Corporation Technique for automated e-business services
US6877035B2 (en) * 2001-01-29 2005-04-05 International Business Machines Corporation System for optimal resource allocation and planning for hosting computing services
US20020186826A1 (en) * 2001-05-16 2002-12-12 Wen-Ling Hsu Intelligent dynamic realtime feature delivery
US7272626B2 (en) * 2001-06-19 2007-09-18 Hewlett-Packard Development Company, L.P. E-service management through distributed correlation
US7337441B2 (en) * 2001-07-17 2008-02-26 Bea Systems, Inc. System and method for prepreparing a transaction process involving a chain of servers in a circular flow
US7379882B2 (en) * 2001-08-09 2008-05-27 International Business Machines Corporation Architecture designing method and system for e-business solutions
US7193974B2 (en) * 2001-08-10 2007-03-20 Intel Corporation Method and apparatus for dynamically discovering alias domains
US7693955B2 (en) * 2002-02-22 2010-04-06 Bea Systems, Inc. System and method for deploying a web service
US20030188039A1 (en) * 2002-03-26 2003-10-02 Liu James C. Method and apparatus for web service aggregation
US7467206B2 (en) * 2002-12-23 2008-12-16 Microsoft Corporation Reputation system for web services
US20050038708A1 (en) * 2003-08-10 2005-02-17 Gmorpher Incorporated Consuming Web Services on Demand

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247056B1 (en) * 1997-02-03 2001-06-12 Oracle Corporation Method and apparatus for handling client request with a distributed web application server
US6260061B1 (en) * 1997-11-25 2001-07-10 Lucent Technologies Inc. Technique for effectively managing proxy servers in intranets
US6317786B1 (en) * 1998-05-29 2001-11-13 Webspective Software, Inc. Web service
US20020165907A1 (en) * 2001-04-13 2002-11-07 Matthew Dornquast System and method for real time interactive network communications
CN1435764A (zh) * 2002-02-01 2003-08-13 上海贝尔阿尔卡特移动通信系统有限公司 并发事件处理方法及使用该方法的基于万维网的应用系统

Also Published As

Publication number Publication date
US20050102350A1 (en) 2005-05-12
CN1617499A (zh) 2005-05-18
US7289989B2 (en) 2007-10-30

Similar Documents

Publication Publication Date Title
US7739367B2 (en) Managing network-enabled devices
CN100359848C (zh) 处理针对多个Web服务的请求的方法、服务器及系统
US20020188761A1 (en) Data-type definition driven dynamic business component instantiation and execution framework
US20040068479A1 (en) Exploiting asynchronous access to database operations
US9274857B2 (en) Method and system for detecting work completion in loosely coupled components
US20070165615A1 (en) Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services
WO2020173080A1 (zh) 调用链信息查询方法以及设备
US7996840B2 (en) Method, system, and apparatus for scheduling pattern based web services
CN100479458C (zh) 调度基于模式的Web服务的方法、系统和装置
RU2382402C2 (ru) Гибкое управление контекстом для сеансов перечисления с использованием обмена контекстом
CN113032419A (zh) 一种多源数据聚合搜索方法、装置、设备及存储介质
US7543041B2 (en) Pattern based web services using caching
US20100332582A1 (en) Method and System for Service Contract Discovery
US20050055442A1 (en) System and method for managing access points to distributed services
KR101888131B1 (ko) Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법
CN114020368A (zh) 基于状态机的信息处理方法、装置和存储介质
US20050076135A1 (en) UDDI web service registry system based on an ebXML registry and management method therefor
EP1544733B1 (en) Data processing system and method
US20070185882A1 (en) Method and system for selective tracking of semantic web data using distributed update events
CN112948225A (zh) 一种链路监控方法、装置、监控设备及存储介质
KR20070061067A (ko) 웹 서비스 기반 개방형 api를 지원하는 애플리케이션서버에서 통신망 이벤트 통보 장치 및 그 방법
US20050108316A1 (en) Methods and systems for organizing related communications
CN100553271C (zh) 在计算机系统中建立协作服务的方法
KR100562424B1 (ko) 프로비져닝 처리 장치 및 방법
CN111338883A (zh) 服务器架构、数据处理方法、装置及存储介质

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
ASS Succession or assignment of patent right

Owner name: GOOGLE INC.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20120428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120428

Address after: American California

Patentee after: Google Inc.

Address before: American New York

Patentee before: International Business Machines Corp.

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

Granted publication date: 20080102

Termination date: 20160921