CN100479458C - 调度基于模式的Web服务的方法、系统和装置 - Google Patents

调度基于模式的Web服务的方法、系统和装置 Download PDF

Info

Publication number
CN100479458C
CN100479458C CN200410090979.2A CN200410090979A CN100479458C CN 100479458 C CN100479458 C CN 100479458C CN 200410090979 A CN200410090979 A CN 200410090979A CN 100479458 C CN100479458 C CN 100479458C
Authority
CN
China
Prior art keywords
service
rule
monitor
web service
common memory
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
CN200410090979.2A
Other languages
English (en)
Other versions
CN1620064A (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.)
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 CN1620064A publication Critical patent/CN1620064A/zh
Application granted granted Critical
Publication of CN100479458C publication Critical patent/CN100479458C/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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Abstract

一种调度对多个Web服务的请求的方法包括提供服务启动规则。每个服务启动规则能指定引发一监视器调用一特定Web服务的一触发条件和一状态条件。该方法还包括接收一指出公用存储器内的变化的事件,其中每个事件指定触发信息;将服务启动规则的触发条件与该事件的触发信息进行比较;把与该事件匹配的服务启动规则添加到一触发列表中;以及将该触发列表中的服务启动规则的状态条件与该公用存储器的状态进行比较。选出该触发列表中与该公用存储器的状态匹配的服务启动规则,从而引发至少一个监视器和相应的Web服务的调用。

Description

