New! Search for patents from more than 100 countries including Australia, Brazil, Sweden and more

CN101087312B - System and method for managing web services - Google Patents

System and method for managing web services Download PDF


Publication number
CN101087312B CN 200710110709 CN200710110709A CN101087312B CN 101087312 B CN101087312 B CN 101087312B CN 200710110709 CN200710110709 CN 200710110709 CN 200710110709 A CN200710110709 A CN 200710110709A CN 101087312 B CN101087312 B CN 101087312B
Prior art keywords
web service
Prior art date
Application number
CN 200710110709
Other languages
Chinese (zh)
Other versions
CN101087312A (en
Original Assignee
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
Priority to EP20060011491 priority Critical patent/EP1863258B1/en
Priority to EP06011491.5 priority
Application filed by 软件股份公司 filed Critical 软件股份公司
Publication of CN101087312A publication Critical patent/CN101087312A/en
Application granted granted Critical
Publication of CN101087312B publication Critical patent/CN101087312B/en



    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/02Network-specific arrangements or communication protocols supporting networked applications involving the use of web-based technology, e.g. hyper text transfer protocol [HTTP]
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2814Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for data redirection
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2823Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for conversion or adaptation of application content or format


A system for managing a plurality of web services of a service oriented architecture (SOA) comprising a registry (30) including a description of each of the plurality of web services (20) registered in the registry, a service filter (40) adapted to filter at least one request of a client (10) invoking at least one of the web services (20) registered in the registry, wherein the service filter (40) is adapted for gathering run-time information about the request in accordance with the description of the respective web service in the registry (30).


用于管理web服务的系统和方法 System and method for managing web services

技术领域 FIELD

[0001] 本发明涉及用于管理面向服务的软件体系结构的web服务的系统和方法。 [0001] relates to a web service management service oriented software architecture of the system and method of the present invention. 背景技术 Background technique

[0002] web服务是用于通过计算机网络(例如因特网)从一个计算机向另一计算机交换数据的标准化接口。 [0002] web service is a standardized interface for exchanging data to another computer via a computer network (e.g. the Internet) from a computer. 应用可以利用由服务器提供的web服务通过计算机网络向服务器请求数据。 Application may use the web service provided by the server request data to the server through a computer network. 这种请求通常被封入在利用HTTP传送的SOAP包封中,并且可包括XML以及其他与web有关的标准。 Such a request is typically enclosed in a SOAP envelope using the HTTP transmission, and can include a web with XML and other relevant criteria. 技术上更高级的应用组合各种web服务以获得或处理期望数据。 Technically more advanced applications combining various web services to obtain the desired data or processing. 围绕多个web服务开发的软件体系结构被称为面向服务的体系结构(SOA)。 Around multiple web services developed software architecture, called service-oriented architecture (SOA).

[0003] 在SOA中,资源对于网络中的参与者来说是可用的,其被当作参与者可以按标准化方式访问的独立服务。 [0003] In an SOA, resources for participants in the network is available, it can be treated as participants in a standardized way to access independent service. 虽然SOA的大多数定义使用经由TCP/IP上的HTTP/HTTPS传送的SOAP请求,但是SOA可以使用任何基于web服务的技术。 While most definitions of SOA using transmitted via HTTP / HTTPS on TCP / IP, SOAP requests, but you can use any technology SOA-based web services. web服务基于形式定义协同工作, 形式定义与下层的平台和编程语言是无关的。 Based on the definition of the form of web services to work together with the formal definition of the underlying platform and programming language independent. 接口定义封装了特定实现方式。 Interface definition encapsulates the specific implementations. SOA与特定的开发技术(例如Java和.NET)无关。 SOA and the development of specific technologies (such as Java and .NET) has nothing to do. 软件组件变得高度可重用,因为接口是遵从标准的, 并且与web服务逻辑的下层实现方式无关。 It becomes highly reusable software components, because the interface is standards-compliant and is independent manner with the web service of the underlying logic. 例如,C#(C Sharp)服务可被JAVA应用所使用, 反之亦然。 For example, C # (C Sharp) service could be used by a JAVA application and vice versa.

[0004] 然而,管理SOA是一项复杂和困难的任务。 [0004] However, SOA management is a complex and difficult task. 维护web服务的整体情况的全局视图(某些web服务可能随时间动态改变)对于确保使用各种web服务的应用正确地工作来说是很重要的。 Safeguard the overall situation of the global web services view (some web services may dynamically change over time) to ensure that applications using a variety of web services work correctly is very important. 因此,在现有技术中已知提供一种集中化的注册库(registry)/贮藏库(r印ository),例如CentraSite或Systinet 2。 Thus, in the prior art known to provide a centralized registry (registry) / Repository (r printing ository), e.g. CentraSite or Systinet 2. 这种注册库/贮藏库的工作的基本原理在图1中示出。 The basic principle of such a registry / repository is shown in FIG.

[0005] 如图所示,集中化的注册库包括对SOA的web服务的描述。 [0005] As shown, a centralized registry of the SOA includes a description of the web service. 每个web服务由web 服务描述语言(WSDL)文件描述,并且利用API (例如UDDI)注册。 Each web service description file by the web service description language (WSDL), and using the API (such as UDDI) registry. WSDL文件通常包含关于相应web服务的功能、数据、数据类型和交换协议的信息。 WSDL files usually contain function on the corresponding web services, information and data, data types and exchange protocols. 想要向某一web服务发送请求的客户端可以从web服务自身或者从注册库/贮藏库获得WSDL文件,以找出如何访问web服务。 Wants to send a request to a web service from the web service client can get the WSDL file itself or from the registry / repository, to find out how to access the web service. 如图1所示,注册库/贮藏库提供了用于访问存储在注册库中的信息和用于其管理的各种API。 1, the registry / repository provides various API to access information stored in the registry and for its management. 除了WSDL文档和服务的注册以外,注册库/贮藏库还可用于存储与服务有关的任何类型的工件(artefact),例如策略。 In addition to the WSDL document and registration services, registry / repository service may also be used to store any type of workpiece-related (Artefact), such as policy.

[0006] 集中化的注册库可用于SOA的新应用的设计时期。 [0006] centralized registry can be used to design new applications during the SOA. 涉及一个或多个web服务的新应用的开发者可以使用所存储的信息来确保应用中所涉及的SOA的web服务接收其需要的数据,并且可以按新应用所期望的那样交互。 Involving one or more web services of new applications developer can use the stored information to ensure SOA applications involved web service receives the data it needs, and can interact as desired by the new application. 然而,图1的注册库没有提供任何运行时期(runtime)信息,并且不允许执行(enforce)与一个或多个web服务有关的策略或服务级别协定。 However, the registry Figure 1 does not provide any runtime (runtime) information, and does not allow execution (enforce) the relevant policies or service level agreements with one or more web services. 运行时期信息例如有助于提高或监视涉及SOA的多个web服务的新应用的性能和稳定性。 Runtime information such as help improve or monitor the performance and stability of new applications involving multiple web services SOA.

[0007] WO 2004/10297公开了一种自治软件代理,其被布置在客户端和web服务之间。 [0007] WO 2004/10297 discloses an autonomous software agent, which is disposed between the client and the web service. 在由用户配置后,自治软件代理可以监视并影响web服务的操作,而不影响web服务自身。 After configured by the user, autonomous software agents can monitor and affect the operation of web services, without affecting the web service itself. 然而,将WO 2004/10297的教导应用于具有大量web服务的复杂体系结构需要对同样大量的自治软件代理进行费时的手工配置。 However, the teaching of WO 2004/10297 is applied to the complex architecture has a large number of web services requires an equally large number of autonomous software agents time-consuming manual configuration.

[0008] 因此,本发明要解决的技术问题是提供一种用于管理SOA的web服务的更高效的方式,其允许获得关于SOA的web服务的运行时期信息,从而克服现有技术的上述不足。 The above problems [0008] Accordingly, the present invention is to solve the technical problem of providing a more efficient way for managing the SOA web service, which allows to obtain information about the SOA runtime web service, thereby overcoming the prior art .


[0009] 在本发明的一方面中,该问题由一种用于管理面向服务的体系结构(SOA)的多个web服务的系统来解决,该系统包括注册库和服务过滤器,注册库包括在注册库中注册的对多个web服务中的每一个的描述,服务过滤器适合于过滤调用在注册库中注册的web服务中的至少一个的客户端的至少一个请求,其中服务过滤器适合于根据注册库中对相应web 服务的描述收集关于请求的运行时期信息。 [0009] In one aspect of the present invention, this problem is by a method for managing a service oriented architecture (SOA) of the plurality of web service systems to address the system comprises a service registry and filters, including registry registered in the registration database description of the plurality of web services for each of the service filter adapted to filter call registry registered web services at least one client at least one request terminal, wherein the service filter is adapted to collect run time information about the request based on the description of the registry in the corresponding web service.

[0010] 因此,本发明的服务过滤器使用已经可用的对web服务的描述来收集关于web服务的运行时期信息。 [0010] Thus, the service filter of the invention is described using the web service already available to collect runtime information about the web service. 因此,在注册库中定义的描述不仅在设计时可用于导出这多个web服务是如何工作的,还另外定义了在运行时期要从相应web服务收集的信息,即,何时来自客户端的请求实际由web服务提供服务。 Therefore, the description defined in the registry not only in the design can be used to derive this multiple web service is how it works, and additionally defines the information collected from the corresponding web service at run time, that is, when the client's request from the actual service provided by the web service. 因此,本发明的注册库是整个SOA的中心点。 Therefore, the registry of the invention is the center point of the entire SOA. 不需要额外步骤/手工步骤来确保来自web服务的运行时期数据的收集。 No additional steps / manual steps to ensure the collection of runtime data from the web service.

[0011] 在一个实施例中,服务过滤器还适合于在运行期间根据注册库中对相应web服务的描述修改请求。 [0011] In one embodiment, the service filter is further adapted to modify the request during runtime in accordance with the description of the respective web registry services. 修改请求可例如包括将去往第一web服务的请求重定向到在注册库中注册的第二web服务(或端点)。 Modification request may include, for example, registered in the registration redirect to a second web service library (or end) of a first web service request destined. 这可以有助于负载平衡或动态地替代发生故障的web服务。 This can help to load balancing or alternative web service fails dynamically.

[0012] 优选地,服务过滤器还适合于收集关于被调用的web服务的使用情况的统计数据,例如某一web服务的使用计数、带宽使用情况、身份、随时间(一天中的时间或更长的时间段)的分布、响应时间和数据量等等。 [0012] Preferably, the service filter is further adapted to collect statistical data on the usage of the web service is called, for example using a web service count, bandwidth usage, identity, over time (time of day, or more long period of time) distribution, the response time and the data amount and the like.

[0013] 此外,优选地,服务过滤器还适合于监督被调用的web服务的可用性,并且优选地在被调用的web服务不可用的情况下发出警报。 [0013] In addition, preferably, the service filter is further adapted to supervise the availability of the invoked web service, and preferably invoked web service alert case unavailable. 用于报警的策略(用于发起警报的条件、 报警的方法和接受者)可以存储在注册库中,从而允许单个的警报配置点。 Strategies for the alarm (conditions for initiating alerts, alarms and receiver methods) can be stored in the registry, thus allowing a single point of alarm configuration. 另外,注册库存储web服务的统治信息(所有者、责任),其可用于动态确定警报的接受者。 In addition, the rule repository stores information on registered web service (owner responsibility), which can be used to dynamically determine the alert recipients. 从而可以减少使用发生故障的web服务的应用的停用时间。 Which can reduce failure downtime application of web services.

[0014] 优选地,服务过滤器适合于在运行期间在注册库中执行至少一次查找,其中查找的结果确定服务过滤器对请求和/或来自web服务的响应的处理。 [0014] Preferably, the service filter is adapted to perform at least once during a lookup operation in the registration database, the result of determining where to find the service filter processing on the request and / or response from the web service. 因此,服务过滤器使用web服务的最新描述来确定其对运行时期信息的收集。 Therefore, the service filter uses the latest web service description to determine its collection of runtime information.

[0015] 在一个实施例中,由服务过滤器收集的运行时期信息优选地与对web服务的描述一同被存储在系统的注册库中。 [0015] In one embodiment, the information is preferably collected during the run by the service filter and the description of the web service is registered with the library stored in the system. 因此,开发者或任何其他用户可以容易地访问所获得的运行时期信息以及对相应web服务的描述。 Therefore, developers or any other users can easily run time information obtained as well as a description of the corresponding web service access. 将运行时期信息存储在注册库中还能够实现不平常的使用模式的搜索(例如用于欺骗检测)和趋势的辨别,例如用于预测未来的使用模式。 The information is stored in the registry run time library also enables unusual usage patterns of the search (for example for fraud detection) and identify trends, for example, used to predict future usage patterns.

[0016] 在一种替换方案中,服务过滤器被布置在服务代理上,服务代理甚至可能运行在与web服务自身不同的机器上。 [0016] In an alternative embodiment, the service filter is disposed on the service agents, service agents can even run on a different machine the web service itself. 使用独立的代理组件或者甚至使用独立的机器提供了用于实现服务过滤器的最大灵活性,而无论web服务的特定实现方式如何。 Use a separate proxy component or even use a separate machine to provide maximum flexibility for implementing the service filter, and no matter how specific implementations of web services.

[0017] 根据又一方面,本发明涉及一种用于管理面向服务的体系结构(SOA)的多个web 服务的方法,包括以下步骤:[0018] 提供注册库,该注册库包括在注册库中注册的对多个web服务中的每一个的描述, [0017] According to another aspect, the present invention relates to a method for managing a service oriented architecture (SOA) of the plurality of web services, comprising the steps of: [0018] Providing registry, the registry comprises registries a description of each registered multiple web services,

[0019] 提供服务过滤器,该服务过滤器适合于过滤调用在注册库中注册的web服务中的至少一个的客户端的至少一个请求,以及 [0019] The filter service, the service filter adapted to filter calls registered in the registry of the web service in at least one of the at least one request of the client terminal, and

[0020] 利用服务过滤器根据注册库中对相应web服务的描述收集关于至少一个web服务的运行时期信息。 [0020] service using a filter to collect runtime information about at least one web service description registry in the corresponding web service.

[0021] 在从属权利要求中限定了对该方法的进一步修改。 [0021] Further modifications to the method defined in the dependent claims. 附图说明 BRIEF DESCRIPTION

[0022] 在下面的详细描述中,参考附图进一步描述了本发明的当前优选的实施例,在附图中: [0022] In the following detailed description, it is further described with reference to the drawings of presently preferred embodiments of the present invention, in the drawings:

[0023] 图1 :根据现有技术的具有对web服务的描述的注册库; [0023] FIG. 1: registry with a description of a web service according to the prior art;

[0024] 图2 :根据本发明的系统的实施例的全局视图; [0024] Figure 2: Example of the embodiment according to the global system view of the present invention;

[0025] 图3 :根据本发明的系统的另一实施例的全局视图; [0025] FIG 3: a global view of the system according to another embodiment of the present invention;

[0026] 图4 :图示了根据本发明一个实施例的用于收集运行时期信息所执行的各种步骤的流程图; [0026] Figure 4: illustrates a flow diagram of various steps for gathering information during the operation of an embodiment of the present invention is performed;

[0027] 图5 :在本发明的一个实施例中与对相应web服务的描述一同存储在注册库中的运行时期信息的样本输出;以及 [0027] Figure 5: Sample output one embodiment of the present invention is stored in the registration database together with the description of the respective web service runtime information; and

[0028] 图6 :存储在注册库中的与对各种web服务的请求的数目有关的运行时期信息的另一样本输出。 [0028] FIG. 6: the number of requests for various web services to run another sample output time information stored in the registry related.

具体实施方式 Detailed ways

[0029] 下面,针对管理仅有访问单个web服务20的单个客户端10的简化布置来描述本发明的系统和方法的实施例。 [0029] Hereinafter, embodiments will be described of systems and methods of the present invention for managing access to only a single web service client 20 a simplified arrangement of a single terminal 10. 然而,应当理解,本发明主要目的是促进对具有服务于多个客户端的请求的数十或数百web服务的大规模布置的管理。 However, it should be understood that the main object of the invention is to facilitate the management of large-scale arrangements to have dozens or hundreds of web service requests to service multiple clients are.

[0030] 如图所示,该系统包括注册库30。 [0030] As shown, the system 30 includes a registry. 注册库优选地包括用于存储和检索存储在注册库中的WSDL文件以及运行时期信息(如下所述)的一个或多个API 31。 Registry preferably includes a WSDL file, and running time information (described below) stored in the storage and retrieval library or a plurality of registration API 31. 另外,优选地包括用于管理注册库30的管理API 32。 Further, preferably comprises a registry 30. Management API 32.

[0031] 如图2中的双向水平箭头所示,客户端10发出请求11到web服务20,例如为了获得某些数据。 [0031] The bidirectional horizontal arrow shown in FIG. 2, the client 10 makes a request 11 to the web service 20, for example in order to obtain certain data. 优选地,来自客户端10的请求和响应都被当作XML文件利用例如HTTP上的SOAP发送。 Preferably, and in response to a request from the client 10 it is treated as an XML file, for example using SOAP over HTTP transmission. 然而,从客户端10接收的请求并不立即被web服务20处理,而是首先被服务过滤器40过滤。 However, the request received from the client 10 is not immediately processed by the web service 20, but the first filter 40 filtering service. 服务过滤器40截取进入的请求,按需要修改数据,随后将请求传递到原始web服务20。 40 taken into the filter service request, modify the data as necessary, and then passes the request to the original web service 20. 在处理了请求后来自web服务20的响应可以沿相反方向再次被服务过滤器40处理,并最终返回到客户端10。 After the processing in response to a request from the web service 20 may be the opposite direction again by filter 40 processing service, and ultimately returned to the client 10. 以这种方式,服务过滤器40在运行期间内获得关于请求和其可能的响应的信息,该信息随后被转发并存储在注册库30中,如图2中的箭头35所示。 In this manner, the service filter 40 during operation in the information about the request and the possible response, the message is then forwarded and stored in the registry 30, as shown by arrow 235 in FIG. 在该实施例中,用于服务过滤器40的被收集的运行时期信息和配置设置的传送是利用服务过滤器的API 41实现的,API 41与注册库30的API 31通信。 In this embodiment, the service filter for communicating information and configuration settings are collected during the run 40 of the filter using the service API 41 is implemented, communications API API 41 and 31 registered in the database 30.

[0032] 在一种非常简单的情形中,由服务过滤器40提供的运行时期信息可能仅仅是关于SOA的哪个实体在什么时间调用哪个web服务的信息。 [0032] In a very simple case, the run time information provided by the service filter 40 may simply be information about which web services which entity SOA call at what time. 在更高级的实施例中,服务过滤器40将获得更多信息,例如涉及到的用户帐户、请求和其响应的大小、处理时间、故障等等。 In a more advanced embodiment, the filter 40 to the service additional information, for example, related to the user account, the size of the request and its response, the processing time, the failure and the like. 从更为结构化的视角来看,可以区分下面四种不同的技术领域,由服务过滤器40收集的运行时期信息可能与这些领域有关: From the perspective of a more structured, we can distinguish the following four different technical fields, runtime information gathered by the service filter 40 may be related to these fields:

[0033] 首先,运行时期信息可以揭示在SOA中涉及的web服务的统计信息。 [0033] First, the operation period information may reveal statistics involved in SOA web services. 诸如使用计数、具有带宽使用和身份的互连图的提供、随时间(一天的时间或更长的时间段)的分布以及响应时间和被发送的数据量之类的统计信息为SOA的管理员提供了对所涉及的web服务的使用情况的集中视图。 Such as usage count, provided with the interconnection diagram of bandwidth usage and identity, distribution, and response time statistics and the amount of data to be transmitted and the like over time (time of day or longer period) for SOA administrators It provides a centralized view of the use of web services involved.

[0034] 另一方面是SOA的技术监视,其涉及在出现某些事件(例如web服务的不可用) 的情况下向正确的联系者发送警报。 [0034] Another aspect is to monitor SOA technology, which involves the appearance of certain events (for example, web service is not available) alert is sent to the correct contact person in the case. 由服务过滤器40提供的监视还可涉及病毒和安全检查,对于新应用的开发的调试支持,并且一般还涉及对由SOA的web服务提供的服务质量的评估。 Monitoring service provided by the filter 40 can also involve viruses and security checking, debugging support for the development of new applications, and generally also involve an assessment of the quality of service provided by the SOA web services. 由于所有被收集的信息都被反馈回注册库30,因此注册库30允许使被监视的SOA从中心点开始一直运行,并且基于历史数据评估其成功。 Since all information is collected are fed back to the registry 30, 30 therefore allows the registry to be monitored from a central point to start SOA has been run, and based on historical data to assess its success.

[0035] 除了收集关于SOA的信息以外,在更高级的实施例中,服务过滤器40还可以主动改变对请求的处理。 [0035] In addition to gathering information on the outside of the SOA, a more advanced embodiment, the service filter 40 may also take the initiative to change the processing of the request. 如果服务过滤器40将最初去往某一web服务20的请求重定向到另一web服务(未在图2中示出),则可以实现诸如松散耦合之类的动态概念。 If the service filter 40 will initially destined for a web service request 20 is redirected to another web service (not shown in FIG. 2), such as a dynamic concept can be achieved loose coupling or the like. 该技术特征允许在来自客户端10的请求中使用动态端点,例如在某一web服务面对超过其处理能力的大量请求的情况下用于负载平衡,或者该技术特征允许将发送到发生故障的web服务的请求自动重定向到备用web服务(未在图2中示出)。 This technical feature allows dynamic endpoint in the request from the client 10, for example, a web service in the face of a large number of requests exceeds its processing capacity for load balancing, or the technical characteristics allow to send to failed requested web service is automatically redirected to the alternative web service (not shown in FIG. 2). 重定向的条件和细节也可以存储在注册库中,从而提供了单个控制点。 Redirection conditions and details may be stored in the registration database, thereby providing a single point of control.

[0036] 最终,运行时期信息的收集可用于执行策略或服务级别协定,例如关于web服务对某一请求的预定响应时间。 [0036] Finally, the runtime can be used to collect information on the implementation of policies or service level agreements, for example with respect to a predetermined web service response time for a request.

[0037] 在图2的实施例中,执行上述功能的服务过滤器40被实现为web服务20的附加(add-on)功能,例如从专用web服务器和.Net环境(IIS、ASP)到web服务20的基于J2EE 或Java Servlet的安装的平台,这些平台的细节对于本领域技术人员来说是公知的。 [0037] In the embodiment of FIG. 2, performing the above functions and services filter 40 is implemented as a web service additional (add-on) function 20, for example from a dedicated web server and .Net environments (IIS, ASP) to the web service platform based J2EE Java Servlet or installed, details of these platforms to the skilled artisan are known 20.

[0038] 图3表示本发明的系统的替换实施例,其中服务过滤器40充当与web服务20/应用服务器相分离的服务代理45,其甚至可能运行在与web服务20不同的机器上。 [0038] Figure 3 shows an alternative embodiment of the system of the present invention, wherein the service filter 40 acts as a web service and the application server 20 separate service / Agent 45, which may be even with the web service running on a different machine 20. 在这种情况下,在注册库30中对web服务20的描述针对客户端进行修改,从而web服务20的实际端点由代理45的URL替代。 In this case, the registry 30 to 20 describe web services for the client to be modified so that the web service endpoint 20 is replaced by the actual URL proxy 45. 这之所以是可能的,是因为注册库30对SOA的每个web服务的描述(其被注册到注册库30)有完全的控制。 The reason this is possible is because the description of the registry 30 for each web SOA service (which is registered to the registry 30) have complete control. 由于URL的改变,在运行期间客户端10将调用代理45,代理45随后在收集了运行时期信息和/或修改了请求之后将请求转移到实际的web服务20。 Due to changes in the URL, the client 10 runs during the call agent 45, Agent 45 then collect the information and / or modify the request after the request is transferred to the actual running time of 20 web services. 对于来自web服务20的响应,反方向发生相同的过程。 The response from the web service 20, the same process occurs in the opposite direction.

[0039] 下面,参考图4的流程图详细说明由图2或3的实施例的服务过滤器40执行的对进入请求的示例性处理。 [0039] Next, with reference to the flowchart of FIG. 4 to enter detailed exemplary process performed by the service request filter of the embodiment 40 of FIG. 2 or 3 will be described.

[0040] 对进入请求的处理开始于步骤100,在步骤100确定进入请求是否是SOAP请求。 [0040] processing incoming request begins at step 100, at step 100 determines that the incoming request is a SOAP request. 在图4的非限制性实施例中,只有SOAP请求被过滤以获得运行时期信息。 In the non-limiting embodiment of FIG. 4, only SOAP requests are filtered to obtain the run time information. 如果该请求是SOAP请求,则在步骤101中利用在请求头部中指示的URL识别请求所寻址的web服务(如果不仅过滤SOAP请求,还过滤其他类型的请求,则其他技术可用于识别在进入请求中寻址的web服务)。 If the request is a SOAP request, the identification request using the URL indicated in the request header addressed web service in step 101 (if not filtered SOAP request, further filtering other types of requests, other techniques may be used to identify request into the addressed web service).

[0041] 步骤102包括可选地在注册库30中进行查找以获得对请求所寻址的web服务的当前描述,具体而言是确定在运行时要从请求和/或其响应收集哪些信息以及该请求是否要(额外地)被修改。 [0041] Step 102 optionally includes a register in lookup database 30 to obtain the current description of the requested web service addressed, specifically from the request is determined at run time and / or what information is collected and response whether the request to (additionally) be modified. 可以在查找步骤102期间获得并且在后续步骤103中被评估的信息可能涉及被寻址的web服务是否被标记进行报告,即在注册库的描述中是否标记了要针对该特定web服务收集运行时期数据。 And the information can be obtained in a subsequent step 103 may be evaluated relates to web service addressed during discovery step 102 is marked for reporting, i.e. whether the library described registration mark to serve the collection period for that particular web run data. 在具有数百个web服务的SOA中,只有选定的web服务可能与获得运行时期信息或修改来自客户端的请求有关。 In the SOA with hundreds of web services, only the selected web service runtime information may be obtained from the client or modify the request related.

[0042] 如果相应web服务没有被标记进行报告(即,没有被标记收集运行时期信息),或者甚至不为过滤器所知,则其在步骤104中被转发并由所寻址的web服务处理,而不再涉及服务过滤器。 [0042] If the corresponding web service report is not marked (i.e., not marked collected runtime information), or even the filter is not known, then it is forwarded by the web service addressed by the process in step 104 instead of involving service filter. 在这种情况下,可以发送警报以告知存在未知服务这样的事实。 In this case, you can send an alert to inform the fact that there is such an unknown service.

[0043] 否则,在步骤105中从请求收集运行时期信息,例如与请求客户端、主机、时间戳和大小等有关的信息。 [0043] Otherwise, for example, information related to the information request in step 105 and the run time was collected from a requesting client, a host, a time stamp and size. 所有对运行时期信息的上述替换(以及对进入请求的可能修改)都可以在该步骤中由过滤器获得。 All of the above alternative running time information (and may modify incoming requests) can be obtained by the filter in this step. 所获得的运行时期信息可以存储在本地,如图4所示,或者被立即发送到注册库(未示出)。 Run time information obtained may be stored locally, as shown in FIG. 4, or is immediately sent to the registry (not shown).

[0044] 在步骤105中从请求中收集了运行时期信息之后,在步骤106中该请求被转发到web服务。 After [0044] Run time information collected from the request in step 105, in step 106 the request is forwarded to the web service. 来自web服务的响应在步骤107中被服务过滤器处理,并且同样地存储在本地或者被立即转发到注册库。 Response from the web service is the service filter process in step 107, and similarly stored locally or forwarded immediately to the registry. 如果步骤105和107的结果被存储在本地,则还有另一步骤108, 其中所有结果被发送到注册库。 If the result of steps 105 and 107 is locally, there is another storage step 108, wherein all the results are sent to the registry. 随后,在步骤109中来自web服务的响应被返回到客户端。 Subsequently, in step 109 from the web service response is returned to the client. 然而,该响应也可以在运行时期信息被发送到注册库之前或与之同时被转发到客户端。 However, the response can also be run during the information is sent to or simultaneously with the client before being forwarded to the registry. 另夕卜,所获得的数据可以不在每一请求之后被立即发送到注册库,而是例如仅在经过了一定量的时间之后或者在处理了预定数目的请求之后被周期性地发送到注册库。 After Bu Xi after another, the data obtained may not each request is immediately sent to the registry, but for example only after a certain amount of time or a predetermined number of processing requests are sent periodically to the registry .

[0045] 结果,注册库30包括被注册的web服务的所有信息,即其描述和运行时期信息。 [0045] The results, including 30 registered web services registry of all the information, that is, its description and runtime information. 该运行时期信息示例性地显示在图5的截屏图中。 The run time information exemplarily shown in the screenshot of FIG. 5. 如图所示,所显示的表包括具有示例性运行时期信息的各个列。 As shown, the display includes a table having each column exemplary runtime information. 而最左边的一列标识web服务,第三列指示联系服务的客户端的IP 地址。 The leftmost column identifies the web service, contact the service of the third column indicates the IP address of the client. 另外的列指示请求大小和其响应以及用户、提供web服务的服务器、服务器的端口和URL,该URL被用在请求中以联系web服务。 Further the size column indicates a request and response and the user, the web service providing server, port and the URL of the server, the URL in the request is used to contact the web service. 最后两列包含请求和相应的响应的时间戳。 The last two columns contain the timestamp of the request and corresponding response. 该简化示例已经能够导出关于web服务的性能的有价值信息,因为这两个时间戳之间的时间差反映了用于为相应请求提供服务的响应时间。 This simplified example has been possible to derive valuable information regarding the performance of the web service, because the time difference between two timestamps reflect the response time for providing the service for the corresponding request.

[0046] 图6表示可以从注册库30获得的与被注册的web服务有关的运行时期信息的另一示例。 [0046] FIG 6 shows another example of information about the period of operation from the web service may be registered in the registry 30 is obtained. 圆形分格图(pie chart)表示在某一时间段期间对SOA的web服务的若干请求的比较结果。 FIG pie (pie chart) showing a comparison result of the number of requests during a certain period of SOA web service. 从而,管理员可以容易地识别更常被请求的web服务(例如,web服务“XCITransformerService,,)。 Thus, the administrator can easily recognize the more commonly requested web service (e.g., web service "XCITransformerService ,,).

[0047] 如果一个web服务被过多请求,则该情形将反映在图6的圆形分格图中,并且管理员可以立即起动应对措施,例如将去往过载的web服务的其他请求重定向到另一端点。 [0047] If too many requests a web service is, the case will be reflected in FIG pie FIG. 6, and the administrator can immediately start countermeasures, for example, go to overloaded other web service request redirection to the other end. 结果,所描述的系统和方法允许用户获得对所管理的SOA的静态和动态方面的全局视图和控制。 As a result, the system and method described herein allows users to obtain static and global view of management and control of the dynamics of the SOA.

Claims (16)

1. 一种用于管理面向服务的体系结构的多个web服务的系统,包括:a.注册库(30),包括在所述注册库(30)中注册的对所述多个web服务Q0)中的每一个的描述;b.服务过滤器(40),其适合于过滤调用在所述注册库(30)中注册的所述web服务(20)中的至少一个的客户端的至少一个请求(11);c.其中所述服务过滤器GO)适合于根据所述注册库(30)中对相应web服务00)的描述收集关于所述请求(11)和为该请求提供服务的web服务00)的运行时期信息,该系统的特征在于:d.该系统适合于将由所述服务过滤器GO)收集的信息与对所述web服务00)的描述一同存储在所述注册库(30)中。 1. A system for managing a plurality of web services architecture and services, comprising:. A registry (30) comprising registered in the registry (30) in the plurality of web services Q0 described) each of the;. b service filter (40), adapted to call the registry filter register (30) of said web service 20) (at least one of the at least one request of the client terminal (11);. c wherein the service filter GO) is adapted to (30) of the respective web service 00) is collected according to the registration database described with respect to the request (11) for providing services and web service requests 00) the run time information, the system being characterized in that:. d by which the service system is adapted to filter GO) information collected with the description of the web service 00) is stored with the registry (30) in.
2.如权利要求1所述的系统,其中所述服务过滤器GO)还适合于在运行期间根据所述注册库(30)中对所述相应web服务O0)的描述修改所述请求(11)。 2. The system according to claim 1, wherein the service filter GO) is further adapted to modify the description of the respective web service O0) in (30) according to the registration request during operation of the library (11 ).
3.如权利要求2所述的系统,其中修改请求(11)包括将去往第一web服务的请求(11) 重定向到在所述注册库(30)中注册的第二web服务。 The system according to claim 2, wherein the modification request (11) comprises redirecting to a registered in the registry (30) in the first web a second web service requests and services (11) destined.
4.如权利要求1-3中的任何一个所述的系统,其中所述服务过滤器00)还适合于收集关于被调用的web服务O0)的使用情况的统计数据。 4 further adapted to collect usage statistics on the web service is invoked O0) of the system according to any one of claims 1-3, wherein the service filter 00).
5.如权利要求1-3中的任何一个所述的系统,其中所述服务过滤器00)还适合于监督被调用的web服务O0)的可用性。 5. The system of any one of 1-3, wherein the service filter 00) as claimed in claim, further adapted to supervise the invoked web service O0) availability.
6.如权利要求5所述的系统,其中所述服务过滤器00)还适合于在被调用的web服务(20)不可用的情况下发出警报。 The system as claimed in claim 5, wherein the service filter 00) is further adapted to alert the called service in the web (20) is unavailable.
7.如权利要求1-3中的任何一个所述的系统,其中所述服务过滤器G0)还适合于在运行期间在所述注册库(30)中执行至少一次查找,其中所述查找的结果确定对所述请求(11)和/或来自所述web服务O0)的响应的处理。 7. The system of any one of claims 1-3, wherein the service filter G0) is further adapted during operation 30) (performed at least once in the registration database lookup, the lookup wherein the result of the determination process request (11) and / or responses from the web service O0) of.
8.如权利要求1-3中的任何一个所述的系统,其中所述服务过滤器00)充当服务代理05)。 The system of any one of claim 1-3 wherein the service filter 00) acts as a service agent 05) as claimed in claim.
9. 一种用于管理面向服务的体系结构的多个web服务的方法,包括以下步骤:a.提供注册库(30),所述注册库(30)包括在所述注册库(30)中注册的对所述多个web服务00)中的每一个的描述;b.提供服务过滤器(40),所述服务过滤器适合于过滤调用在所述注册库(30)中注册的所述web服务00)中的至少一个的客户端(10)的至少一个请求(11);以及c.根据所述注册库(30)中对相应web服务00)的描述利用所述服务过滤器G0)收集关于至少一个请求(11)和为该请求提供服务的web服务00)的运行时期信息,该方法的特征在于:d.所述服务过滤器G0)将所收集的信息与对所述web服务00)的描述一同存储在所述注册库(30)中。 A method for managing a plurality of web services architecture and services, comprising the steps of:. A registry providing (30), the registry (30) is included in the registry (30) description of the plurality of registered web service 00) of each of the;. b service filter (40), the service filter adapted to filter the registry calls (30) registered in the at least one client (10) of the web service 00) in at least one request (11); and c (30) of the respective web service 00) is described according to the registration database by using the service filter G0). collecting runtime information about at least one request (11) and the web service servicing the request 00), the method being characterized in that:. d the service filter G0) and the collected information to the web service 00) together with the description stored in the registry (30).
10.如权利要求9所述的方法,其中所述服务过滤器00)在运行期间根据所述注册库(30)中对所述相应web服务(20)的描述修改请求(11)。 10. The method of claim 9 during operation (30) describes modification request (11) of the respective web service (20) in accordance with the registry as claimed in claim 00 wherein the service filter).
11.如权利要求10所述的方法,其中所述服务过滤器00)将去往第一 web服务的请求(11)重定向到在所述注册库(30)中注册的第二web服务。 11. The method according to claim 10, wherein the service filter 00) to redirect registered in the registry (30) in the first web a second web service requests and services (11) destined.
12.如权利要求9-11中的任何一个所述的方法,其中所述服务过滤器00)收集关于被调用的web服务00)的使用情况的统计数据。 12. collects statistics about the web service invoked 00) usage of a method according to any of claims 9-1, wherein the service filter 00).
13.如权利要求9-11中的任何一个所述的方法,其中所述服务过滤器00)监督被调用的web服务00)的可用性。 The method of any one of 9-11, wherein the service filter as claimed in claim 00,) is invoked web service supervision 00) availability.
14.如权利要求13所述的方法,其中所述服务过滤器00)在被调用的web服务OO) 不可用的情况下发出警报。 14. The method according to claim 13, wherein the service filter 00) in a web service is called OO) alarm case unavailable.
15.如权利要求9-11中的任何一个所述的方法,其中所述服务过滤器00)在运行期间在所述注册库(30)中执行至少一次查找。 15. The method according to any one of claims 9-11, wherein the service filter 00) during operation 30) (performed at least once in the registry lookup.
16.如权利要求9-11中的任何一个所述的方法,还包括提供所述服务过滤器00)充当服务代理0¾的步骤。 16. The method according to any one of claims 9-11, further comprising providing the service filter 00) serves as a step 0¾ service agent.
CN 200710110709 2006-06-02 2007-06-01 System and method for managing web services CN101087312B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20060011491 EP1863258B1 (en) 2006-06-02 2006-06-02 System and method for managing web services
EP06011491.5 2006-06-02