调度基于模式的Web服务的方法、系统和装置
技术领域
本发明涉及Web服务领域,更具体地说,涉及使用基于模式的方法调用Web服务。
背景技术
Web服务,也称作应用服务,是可从Web服务器得到的为Web用户或与Web连接的其他应用提供的服务。Web服务的提供商通常称作应用服务提供商。Web服务的范围可从存储器管理和客户关系管理这样的主要服务变化到更有局限性的服务,如提供股票报价或检验对拍卖物品的出价。Web服务的其他实例可包括但不限于响应所提供的名字而提供电话号码的服务和对所提供的名字返回一个或多个电子邮件地址的服务。
Web服务通常是基于请求响应的并遵循客户机/服务器模型。就是说,来自客户机的请求被发送到服务器以求得到满足。通常,提供给服务器的请求是根据远程过程调用(RPC)协议格式化的。一般地说,RPC使一个应用(即客户机)能向另一应用(即服务器)请求服务。RPC允许在一个计算机系统上运行的客户机向在网络内的一个不同的计算机系统上运行的服务器发出请求。当使用RPC时,客户机应用不需要理解网络的操作细节就可以对服务器应用做出请求。
该请求能使用简单对象访问协议(SOAP)发送。换言之,一个含有RPC信息的SOAP消息被发送到服务器。然后,该服务器能处理所收到的请求并向该客户机提供响应。SOAP是一个协议,通过使用超文本传输协议(HTTP)和可扩展标记语言(XML)作为信息交换机制,SOAP使在一种操作系统中运行的程序能与在同样的或另一种操作系统中的程序通信,而且也能与同样的或另一种计算机系统通信。SOAP规定如何编码HTTP标头和XML文件,以便使一个计算机中的程序能调用另一个计算机中的程序并传送信息。
当前,Web服务范型说明一个过程,在该过程中一个请求附属于一单个Web服务。更具体地说,每个请求启动单个Web服务,因而被引向一个特定的服务提供商。这样,为执行涉及不只一个Web服务的更复杂的动作,客户机必须发出一系列请求,其中的各个请求被发送到不同的Web服务。就是说,一个动作的每个组成任务必须作为一个请求提交到适当的Web服务。
如果构成该动作的这些任务在性质上是层次化的,以致一个Web服务需要来自另一个Web服务的信息以发挥作用,这些请求必须以正确的顺序发送给每个Web服务。在这类情况中,客户机必须接收来自给定Web服务的响应,以便使提取到的信息能被用于建立请求,以提交给Web服务层次结构中的下一个Web服务,而那些Web服务构成了要执行的动作。
发明内容
本发明提供了用于处理对Web服务的复杂请求的方法、系统和装置。本发明能接收复杂的请求,或指定不只一个要执行的Web服务的那些请求。这些Web服务能通过一调度器被调用,该调度器能接收事件,这些事件指出,例如通过添加、删除和/或修改一个或多个指定要执行的服务的模式对象,已修改了存储器空间。该调度器能通过比较在所收到的事件中指定的信息和由具有一组服务启动规则的模式对象指定的信息来确定哪些Web服务应被执行。
该调度器利用触发信息和状态信息以更有效地执行Web服务。触发信息描述与工作区的修改有关的事件。状态条件描述一个特定的状态,该状态必须存在于该工作区中以使那个条件为真。不对每个服务启动规则去评估触发条件和状态条件,而是确定整个服务启动规则的集合中具有特定触发条件的一个子集。然后搜索该子集以得到具有匹配的状态条件的服务启动规则。通过首先确定服务启动规则的子集,而降低了处理开销,因为不需要针对触发条件和状态条件二者都评估该系统中的每个服务启动规则。
本发明的一个方面能包括一种对一个或多个Web服务的请求的调度方法。该方法能包括(a)提供多个服务启动规则,其中每个服务启动规则指定使一监视器调用一特定Web服务的一触发条件和一状态条件;(b)接收至少一个指出公用存储器内变化的事件,其中每个事件指定触发信息;(c)将所述服务启动规则的触发条件与这些事件的触发信息进行比较;(d)把与这些事件匹配的服务启动规则添加到一触发列表中。
该方法还能包括(e)将所述触发列表中的服务启动规则的状态条件与所述公用存储器的状态进行比较;以及(f)选择触发列表中与该公用存储器状态匹配的服务启动规则。选择服务启动规则引发至少一个监视器和相应的Web服务的调用。值得注意的是,公用存储器的状态能由一个或多个模式对象来限定。指出该公用存储器中变化的每个事件能与至少一个模式对象关联。步骤(e)能包括把所述触发列表中与模式对象匹配的服务启动规则添加到一可执行列表中,其中在该可执行列表中的每个服务启动规则在步骤(f)中被执行。
在本发明的另一实施例中,该方法能包括至少一个监视器修改所述公共用存储器,该公用存储器发送至少一个事件以指出状态变化,其中每个事件指定一触发条件,并重复步骤(b)-(f)。至少一个监视器能根据来自一个相关联的Web服务的指令修改该公用存储器。再有,这些监视器能通过修改一个或多个模式对象来修改该公用存储器。这样,这些监视器能根据来自一相关联的Web服务的指令修改这些模式对象。值得注意的是,每个模式对象能指定至少两个要执行的Web服务。
在步骤(f)中,至少两个监视器每个都能调用一相关联的Web服务,以彼此并发地进行操作。替代地,在步骤(f)中,至少两个监视器每个都能调用一相关联的Web服务,以顺序地进行操作。这些监视器能持续调用Web服务,直至一终止监视器被启动并从所述公用存储器中移除该模式对象为止。
在本发明的另一实施例中,步骤(f)可将匹配的服务启动规则包括在一执行列表内。该方法进一步包括识别出所述执行列表中对应于竞争的诸Web服务的服务启动规则,并将识别出的服务启动规则与至少一个服务选择规则进行比较。根据该比较步骤,来调用由所述识别出的服务启动规则指定的监视器。
本发明的另一方面能包括一种解决竞争的Web服务之间冲突的方法。该方法能包括:读取一对应于监视器的服务启动规则的执行列表,其中每个监视器被配置成调用一相关联的Web服务;识别所述执行列表中对应于竞争的Web服务的那些服务启动规则;并将识别出的服务启动规则与至少一个服务选择规则进行比较。根据该比较步骤,调用由所述识别出的服务启动规则指定的监视器。
本发明的另一方面能包括一种处理对Web服务的复杂请求的系统。该系统能包括多个服务启动规则,每个服务启动规则指定引发一监视器调用一特定Web服务的一触发器条件和一状态条件;被配置成接收对不只一个Web服务的请求的服务器;被配置成从请求中提取模式对象并格式化一对该请求的响应的至少一个小服务程序(servlet);以及一公用存储器,在由模式对象指定的Web服务执行时,该公用存储器暂时存储该模式对象。值得注意的是,该公用存储器还能在其内容发生改变时产生事件。
该系统进一步能包括多个监视器,每个监视器对应于一特定的Web服务;以及一调度器,该调度器被配置成接收事件,将由服务启动规则指定的触发条件与这些事件的触发信息进行比较,将触发列表中的服务启动规则的状态条件与模式对象指定的状态信息进行比较,并选择引发至少一个监视器和相应Web服务的调用的至少一个服务启动规则。
在另一实施例中,该系统能包括一终止监视器,其被配置成向所述小服务程序之一回送模式对象以产生一响应。所述诸监视器根据从相关联的一个Web服务提供来的指令修改该模式对象。该系统还能包括执行评估处理器,其被配置成根据服务选择规则选择与竞争的Web服务关联的服务启动规则。该执行评估处理器能根据选定的服务启动规则调用一个或多个监视器。
本发明的另一方面能包括一种处理对Web服务的复杂请求的系统,包括多个服务启动规则,每个服务启动规则指定引发一监视器调用一特定Web服务的一触发条件和一状态条件。该系统还能包括一公用存储器,当由模式对象指定的Web服务执行时,该公用存储器暂时存储该模式对象。当该公用存储器的内容改变时,该公用存储器能产生事件。该系统进一步能包括一触发评估处理器,其被配置成将服务启动规则的触发条件与来自至少一个事件的触发信息进行比较。该触发评估处理器能把与这些事件匹配的服务启动规则添加到一触发列表中。
该系统能包括一状态评估处理器,其被配置成将所述触发列表中的服务启动规则的状态条件与存储在所述公用存储器中的至少一个模式对象所指定的状态信息进行比较。该状态评估处理器能选择所述触发列表中与该模式对象匹配的服务启动规则。选择服务启动规则引发至少一个监视器和相应的Web服务的调用。该状态评估处理器进一步能在每个服务启动规则执行之前把所述触发列表中与至少一个模式对象匹配的服务启动规则添加到一执行列表中。
该系统还能包括一执行评估处理器,其被配置成根据服务选择规则选择与竞争的Web服务关联的服务启动规则。该执行评估处理器根据选定的服务启动规则调用至少一个监视器。
附图说明
附图中显示当前被优选的实施例,然而,应该理解,本发明不限于所示确切的结构安排和手段。
图1是示意图,例示根据这里公开的本发明结构安排,调用基于模式的Web服务的系统的一个实施例;
图2是示意图,例示根据这里公开的本发明结构安排,调用基于模式的Web服务的系统的另一个实施例;
图3A是示意图,例示根据这里公开的本发明结构安排,调用基于模式的Web服务的系统的又一个实施例;
图3B是示意图,例示根据这里公开的本发明结构安排,调用基于模式的Web服务的系统的另一个实施例;
图4是流程图,例示根据本发明的一个实施例,处理对Web服务的复杂请求的方法;
图5是流程图,例示根据本发明的另一个实施例,处理对Web服务的复杂请求的方法;
图6是流程图,例示根据这里公开的本发明结构安排,选择一个或多个服务启动规则以实现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完成对该模式对象的处理时,小服务程序130接收该模式对象,不论该模式对象是被修改过的还是处于与最初从请求160中提取出来时同样的条件,并构成要发送给请求者的响应。
工作区135是一个公用存储器空间或存储器的一部分,它能用于存储从所接收的请求160中提取的模式对象。工作区135包括编程以监视工作区135存储器空间中的改变。就是说,工作区135能检测出何时添加了一个新模式对象,何时修改了一个已经存在的模式对象以及何时删除或移除了一个模式对象。任何时候当工作区135改变时,该工作区135都产生一个发送给调度器165的事件。工作区135可由监视器140、145和150中的每个、终止监视器155以及小服务程序130来访问。监视器140、145和155是调用Web服务的软件对象。如图所示,每个监视器与一特定的Web服务相关联,并能按照由与每个监视器关联的Web服务所指示的那样修改位于工作区135内的模式对象。
终止监视器155能监视工作区135以找出遵循或匹配终止监视器155内的一个或多个规则的模式对象。终止监视器155是当模式对象被提取出来并放入工作区135中时由小服务程序130之一提供的。当由终止监视器155检测到符合一个或多个规则的模式对象时,终止监视器155从工作区135中移除该模式对象并将该模式对象回送到最初从所接收的请求中提取出该模式对象的那个小服务程序130。
终止监视器155能监视以找出与其中存储的规则匹配的特定格式的模式对象,与此同时,终止监视器155还能在检测到的故障,不论是超时情况还是另一种故障之后,通过从工作区135中移除该模式对象来终止一个或多个Web服务的操作。例如其中该模式对象已在工作区135内达至少是预定的时间量,但并不符合终止监视器155内的规则的超时情况,能指出一个或多个Web服务未正确执行或者已经发生某种其他故障。
每个Web服务110-120能完成特定的任务,如定位统一资源定位器(URL)以确定电话号码、当被提供了名字时确定电子邮件地址、或当被提供了名字或电子邮件地址时确定电话号码。本领域技术人员将会理解,Web服务能完成多种不同处理任务中的任何一个。这样,应该理解,这里公开的Web服务实例不是要限制能由Web服务实现的功能或任务的范围。再有,尽管已描绘了三个监视器和相应的Web服务,但应该理解,核心服务器105能包括更多或更少的监视器,这取决于已向核心服务器105注册的Web服务的数量。
调度器165是一个软件对象,它能接收详述工作区135内的变化的事件。调度器165进一步确定哪些监视器要被调用以响应特定的事件或情况。更具体地说,调度器165能从工作区135接收事件,这些事件指出已检测到的工作区135中的变化,不管是添加和/或移除了一个对象。这些事件还能说明哪些模式对象已被修改以及已被改变的特定属性。通常,调度器165将这些事件及与每个事件关联的模式对象与服务启动规则进行比较,以确定哪些服务启动规则应被放入执行列表。值得注意的是,每个服务启动规则能指定要被启动的特定的监视器和相应的Web服务。
数据存储区170包括能由调度器165访问的一个或多个服务启动规则。每个服务启动规则指定一个触发条件和一个状态条件。触发条件指定的信息描述能在考虑启动一个监视器,因而Web服务之前必须发生什么。状态条件指定的信息可描述在启动一个监视器之前必须发现存在于工作区135中的状态。根据本发明的一个实施例,触发条件和状态条件能以逻辑表达式来指定。在任何情况下,在一个监视器被启动之前,服务启动规则的触发条件和状态条件都必须得到满足。
在操作时,HTTP服务器125能接收请求160。HTTP服务器125能把接收到的请求160路由到一个可用小服务程序130以供进一步处理。例如,请求160能指定一个特定的小服务程序130,它是如从对应于所请求Web服务的Web服务描述语言(WSDL)文件中确定的。接收该请求的小服务程序130能从请求160中提取或解析出模式对象。然后小服务程序130能将该模式对象存储在工作区135内。
然后工作区135向调度器165发送一个事件,指出已添加一个模式对象。该事件能提供关于被添加到工作区135的模式对象的触发信息。调度器165能把所收到的事件与数据存储区170中的服务启动规则进行比较。可识别出具有与所接收到的事件和相应模式对象匹配的触发条件和状态条件的那些服务启动规则。调度器165能使由匹配的服务启动规则所指定的那些监视器执行。
当一个监视器被执行或被调用时,那个监视器又调用其关联的Web服务。监视器140-150能以顺序方式调用Web服务110-120,能以并行方式调用从而使Web服务彼此并发运行,或者既并发又顺序地进行,如这里将描述的那样。
Web服务110-120能持续操作,直至终止监视器155检测到终止判据为止。例如,检测终止判据能包括但不限于确定终止监视器155内含有的一个或多个规则匹配于该模式对象或检测到故障,诸如超时。在那时,终止监视器155把该模式对象返回给从请求160中提取该模式对象的小服务程序130。然后小服务程序130构造一个响应,经由HTTP服务器125发送给请求者。
应该理解,根据本发明的另一实施例,终止监视器155能被配置成作为监视器140-150之一来发挥其功能。例如,终止监视器155的终止规则能被指定为数据存储区170内的服务启动规则。因此,能响应由调度器165接收的特定事件和这里要描述的对工作区135的特定状态的检测来执行终止监视器。
图2是示意图,例示根据这里公开的本发明结构安排,调用基于模式的Web服务的系统200的另一方面。如图所示,系统200显示监视器210、215和220、终止监视器240、Web服务225、230和235、调度器245以及模式对象205的交互作用。
如曾参考图1描述过的,模式对象205由小服务程序从所接收的请求中提取出来并存储在工作区中。该工作区能进一步向调度器245发送一个事件,指出在工作区中已发生状态改变。具体地说,该事件指出模式对象205已被添加到工作区。模式对象205指定为执行一个更复杂的动作所必须完成的一个或多个任务。在这种情况中,作为举例,模式对象205附属于电话服务。该模式对象指定一个“拨打电话”动作并提供一个名字“TomHenry”。然而,在模式对象205中没有指定服务提供商和电话号码。因此,为执行拨打电话的动作,必须执行一个或多个附加任务,每个任务由一个特定的Web服务完成。
在这个例子中,Web服务225能返回另一Web服务的URL,该Web服务能拨打一电话号码。如果被提供了一个名字的话,Web服务230能返回一电话号码。Web服务235能拨打一电话号码。由于每个Web服务225-235都向核心服务器进行了注册,故对每个Web服务指派一个监视器。一旦注册,每个Web服务在与该Web服务关联的监视器内提供规则。该监视器又向核心服务器进行注册并把所提供的规则作为服务启动规则存储在数据存储区(未示出)中。如前所述,每个服务启动规则指定一个触发条件和一个状态条件。
例如,用于监视器210和Web服务225的服务启动规则能指定一个触发条件,该条件规定如果接收到一个具有模式“X”的模式对象205,例如此处模式对象205有一个空服务提供商属性,则调度器245将执行监视器210以调用Web服务225。这样,如果由从工作区接收的事件指定的触发信息与监视器210所对应的服务启动规则的触发条件匹配,则调度器245能调用监视器210。
为了调用一个监视器,调度器245还必须使存储在工作区中的相应模式对象的状态信息,或该工作区的状态,与该服务启动规则的状态条件匹配。因此,一个服务启动规则的触发条件和状态条件二者必须分别与一事件的触发信息和一模式对象或工作区的状态信息匹配,以启动一个监视器。这样,尽管没有参考图2进行描述,但每次一个监视器被调用以执行一个相应Web服务时,都假定该服务启动规则的状态条件部分是与工作区中的模式对象匹配的。例如,在模式对象205中的属性“=X.status READY”指定了在相关联的Web服务能执行之前必须匹配于一服务启动规则的状态条件的状态信息。
如图所示,Web服务225确定用于模式对象205的服务提供商属性的URL并将该URL提供给监视器210。然后,当模式对象205在工作区中时,监视器210能通过把该URL写入该模式对象205来修改模式对象205,从而使该服务提供商属性指定由Web服务225确定的该URL。因此,工作区能向调度器245发送一个事件,指出该工作区的新状态。该事件能指定触发信息,此信息指出模式对象205的哪些属性已被修改。
当向核心服务器注册了Web服务230时,能指派监视器215。Web服务230能在监视器215内提供一个规则,其规定如果模式对象205的电话号码属性为空而名字可用,则Web服务230将被调用。监视器215能向核心服务器注册和存储这一信息作为服务启动规则。
于是,响应于接收到具有匹配于监视器215的一个服务启动规则的触发信息的事件,调度器245能执行监视器215以调用Web服务230。监视器215能将一个名字提供给Web服务230,以便能检索到一个电话号码。Web服务230向监视器215提供该电话号码,而监视器215把该电话号码写到模式对象205,从而使电话号码属性指定由Web服务230提供的电话号码。然后,工作区向调度器245发送一个指出触发信息的事件,该触发器信息说明模式对象205中哪些属性已被修改。
当向核心服务器注册了监视器220时,监视器220能与Web服务235关联。在那时,Web服务235能向监视器220内提供一个规则,其能被作为一个服务启动规则来存储。该服务启动规则能规定直至模式对象205的全部属性都已完全时,才执行监视器220。当有事件指出模式对象205的全部属性都已完全时,调度器245使监视器220调用Web服务235。于是,监视器220能向Web服务235提供电话号码以及可能需要的任何其他属性,以便使Web服务235能拨打所提供的号码。
由这个实例,应该理解,由调度器245接收的单个事件能引起监视器210和215被执行。就是说,监视器210和215能够并发执行,因为Web服务225和230能够如此。监视器215不需要作为在Web服务225已完成执行后由工作区发送的事件的结果来执行。在该电话号码被拨打之后,监视器220能够结束,或者能在终止执行之前通过添加标识符或某种其他引用来修改模式对象205。
在本发明的一个实施例中,在Web服务235已结束执行之后,工作区能向调度器245发送一个具有触发信息的事件,该触发信息能匹配于指定终止条件的服务启动规则的触发条件。在那种情况下,调度器245能执行终止监视器240。终止监视器240能从工作区中移除模式对象205并把该模式对象205返回给小服务程序。
在本发明的一个实施例中,终止监视器240还能以一个指示修改模式对象205,该指示是关于这些Web服务是已正确地执行还是已发生了故障。在另一个实施例中,终止监视器240能仅向小服务程序返回模式对象205并提供一个单独的通告,该通告是关于这些Web服务是已正确地实现还是发生了故障。
图3A是示意图,例示根据本发明的另一实施例的处理对Web服务的复杂请求的系统300。系统300能包括调度器305、工作区335、以及服务启动规则345。如图所示,模式对象340能被放入工作区335。
一个事件列表310能被发送给调度器305。如前所述,在工作区335内添加、移除或修改一个或多个模式对象,如模式对象340的情况中,事件列表310能从工作区335发送出。该事件列表描述一个或多个事件。每个事件指定触发信息,该触发信息用于使一个或多个监视器及其关联的Web服务被调用。
触发评估处理器315将在事件列表310中接收的事件与服务启动规则345进行比较。更具体地说,所接收事件的触发信息与每个服务启动规则345中指定的触发条件进行比较。触发评估处理器315能识别出其触发条件匹配于由事件列表310指定的触发信息的那些服务启动规则。于是,触发评估处理器315把每个匹配的服务启动规则添加到触发列表320中。
状态评估处理器325针对模式对象340分析触发列表320中描述的服务启动规则。具体地说,状态评估处理器325将触发列表320中的每个服务启动规则的状态条件与模式对象340的状态信息进行比较。其状态条件匹配于模式对象340的状态信息的那些来自触发列表320的服务启动规则被添加到执行列表330中。然后,执行列表330中的服务启动规则被执行,以使与执行列表330的服务启动规则对应的每个监视器被执行。值得注意的是,调度器305能包括分析执行列表330中服务启动规则的逻辑。调度器305能依据执行列表330中的服务启动规则确定要调用哪些监视器。
图3B是示意图,例示根据这里公开的本发明结构安排,用于调用基于模式的Web服务的系统300B的另一实施例。图3B的系统300B在其所用部件和功能方面与图3A的系统大体相同。系统300B的不同之处在于增加了执行评估处理器350和服务选择规则数据存储区355。
执行评估处理器350能被编程以解决执行列表330中竞争的服务启动规则之间的冲突。尽管每个服务启动规则能属于一个特定Web服务,根据本发明的一个实施例,能向核心服务器注册完成相同或相近功能的多个Web服务。例如,不止一个拨打电话号码的Web服务能被注册于核心服务器。每个类似的Web服务能有一个服务启动规则,其需要那个Web服务为完成任务所做的考虑。换言之,能拨打电话号码或完成类似功能的每个Web服务能与一个不同的服务启动规则关联。然而,对于相似或相同功能的Web服务的每个服务启动规则指定相同的触发条件和状态条件是可能的。可能发生类似的情况,即其中不只一个Web服务完成相同的功能,尽管是以不同的服务质量级别。
结果,能由触发评估处理器315选择与相似或相同功能的Web服务对应的诸服务启动规则中的每一个以包括在触发列表320中,因为每个都可能指定相同的触发条件。类似地,也能由状态评估处理器325选择具有相似或相同功能的Web服务的诸服务启动规则中的每一个以包括在执行列表330中,因为每个都指定相同的状态条件。结果,执行列表330能包括多个服务启动规则,每个对应于完成相同或相似功能的Web服务。
执行评估处理器350能分析执行列表330中的服务启动规则并选择竞争的服务启动规则之一,因而选择竞争的Web服务之一以供执行。采用前面的举例,在多个拨号Web服务在执行列表330中都有相应的服务启动规则的情况下,执行评估处理器350能选择用于一个特定拨号Web服务的服务启动规则。
执行评估处理器350可依据在服务选择规则355中的指定的判据选择特定的服务启动规则。更具体地,服务选择规则355可包括一个或多个规则,不管其是通过试探法发展来的还是由用户偏好所设置的,这些规则指示应执行几个类似或相同功能的Web服务中的哪一个。
例如,这些规则能指定一个拨打电话号码的优选Web服务提供商。这些规则能根据时间、日期或根据Web服务所收取的费用来指定应选择若干Web服务提供商中的哪一个。这使得用户能根据用户偏好、时间、费用等来选择Web服务。在服务启动规则中指定的任何数据项或在能由执行评估处理器350访问的外部数据存储区(未示出)内的任何数据项,能与服务选择规则进行比较。与服务选择规则匹配的服务启动规则能被识别出来,从而使匹配于识别出的服务启动规则的竞争的Web服务将被执行。这样,在执行列表中的任何非竞争的服务启动规则和任何识别出的那些竞争的服务启动规则一起能被选中,引起每个关联的Web服务执行。
图4是流程图,例示根据本发明的另一方面处理对Web服务的复杂请求的方法400。该方法能在一个或多个Web服务已向核心服务器进行了注册的状态下开始。于是,每个Web服务能与一个监视器关联。就是说,向核心服务器注册了的每个Web服务能有一个监视器实例。每个Web服务能进一步在每个与之关联的监视器内提供一个或多个如在每个Web服务中已指定的那些规则。这些监视器又通过向服务启动规则数据存储区添加所提供的规则来向核心服务器进行注册。
这样,在步骤405中,一个请求,如一个SOAP请求能由放在核心服务器内的HTTP服务器接收。在步骤410,该HTTP服务器能选择一个可用的小服务程序并把该请求转发给选定的小服务程序。在步骤415中,该小服务程序能接收和处理该请求。更具体地说,该小服务程序能从所接收的请求中提取出一模式对象并把该模式对象存储在工作区中。如前所述,该模式对象能指定一个或多个要被调用的服务,从而能通过单个请求实现不只一个Web服务的启动。
在本发明的一个实施例中,在步骤420,该小服务程序能在终止监视器内提供一个或多个规则。应该理解,该请求或该模式对象本身能针对该终止监视器,指定要被提供和应用的终止规则。因此,如果这样配置的话,每个请求能提供一个或多个不同的终止规则,这些规则能指定不同的条件,以供检测由模式对象指定的Web服务组合的执行的完成以及不同的故障,这些故障也能随着由该模式对象指定的Web服务组合的改变而改变。
再有,如前所述,在另一实施例中,终止监视器不需要监视工作区以检测出匹配的模式对象。而是,当来自事件的适当触发信息和由模式对象指定的状态信息与调用该终止监视器的一个服务启动规则相匹配时,该终止监视器能由调度器调用。
在步骤425中,工作区能向调度器发送一个事件。在步骤430中,调度器将服务启动规则与事件列表以及模式对象本身进行比较,以执行一个或多个监视器以及相应的Web服务。这些Web服务能如由监视器和调度器调用的那样顺序地、并发地或既顺序又并发地操作。这些监视器还能根据与每个监视器关联的Web服务修改该模式对象。
如果一个监视器修改该模式对象,则工作区能向调度器发送一个事件列表,其中具有说明所做出的改变的事件。于是,调度进程能重新启动,再次把所接收的事件及修改后的模式对象与服务启动规则进行比较。调度器能如这一比较所限定的那样引发一个或多个监视器执行。应该理解,由于每个监视器都能修改该模式对象,所以当该模式对象持续被这些监视器修改时,可调用一Web服务链,以并发地、串行地或既并发又串行地进行操作。
在步骤435中,终止监视器能检测一终止判据。更具体地说,终止监视器能确定该模式对象匹配于一个终止规则或确定已发生故障。然而,如前所述,在本发明的另一个实施例中,在由调度器接收到事件且该模式对象匹配于一个用于该终止监视器的服务启动规则的情况中,该终止监视器能被调度器执行。在任何情况中,终止监视器能从工作区中移除模式对象,不论该模式对象已被修改还是处于与最初被放入工作区时相同的状态。在步骤440中,终止监视器能向曾提取该模式对象的同一小服务程序提供该模式对象。如前所述,终止监视器能通过指出这些Web服务已成功地执行或发生了故障,来向该小服务程序通告这些Web服务的执行状态。这一信息能被包括在发给该小服务程序的消息内,或者能包括在该模式对象本身之中。
在步骤445中,小服务程序能构建一个要发给请求者的响应。该响应能包括该模式对象,不论是以其初始形式还是以被修改过的形式。该响应还能说明这些Web服务是成功地执行了还是发生了故障,例如,是否已发生了超时或别的执行错误。这一信息能被包括在该响应内,这是通过或者把该信息包括在该响应本身的某一部分中或者把该信息包括在该模式对象中,如先前讨论的那样。
图5是流程图,例示根据本发明的另一实施例处理对Web服务的复杂请求的方法500。该方法能在一个模式对象或者已经由一个小服务程序添加到工作区或者在工作区中已由一个或多个监视器进行了修改的状态下开始。因此,该方法能在步骤505开始,其中调度器从工作区接收一个或多个事件的事件列表。例如,如果一个新的模式类型“X”被添加到工作区,则在该事件列表中的一个事件能指定“ADDED PATTERN TYPE X”(添加了模式类型X)。
在步骤510中,调度器从接收的事件列表中识别出触发信息。继续前面的例子,该触发信息能为“PATTERN TYPE X”(模式类型X),指出现在存在于工作区中的模式类型。在步骤515中,调度器能将事件列表中事件的模式信息与服务启动规则指定的触发条件进行比较。在步骤520中,与接收的事件的触发信息匹配的任何服务启动规则能被添加到一个触发列表中。
在步骤525中,调度器能从工作区中的模式对象中识别出状态信息。应该理解,该工作区能包括一个或多个模式对象。因此,所接收的事件列表能属于或标识工作区内的一个特定模式对象。或者,一个事件列表能包括属于不只一个模式对象的事件,这里每个事件指出它所关联的特定模式对象。在任何情况下,调度器能从适当的模式对象中识别出状态信息,也称作工作区的状态。例如,该模式对象的状态信息能是“=X.statusREADY”。
在步骤530中,调度器将该模式对象的状态信息只与已经放在触发列表中的那些服务启动规则的状态条件进行比较,从而消除将状态信息与系统中每个服务启动规则的状态条件进行比较的需要。使用触发列表进一步降低不必要的系统处理开销。在步骤535中,来自触发列表的、具有匹配于该模式对象的状态信息的任何服务启动规则都能被添加到一个执行列表中。这样,例如,在触发列表中的、具有指示准备好状态的任何服务启动规则都被添加到该执行列表中。
在步骤540中,选出由执行列表中的服务启动规则指定的监视器以供执行。这引发每个监视器调用其已经与之关联的Web服务。在步骤545中,如果一个终止监视器已被执行,则该方法能结束。如果没有,则该方法循环回到步骤505,继续处理其他事件,直至所请求的Web服务都已结束执行或检测到故障的时刻为止。
图6是流程图,例示根据这里公开的本发明结构安排,选择一个或多个服务启动规则以实现Web服务的方法600。例如,方法600能用于实现图5的步骤540。于是,方法600能在服务启动规则已被添加到执行列表中的状态下开始。再有,这些服务启动规则中的两个或更多个能对应于由不同的Web服务提供商或由提供可变服务质量的一个(一些)Web服务提供商所提供的相似或相同的功能。
方法600能在步骤605开始,其中执行评估处理器能扫描执行列表以确定是否存在用于竞争Web服务的任何服务启动规则。就是说,该执行评估处理器能确定在执行列表中是否存在不只一个服务启动规则对应于有相似或相同功能的Web服务。在步骤610中,可作出对于是否存在任何这样的服务启动规则的确定。如果是,则该方法前进到步骤620。如果否,则该方法能继续到步骤615。
在步骤615中,当在执行列表中没有发现用于有相似或相同功能的Web服务的多个服务启动规则的情况下,由执行列表中的诸服务启动规则指定的全部监视器都能被调用。在步骤615之后,该方法能前进到步骤545并按需要继续进行。在步骤620中,当在执行列表中发现有对应于有相似或相同功能的Web服务的多个服务启动规则时,每个这样的服务启动规则都能被识别出来。
在步骤625中,能由执行评估处理器将服务选择规则应用于执行列表。使用服务选择规则,执行评估处理器能确定要调用这些相同或相似的Web服务中的哪一个。因此,能选出如服务选择规则所指定的用于那些Web服务的服务启动规则。这样,在步骤630中,对应于在步骤625中从竞争的服务启动规则中选出的服务启动规则的监视器能被调用,能被调用的还有对应于执行列表中彼此不竞争的其他服务启动规则的任何其他监视器。该方法能前进到步骤545,以按需要继续处理。
本发明提供了响应单个复杂请求而实现多个Web服务的解决方案。通过引入使用触发信息和状态信息二者的调度器,Web服务能被更有效地执行。不对每个服务启动规则的触发条件和状态条件都进行评估,而是确定服务启动规则的一个触发列表,其是整个服务启动规则集合中的具有特定触发条件的子集。然后,搜索该触发列表,以找出具有匹配的状态条件的服务启动规则。触发列表的使用使得处理开销能够降低,因为不需要针对触发条件和状态条件二者来评估系统中的每个服务启动规则。
本发明能以硬件、软件或硬件和软件的组合来实现。本发明能以集中式方式在一个计算机系统中实现,或以分布式方式实现,该分布式方式中不同的部件分布于若干互连的计算机系统中。任何种类的计算机系统或适于实现这里所述方法的其他装置都是适用的。硬件和软件的典型组合能是一台具有计算机程序的通用计算机系统,该计算机程序在被加载和执行时控制该计算机系统以使其实现这里描述的方法。
本发明还能嵌入一计算机程序产品中,该计算机程序产品包含使这里所述方法能够实现的全部特性,当它被加载到计算机系统中时能实现这些方法。在本文中,计算机程序是指欲使具有信息处理能力的系统执行特定功能的一组指令的以任何语言、代码或符号表示的任何表达,其中特定功能的执行或者是直接的或者是在下述二者之一或二者全部之后进行:a)转换成另一种语言、代码或符号;b)以不同的材料形式再现。
本发明能以其他形式实施而不背离其精神或本质属性。因此,应参考下列权利要求而不是前文的说明书,作为对本发明范围的指示。

Claims (23)

1.一种调度对多个Web服务的请求的方法,包含如下步骤:
(a)提供多个服务启动规则,每个服务启动规则指定引发一监视器调用一特定Web服务的一触发条件和一状态条件;
(b)接收至少一个指出公用存储器内变化的事件,其中每个事件指定触发信息;
(c)将所述服务启动规则的触发条件与所述至少一个事件的触发信息进行比较;
(d)把与所述至少一个事件匹配的服务启动规则添加到一触发列表中;
(e)将所述触发列表中的服务启动规则的状态条件与所述公用存储器的状态进行比较;以及
(f)选择所述触发列表中与所述公用存储器的状态匹配的服务启动规则,从而引发至少一个监视器和相应的Web服务的调用,其中所述公用存储器的状态是由至少一个模式对象限定的。
2.权利要求1的方法,其中指出公用存储器内变化的每个事件与所述模式对象相关联。
3.权利要求1的方法,所述步骤(e)进一步包含把所述触发列表中与至少一个模式对象匹配的那些服务启动规则添加到一可执行列表中的步骤,其中在该可执行列表中的每个服务启动规则在所述步骤(f)中被执行。
4.权利要求1的方法,进一步包含如下步骤:
至少一个监视器修改所述公用存储器;
所述公用存储器发送至少一个事件,以指出一状态变化,其中每个事件指定一触发条件;以及
重复所述步骤(b)-(f)。
5.权利要求4的方法,其中所述至少一个监视器根据来自一个相关联的Web服务的指令修改所述公用存储器。
6.权利要求5的方法,其中所述至少一个监视器通过修改模式对象来修改所述公用存储器。
7.权利要求1的方法,其中每个模式对象指定至少两个要执行的Web服务。
8.权利要求1的方法,其中在所述步骤(f)中至少两个监视器每个都调用一关联的Web服务,以彼此并发地进行操作。
9.权利要求1的方法,其中在所述步骤(f)中至少两个监视器每个都调用一关联的Web服务,以顺序地进行操作。
10.权利要求1的方法,进一步包含:监视器持续调用Web服务,直至一终止监视器被启动并从所述公用存储器中移除所述模式对象为止。
11.权利要求1的方法,进一步包含至少一个监视器根据来自一个相关联的Web服务的指令而修改所述模式对象的步骤。
12.权利要求1的方法,其中所述步骤(f)把匹配的服务启动规则包括在一执行列表内,所述方法进一步包含如下步骤:
识别出该执行列表中对应于竞争的Web服务的服务启动规则;
将识别出的服务启动规则与至少一个服务选择规则进行比较;以及
根据将识别出的服务启动规则与至少一个服务选择规则进行比较的步骤,调用由所述识别出的服务启动规则指定的监视器。
13.一种处理对Web服务的复杂请求的系统,包含:
多个服务启动规则,每个服务启动规则指定引发一监视器调用一特定Web服务的一触发条件和一状态条件;
一服务器,其被配置成接收对不只一个Web服务的请求;
至少一个小服务程序,其被配置成从所述请求中提取一模式对象并格式化一对该请求的响应;
一公用存储器,其在由模式对象所指定的Web服务执行时暂时存储该模式对象,其中当所述公用存储器的内容改变时,所述公用存储器产生事件;
多个监视器,每个监视器对应于一特定的Web服务;以及
一调度器,其被配置成接收事件,将所述服务启动规则指定的触发条件与这些事件的触发信息进行比较,将触发列表中的所述服务启动规则的状态条件与所述公用存储器的状态进行比较,并选择引发至少一个所述监视器和相应Web服务的调用的至少一个所述服务启动规则。
14.权利要求13的系统,进一步包含一终止监视器,其被配置成把所述模式对象提供回给所述多个小服务程序之一,以产生一响应。
15.权利要求13的系统,其中所述监视器进一步被配置成根据来自一个相关联的Web服务的指令修改所述模式对象。
16.权利要求13的系统,进一步包含一执行评估处理器,其被配置成根据服务选择规则选择与竞争的Web服务关联的服务启动规则。
17.权利要求16的系统,其中所述执行评估处理器根据选定的服务启动规则调用至少一个所述监视器。
18.一种处理对Web服务的复杂请求的系统,包含:
多个服务启动规则,每个服务启动规则指定引发一监视器调用一特定Web服务的一触发条件和一状态条件;
一公用存储器,其在模式对象指定的Web服务执行时暂时存储该模式对象,其中当所述公用存储器的内容改变时,所述公用存储器产生事件;
一触发评估处理器,其被配置成将所述诸服务启动规则的触发条件与来自至少一个事件的触发信息进行比较,其中所述触发评估处理器把与这至少一个事件匹配的服务启动规则添加到一触发列表中;
一状态评估处理器,其被配置成将该触发列表中的服务启动规则的状态条件与所述公用存储器的状态进行比较并引发该触发列表中与所述模式对象匹配的服务启动规则被选出,从而引发至少一个监视器和相应的Web服务的调用。
19.权利要求18的系统,其中所述状态评估处理器在每个所述服务启动规则执行之前把所述触发列表中与至少一个模式对象匹配的服务启动规则添加到一执行列表中。
20.权利要求19的系统,进一步包含一执行评估处理器,其被配置成根据服务选择规则选择与竞争的Web服务关联的服务启动规则。
21.权利要求20的系统,其中所述执行评估处理器根据选定的服务启动规则调用至少一个所述监视器。
22.一种调度对多个Web服务的请求的系统,包含:
用于存储多个服务启动规则的装置,每个服务启动规则指定引发一监视器调用一特定Web服务的一触发条件和一状态条件;
用于接收至少一个事件的装置,该事件指出在公用存储器内的一变化,其中每个事件指定触发信息;
用于将所述服务启动规则的触发条件与这至少一个事件的触发信息进行比较的装置;
用于把与这至少一个事件匹配的服务启动规则添加到一触发列表中的装置;
用于将所述触发列表中的服务启动规则的状态条件与所述公用存储器的状态进行比较的装置;以及
用于选择所述触发列表中与所述公用存储器的状态匹配的服务启动规则,从而引发至少一个监视器和相应的Web服务的调用的装置,其中所述公用存储器的状态由至少一个模式对象限定。
23.权利要求22的系统,其中所述用于选择的装置将匹配的服务启动规则包括在一执行列表内,所述系统进一步包含:
用于识别出所述执行列表中对应于竞争的Web服务的服务启动规则的装置;
用于将识别出的服务启动规则与至少一个服务选择规则进行比较的装置;以及
用于依据所述用于将识别出的服务启动规则与至少一个服务选择规则进行比较的装置,调用由所述识别出的服务启动规则指定的监视器的装置。
CN200410090979.2A 2003-11-12 2004-11-11 调度基于模式的Web服务的方法、系统和装置 Expired - Fee Related CN100479458C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/706,177 2003-11-12
US10/706,177 US7533383B2 (en) 2003-11-12 2003-11-12 Method, system, and apparatus for scheduling pattern based web services

Publications (2)

Publication Number Publication Date
CN1620064A CN1620064A (zh) 2005-05-25
CN100479458C true CN100479458C (zh) 2009-04-15

Family

ID=34573388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200410090979.2A Expired - Fee Related CN100479458C (zh) 2003-11-12 2004-11-11 调度基于模式的Web服务的方法、系统和装置

Country Status (2)

Country Link
US (1) US7533383B2 (zh)
CN (1) CN100479458C (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024225B1 (en) * 2004-01-27 2011-09-20 Amazon Technologies, Inc. Controlling access to services via usage models
ATE478509T1 (de) * 2004-06-22 2010-09-15 France Telecom Verfahren und plattform zum vermittlen zwischen web services anwendungen
WO2007113543A1 (en) * 2006-04-03 2007-10-11 British Telecommunications Public Limited Company Conflict handler
JP4958481B2 (ja) * 2006-06-01 2012-06-20 キヤノン株式会社 Webサービス実行方法及び情報処理装置
CN101115094B (zh) * 2006-07-29 2013-04-24 华为技术有限公司 提供通信业务的方法和系统及触发器装置
US8255549B2 (en) * 2006-10-09 2012-08-28 At&T Intellectual Property I, Lp Method and apparatus for delivering IP multimedia subsystem services
US7966625B2 (en) * 2006-10-26 2011-06-21 International Business Machines Corporation Extending web service description language for SIP/call flow interactions
US9229726B2 (en) * 2006-10-26 2016-01-05 International Business Machines Corporation Converged call flow and web service application integration using a processing engine
US8214514B2 (en) * 2006-10-26 2012-07-03 International Business Machines Corporation Auto-generation or auto-execution of web service description language call flow implementation
US8671199B2 (en) * 2006-10-26 2014-03-11 International Business Machines Corporation Converged call flow modeling and converged web service interface design
US8187227B2 (en) * 2006-11-01 2012-05-29 Medela Holding Ag Self returning contamination barrier
US7627683B2 (en) * 2006-12-27 2009-12-01 At&T Mobility Ii Llc System and method for dynamically refreshing an active home screen
US8695001B2 (en) * 2007-09-20 2014-04-08 Microsoft Corporation Loading services based on a request and setting permission level to enable execution of commands or services exposed based on a role of requester
CN105511847A (zh) * 2014-09-25 2016-04-20 中兴通讯股份有限公司 一种应用控制方法、装置及终端
CN109716298A (zh) * 2016-09-16 2019-05-03 华为技术有限公司 用于短周期性任务的有效调度器
CN110766379A (zh) * 2019-09-30 2020-02-07 北京字节跳动网络技术有限公司 一种业务流程的处理方法、装置、介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067637A (en) * 1997-05-16 2000-05-23 At&T Corp Data reduction technique for rule based systems
US20010020249A1 (en) * 2000-03-03 2001-09-06 Logicplant Co., Ltd. System for automatically providing internet services
CN1435764A (zh) * 2002-02-01 2003-08-13 上海贝尔阿尔卡特移动通信系统有限公司 并发事件处理方法及使用该方法的基于万维网的应用系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133834B1 (en) * 1992-08-06 2006-11-07 Ferrara Ethereal Llc Product value information interchange server
US20020178034A1 (en) * 1996-04-10 2002-11-28 Christopher W. Gardner Airline travel technologies
US6363411B1 (en) * 1998-08-05 2002-03-26 Mci Worldcom, Inc. Intelligent network
US6278978B1 (en) * 1998-04-07 2001-08-21 Blue Pumpkin Software, Inc. Agent scheduling system and method having improved post-processing step
US6732188B1 (en) * 1999-12-15 2004-05-04 Avaya Technology Corp. Method for providing customer treatment based on specified rules in conjunction with network source address of a request originator
US7236976B2 (en) * 2000-06-19 2007-06-26 Aramark Corporation System and method for scheduling events and associated products and services
US7206848B1 (en) * 2000-09-21 2007-04-17 Hewlett-Packard Development Company, L.P. Intelligently classifying and handling user requests in a data service system
US7346537B2 (en) * 2001-05-24 2008-03-18 International Business Machines Corporation Business method of providing a channel for delivering and distributing events based on a subscription model for service providers to enhance sales opportunities
US20020133325A1 (en) * 2001-02-09 2002-09-19 Hoare Raymond R. Discrete event simulator
US7024662B2 (en) * 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US6820075B2 (en) * 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion
US7797450B2 (en) * 2002-10-04 2010-09-14 Oracle International Corporation Techniques for managing interaction of web services and applications
US7783499B2 (en) * 2003-03-03 2010-08-24 International Business Machines Corporation Framework for dynamic composition of web services
US20040225654A1 (en) * 2003-05-09 2004-11-11 International Business Machines Corporation Techniques for invoking services based on patterns in context determined using context mining
US20050038708A1 (en) * 2003-08-10 2005-02-17 Gmorpher Incorporated Consuming Web Services on Demand
US7289989B2 (en) * 2003-11-12 2007-10-30 International Business Machines Corporation Pattern based web services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067637A (en) * 1997-05-16 2000-05-23 At&T Corp Data reduction technique for rule based systems
US20010020249A1 (en) * 2000-03-03 2001-09-06 Logicplant Co., Ltd. System for automatically providing internet services
CN1435764A (zh) * 2002-02-01 2003-08-13 上海贝尔阿尔卡特移动通信系统有限公司 并发事件处理方法及使用该方法的基于万维网的应用系统

Also Published As

Publication number Publication date
CN1620064A (zh) 2005-05-25
US7533383B2 (en) 2009-05-12
US20050108388A1 (en) 2005-05-19

Similar Documents

Publication Publication Date Title
CN100479458C (zh) 调度基于模式的Web服务的方法、系统和装置
CN1716251B (zh) 用于访问web服务的方法和装置
US7529833B2 (en) Method, system, and web service broker for dynamic web service invocation
EP1869827B1 (en) Determining operational status of a mobile device capable of executing server-side applications
EP1585276A1 (en) Method and apparatus for automatic notification and response
US7996840B2 (en) Method, system, and apparatus for scheduling pattern based web services
US20140297809A1 (en) Apparatus and method for processing multiple open apis
CN101493828A (zh) 主动式自动订制web应用的系统和方法
US20130013444A1 (en) Service Selection for Reduced Composition Cost
US8326913B2 (en) Method and system for service contract discovery
CN111125518A (zh) 家电信息推荐的系统及方法
CN100359848C (zh) 处理针对多个Web服务的请求的方法、服务器及系统
CN100352198C (zh) 用于处理对Web服务的请求的方法和系统
CN101562622B (zh) 一种执行用户请求的方法及其对应的服务器
US20060224431A1 (en) Data processing method, system and computer program
CN110119269B (zh) 控制任务对象的方法、装置、服务器及存储介质
CN114090304B (zh) 一种基于消息中间件的消息回放方法和装置
CN110275785A (zh) 数据处理方法、装置、客户端和服务器
CN100438402C (zh) 用于请求网络设备所提供的服务的装置和方法
CN115439080A (zh) 工单自动化处理方法及电子设备
CN112019452B (zh) 一种业务需求的处理方法、系统及相关装置
CN111158671B (zh) 基于注册和定向扫描的微服务架构软件模块动态加载方法
CN101482816A (zh) 中介软件桥接系统及方法
KR20010104142A (ko) 무선 이동 통신 시스템 기반 메시지 서비스 방법 및 장치
CN100562866C (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090415

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