Publications (2)

Publication Number Publication Date
CN101087312A CN101087312A (en) 2007-12-12
CN101087312B true CN101087312B (en) 2012-07-04



Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710110709 CN101087312B (en) 2006-06-02 2007-06-01 System and method for managing web services

Country Status (6)

Country Link
US (1) US8180849B2 (en)
EP (1) EP1863258B1 (en)
CN (1) CN101087312B (en)
AT (1) AT421221T (en)
DE (1) DE602006004856D1 (en)
HK (1) HK1115776A1 (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2073123B1 (en) 2007-12-21 2014-03-12 Software AG Method and system for monitoring a service oriented architecture
CN101471939B (en) 2007-12-28 2012-07-04 中国科学院声学研究所 Multitime user authentication method for fusion business system with SOA architecture
FR2934099B1 (en) * 2008-07-17 2012-10-19 Alcatel Lucent Method for access to web server resources and implementing a such a process
US8161055B2 (en) * 2008-09-26 2012-04-17 International Business Machines Corporation Filter extraction in a service registry environment
EP2172879A1 (en) 2008-10-06 2010-04-07 Software AG Method and monitoring system for the rule-based monitoring of a service-oriented architecture
US8041722B2 (en) * 2008-10-07 2011-10-18 International Business Machines Corporation Refining collections of entities in a service registry environment
CN101414945B (en) 2008-10-15 2011-05-25 上海道仑软件有限公司 Method for processing service by construction platform system of information system
US8341212B2 (en) * 2008-10-30 2012-12-25 International Business Machines Corporation Service description refinement based on actual service use
US8707259B2 (en) * 2008-11-19 2014-04-22 Microsoft Corporation Framework for open dynamic reflective applications
US8219532B2 (en) 2008-12-22 2012-07-10 International Business Machines Corporation Smart mediation system in a service oriented architecture
US8271615B2 (en) 2009-03-31 2012-09-18 Cloud Connex, Llc Centrally managing and monitoring software as a service (SaaS) applications
MY164485A (en) * 2009-07-20 2017-12-29 Mimos Berhad A method and system for an intelligent framework of a service orientated architecture
US20110167026A1 (en) * 2010-01-07 2011-07-07 John Allan Baker Systems and methods for providing extensible electronic learning systems
US20120072307A1 (en) * 2010-09-21 2012-03-22 Farhang Kassaei Providing a marketplace for software services
CN102571727A (en) * 2010-12-31 2012-07-11 青岛海尔软件有限公司 Digital family-service-oriented architecture system
US9389922B2 (en) * 2011-03-11 2016-07-12 International Business Machines Corporation Declarative service domain federation
EP2557752B1 (en) * 2011-08-11 2017-09-27 Siemens Aktiengesellschaft Method and device for producing an end-to-end communication between two networks
US8776043B1 (en) 2011-09-29 2014-07-08 Amazon Technologies, Inc. Service image notifications
US9530156B2 (en) 2011-09-29 2016-12-27 Amazon Technologies, Inc. Customizable uniform control user interface for hosted service images
US9626700B1 (en) * 2011-09-29 2017-04-18 Amazon Technologies, Inc. Aggregation of operational data for merchandizing of network accessible services
CN102571989A (en) * 2012-03-09 2012-07-11 东莞华中科技大学制造工程研究院 Service-oriented architecture based cloud cutting layout system and implementation method for same
US9397987B1 (en) * 2012-03-23 2016-07-19 Amazon Technologies, Inc. Managing interaction with hosted services
US9258371B1 (en) 2012-03-23 2016-02-09 Amazon Technologies, Inc. Managing interaction with hosted services
EP2939401B1 (en) * 2012-12-27 2017-05-24 Telecom Italia S.p.A. Method for guaranteeing service continuity in a telecommunication network and system thereof
US9026652B1 (en) 2014-07-09 2015-05-05 Fmr Llc Web service asset management and web service information storage
CN104133717A (en) * 2014-08-26 2014-11-05 中电海康集团有限公司 Service automatic generation and deployment method for data open system
US10158551B2 (en) * 2015-12-16 2018-12-18 Software Ag Systems and/or methods for automated testing and monitoring of backend services
US20180048538A1 (en) * 2016-08-11 2018-02-15 Dell Products L.P. System and method for monitoring a service-oriented architecture in a load-balanced environment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549153B2 (en) * 2002-07-22 2009-06-16 Amberpoint, Inc. Apparatus and method for content and context processing of web service traffic
US20040111506A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation System and method for managing web utility services
US20040193703A1 (en) * 2003-01-10 2004-09-30 Guy Loewy System and method for conformance and governance in a service oriented architecture
AT361628T (en) * 2003-12-10 2007-05-15 Ibm A method for redirecting client requests to web services
US8516123B2 (en) * 2004-02-12 2013-08-20 Oracle International Corporation Runtime validation of messages for enhanced web service processing
US8484348B2 (en) * 2004-03-05 2013-07-09 Rockstar Consortium Us Lp Method and apparatus for facilitating fulfillment of web-service requests on a communication network
WO2005114488A2 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. System and method for actively managing service-oriented architecture
US8738759B2 (en) * 2004-09-23 2014-05-27 Hewlett-Packard Development Company, L.P. System and method for service response monitoring
US20060235733A1 (en) * 2005-04-13 2006-10-19 Marks Eric A System and method for providing integration of service-oriented architecture and Web services
US20070233782A1 (en) * 2006-03-28 2007-10-04 Silentclick, Inc. Method & system for acquiring, storing, & managing software applications via a communications network
US8230448B2 (en) * 2006-05-09 2012-07-24 Netiq Corporation Methods, systems and computer program products for web service interaction with a resource management system
US7865584B2 (en) * 2006-06-20 2011-01-04 Alcatel Lucent Network service performance monitoring apparatus and methods

Also Published As

Publication number Publication date
EP1863258A1 (en) 2007-12-05
DE602006004856D1 (en) 2009-03-05
US20070300240A1 (en) 2007-12-27
AT421221T (en) 2009-01-15
EP1863258B1 (en) 2009-01-14
CN101087312A (en) 2007-12-12
HK1115776A1 (en) 2009-08-07
US8180849B2 (en) 2012-05-15

Similar Documents

Publication Publication Date Title
Keller et al. The WSLA framework: Specifying and monitoring service level agreements for web services
Tian et al. Efficient selection and monitoring of QoS-aware web services with the WS-QoS framework
US7124062B2 (en) Services search method
US7287179B2 (en) Autonomic failover of grid-based services
US7949999B1 (en) Providing support for multiple interface access to software services
US20040049565A1 (en) Methods and apparatus for root cause identification and problem determination in distributed systems
US7886295B2 (en) Connection manager, method, system and program product for centrally managing computer applications
US20040117311A1 (en) Apparatus, methods and computer programs for metering and accounting for services accessed over a network
US20060015512A1 (en) System and method for performance management in a multi-tier computing environment
US20020129127A1 (en) Apparatus and method for routing a transaction to a partitioned server
US7296268B2 (en) Dynamic monitor and controller of availability of a load-balancing cluster
Papazoglou et al. Service-oriented computing: State of the art and research challenges
US6950874B2 (en) Method and system for management of resource leases in an application framework system
US7240325B2 (en) Methods and apparatus for topology discovery and representation of distributed applications and services
US20040049365A1 (en) Methods and apparatus for impact analysis and problem determination
Jacobsen et al. The PADRES publish/subscribe system
US20050273521A1 (en) Dynamically configurable service oriented architecture
US7853643B1 (en) Web services-based computing resource lifecycle management
US6748555B1 (en) Object-based software management
US20060031354A1 (en) Service oriented architecture
US20060080419A1 (en) Reliable updating for a service oriented architecture
US20050086297A1 (en) Managing virtual business instances within a computer network
US20100107172A1 (en) System providing methodology for policy-based resource allocation
US6857020B1 (en) Apparatus, system, and method for managing quality-of-service-assured e-business service systems
US20050021736A1 (en) Method and system for monitoring performance of distributed applications

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted