CN101174983B - System and method for managing a plurality of web services - Google Patents

System and method for managing a plurality of web services Download PDF

Info

Publication number
CN101174983B
CN101174983B CN 200710146445 CN200710146445A CN101174983B CN 101174983 B CN101174983 B CN 101174983B CN 200710146445 CN200710146445 CN 200710146445 CN 200710146445 A CN200710146445 A CN 200710146445A CN 101174983 B CN101174983 B CN 101174983B
Authority
CN
Grant status
Grant
Patent type
Prior art keywords
endpoint
ws3
web service
ws2
ws1
Prior art date
Application number
CN 200710146445
Other languages
Chinese (zh)
Other versions
CN101174983A (en )
Inventor
哈拉德·思科宁
基思·斯文森
约翰尼斯·瓦格纳
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
Grant date

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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]

Abstract

The present invention relates to system for managing a plurality of web services WS1, WS2, WS3, WS1', WS2', WS3'). The system may include a registry (10) with a description (WSDL1, WSDL2, WSDL3) for at least one of the plurality of web services, wherein the description of the at least one web service may comprise a first endpoint (WS1, WS2, WS3) for a first runtime condition and a second endpoint(WS1', WS2', WS3') for a second runtime condition.

Description

用于管理多个网络服务的系统和方法 System and method for managing multiple network services

技术领域 FIELD

[0001] 本发明涉及用于管理面向服务的软件体系结构的多个web服务的系统和方法。 [0001] The present invention relates to a system and method for managing a plurality of web service oriented software architecture and services.

[0002] 背景技术 [0002] BACKGROUND OF THE INVENTION

[0003] web服务是通过计算机网络(例如,因特网)在一个计算机和另一个计算机之间进行数据交换的标准化接口。 [0003] web services are standardized interfaces for exchanging data between a computer and another computer via a computer network (e.g., Internet). 应用程序可以使用服务器提供的web服务通过计算机网络请求来自服务器的数据。 An application can use the web service providing server request data from the server through a computer network. 这种请求通常包括在SOAP封装中,通过使用HTTP传送,并且可以包括结合其他web相关标准的XML。 Such a request typically includes a SOAP envelope, by using the HTTP transfer, and may include a combination of other web-related standards XML. 更多技术先进的应用程序结合各种web服务来获得或处理所希望的数据。 More advanced technology combined with a variety of applications or web services to get the desired processing data. 围绕多个web服务开发的软件结构被称作面向服务的体系结构(SOA)。 Software architecture around multiple web services development is called service-oriented architecture (SOA).

[0004] 在SOA中,资源作为参与者能够以标准化方式访问的独立服务而对网络的参与者可用。 [0004] In an SOA, an independent service resources as participants can access in a standardized manner and made available to participants in the network. 尽管SOA的多数定义使用通过基于TCP/IP的HTTP/HTTPS传送的SOAP请求,但是SOA可以使用任何基于web服务的技术。 While most definitions of SOA by using SOAP-based TCP / IP, HTTP / HTTPS request sent, but you can use any technology SOA-based web services. web服务基于独立于基础平台和编程语言的形式定义而互相作用(interoperate)。 web-based services independent of the underlying platform and programming language of form definitions and interact (interoperate). 接口定义包括具体的实现方式。 Interface definition comprises specific implementation. SOA独立于具体的开发技术(例如Java和.NET)。 SOA independent of the specific development technologies (such as Java and .NET). 因为接口符合标准并且独立于web服务逻辑的基本实现方式, 因此软件组件变得可以再度使用。 Because the interface and standards-compliant web services independent of the basic logic implementations, thus becomes reusable software components. 例如,C#服务可以通过JAVA应用程序使用,反之亦然。 For example, C # services through the use of JAVA applications, and vice versa.

[0005] SOA中的新应用程序的开发者需要访问由新应用程序使用的各种web服务。 [0005] new applications in SOA developers need access to various web services used by the new application. 这不仅提出了所涉及web服务的接口规格的可用性,而且提出了能够被调用来测试新应用程序的实际有效的web服务的提供。 This not only presents the interface specifications of web services involved in usability, but also put forward the offer can be invoked to test new applications of practical and effective web services. 然而,这种测试调用必须不干扰真实世界(real world) 0 例如,调用用于测试目的的金钱转移的web服务不得引起真实的金钱转移。 However, this test call must not interfere with the real world (real world) 0 For example, web service calls for testing purposes shall not give rise to real money transfer money transfer.

[0006] 在开发之后,当新的应用程序在其被批准用于生产使用之前要在一个较大型的设备中进行测试时,类似的情形发生。 [0006] After development, when the new application before it is approved for production use to be tested in a larger apparatus, a similar situation occurs. 此外,由于涉及在较大型设备中的开发阶段和测试阶段期间的稳定性或者结果生成的不同要求,可能必须创建由新的应用程序调用的web服务的新的测试示例。 In addition, due to the different requirements involved in or stability of the results during the development phase of larger equipment and testing phase generated you may have to create a new test sample web services called by the new application. 当该应用程序最终批准用于生产时,对各种测试web服务的调用必须由对实际服务的调用代替。 When the application is ultimately approved for production, web service calls to various test must be replaced by a call to the actual services. 交换用于开发的web服务的各种代替步骤、大规模的测试和最终生产具有将错误引入最终的应用程序的较大风险。 Various exchanges for the development of web services instead of steps, large-scale testing and final production has a greater risk of introducing errors into the final application.

[0007] 因此本发明的基本技术问题是提供一种系统和方法,该系统和方法克服现有技术的上述缺点,具体而言,其有助于涉及一个或多个web服务的新应用程序从不同的开发和测试阶段到实际配置的变化,而没有引入错误的风险。 [0007] Thus the basic technical problem of the present invention is to provide a system and method, a system and method which overcome the above disadvantages of the prior art, specifically, that facilitates involving one or more web applications and services from new different development and test phase to change the actual configuration without introducing the risk of errors.

发明内容 SUMMARY

[0008] 在本发明的一个方面中,通过一种用于管理多个web服务的系统来解决这个问题,该系统包括记录(registry),该记录包括用于多个web服务的至少一个的描述,其中所述至少一个web服务的描述包括用于第一运行时间条件的第一端点和用于第二运行时间条件的第二端点。 [0008] In one aspect of the present invention, to solve this problem by means of a management system for a plurality of web services, the system comprising a recording (Registry), the record including at least one of a plurality of web service description wherein said at least one web service description comprises a first endpoint for a first runtime condition and a second operating condition a second time to end.

[0009] 因此,用于不同运行时间环境(landscape)(例如,开发、测试、生产)的web服务能够在单个记录中进行管理,而不失去对环境的服务和所涉及的引入错误的风险的控制。 [0009] Thus, web services for different run-time environment (landscape) (for example, development, test, production) can be managed in a single record, without loss of service to the environment and the introduction of the risk of errors involved control. 在使用中,正确的端点可以根据各自的运行时间条件而被自动选择。 In use, the correct endpoints can be automatically selected according to the respective runtime condition. 结果,能够自动生成新 As a result, it can automatically generate new

4应用程序的各种测试和生产环境。 4 application of a variety of test and production environments.

[0010] 在一个实施例中,该系统还适用于在运行时间期间根据涉及由调用web服务的应用程序所提供的运行时间条件的环境信息的评估来选择第一和第二端点的其中一个。 [0010] In one embodiment, the system is also applicable to time during the operation to select one of the first and second endpoint according to the evaluation by the condition relates to the application runtime invoke the web service provided by the environmental information. 因此设置应用程序中单个变量的值允许确定使用哪一种环境,因为记录中的web服务的一个或多个描述自动包括适用于各自运行时间条件(例如,测试、配置等等)的端点。 Thus the value of a single variable is provided to allow the application to determine which environments, because one or more records of the automatic web service description inclusive applicable to the respective runtime condition (e.g., testing, configuration, etc.).

[0011] 在另一个实施例中,该系统还适用于在运行时间期间根据存储在记录中的运行时间条件来选择第一和第二端点的其中一个。 [0011] In another embodiment, the system is also applicable to time during the operation to select one of the first and second endpoint based on the operating time condition stored in the record. 该记录例如可以存储反映开发过程的当前状态并且从而选择用于新应用程序的web服务的合适环境的信息。 The record may be stored, for example, reflect the current state of the development process and to select a suitable environment information for the new web service application.

[0012] 在一个实施例中,在存储在记录中的用于web服务的第一和第二WSDL文档中定义第一和第二端点,第一和第二WSDL文档例如通过互相引用而彼此相关,其中WSDL文档的每一个可以针对其具体的运行时间条件而被标记。 [0012] In one embodiment, in a document defining the first and second WSDL first and second endpoints stored in the record for the web service, for example, the first and second WSDL documents are related to each other by reference to each other where each WSDL document can be marked for their specific run-time conditions.

[0013] 然而,在当前优选的实施例中,在用于web服务的单个WSDL文档中定义第一和第二端点,优选地作为WSDL文档的属性组件。 [0013] However, in the currently preferred embodiment, the first and second endpoints defined in a single WSDL document for the web service, preferably as a property component of the WSDL document. 结果,该记录存储web服务“对等方(twins)” 的WSDL描述,其中对等方中的一个被用于第一运行时间条件而另一个被用于另外的运行时间条件。 As a result, the recording storage web service "peer (Twins)" WSDL description, wherein one peer prescription for a first runtime condition is a further additional operating time and conditions were used. 在一个实施例中,在运行时间期间通过使用web服务的请求的SOA模块确定属性组件的值。 In one embodiment, during run-time by using a request of the web service SOA module determines the value of properties of a component.

[0014] 在当前优选的实施例中,第一端点适用于测试调用至少一个web服务的应用程序,而第二端点优选地适用于配置调用至少一个web服务的应用程序。 [0014] In the presently preferred embodiment, a first end suitable for application to test call at least one web service, whereas the second endpoint is preferably adapted to configure at least one application is invoked web service. 然而,本发明的原理也可以用于在其他环境之间进行选择,即,用于其他的运行时间条件。 However, the principles of the present invention may also be used to select between other environments, i.e. for other runtime conditions. 优选地,该系统还包括用于在运行时间期间监视多个web服务的端点的装置和用于在第一web服务被用用于第一运行时间条件的端点所调用并且第二web服务被用用于第二运行时间条件的端点所调用的情况下发出警告的装置。 Preferably, the system further comprises means for monitoring a plurality of time during operation of a web service endpoint and means for the first web service calling endpoint is used for a first runtime condition and a second web service is used warning means for issuing a second case where the end of the run-time conditions invoked. 监视功能避免了不一致性,不一致性可能在新应用程序的执行中引起错误。 Monitoring function to avoid inconsistencies, inconsistencies may cause errors in the implementation of the new application.

[0015] 根据另一个方面,本发明涉及一种用于管理多个web服务的方法,该方法包括将用于多个web服务的至少一个的描述存储在记录中的步骤,其中所述至少一个web服务的描述包括用于第一运行时间条件的第一端点和用于第二运行时间条件的第二端点。 [0015] According to another aspect, the present invention relates to a method for managing a plurality of web services, the method comprising the step of storing at least a description of a web service in a plurality of records, wherein the at least one web service description comprises a first endpoint for a first runtime condition and a second endpoint for a second runtime condition.

[0016] 本发明的系统和方法的实施例的进一步有利修改在进一步的从属权利要求中限定。 [0016] Further advantageous modifications of the embodiments of the system and method of the present invention are defined in further dependent claims.

附图说明 BRIEF DESCRIPTION

[0017] 在下文的详细描述中,参考附图进一步描述了本发明的当前优选实施例。 [0017] In the following detailed description, reference is made to the accompanying drawings further described presently preferred embodiments of the present invention.

[0018] 图1 :简化的SOA的示例的一般概述图,该简化SOA包括调用web服务的应用程序和具有web服务的描述的记录; [0018] Figure 1: a general overview of a simplified example of FIG SOA, the SOA comprising a simplified invoke the web service applications with recording and web service description;

[0019] 图2 :具有两种环境的SOA的简化概述图,所述两种环境具有多个web服务对等方;和 [0019] FIG. 2: SOA having a simplified overview diagram of two environments, the two environments having a plurality of web service peer; and

[0020] 图3 :示出了根据本发明一个实施例的系统和方法在运行时间期间所执行的步骤的流程图。 [0020] FIG 3: shows a flowchart of steps of a method and system of the present embodiment of the invention during run time to perform.

具体实施方式 detailed description

[0021] 图1给出了极其简化的SOA的概述图:应用程序30向web服务20发出请求31。 [0021] Figure 1 shows an overview of an extremely simplified SOA FIG: 30 to application 20 requesting the web service 31. 为此,应用程序30首先需要关于web服务20的接口定义的描述。 To do this, you first need to describe the application 30 on the web service interface definition 20. 这个描述40例如可以以web服务定义语言(WSDL)提供,这个描述40或者可以直接从web服务20获得,或者可以从记录10中获得(参考图1)。 This description may be a web service, for example, 40 define Language (WSDL) provided that this description is 40 or 20 may be obtained directly from the web service, or can be obtained (refer to FIG. 1) from the record 10.

[0022] 记录10优选地包括SOA所有web服务的描述,例如具有关于各个web服务的功能、数据、数据类型和交换协议的信息的WSDL文件40。 [0022] 10 preferably includes recording all web services of the SOA described, for example, a function on the various web services, WSDL file information data, and the data exchange protocol type 40. 因此,如果应用程序30要发送请求给web服务20,则应用程序30能够从记录10获得WSDL文件40来查找如何访问该web服务20。 Therefore, if the application 30 to send a request to a web service 20, the application 30 can obtain the WSDL file from record 1040 to find out how to access the web service 20.

[0023] 然而,当正在开发新的应用程序30时,需要多次联系已经用于测试目的的相关web服务20,例如需要验证web服务调用中的所有接口要求是否满足以及来自web服务的响应是否由应用程序30适当地接收和处理。 [0023] However, when new applications are being developed 30, you need to contact the web service has been used 20 times for testing purposes, such as the need to verify that all interface requirements for web service invocation meets and whether the response from the web service properly received and processed by the application program 30. 如果实际上采用web服务20,则这些测试调用的每一个都会引起一些真实世界的操作(例如机票的预订或者金钱从一个帐户到另一个帐户的转移)。 If in fact the use of web services 20, each of these tests will be called to cause some real-world operations (such as air ticket booking or transfer money from one account to another account). 在该上下文中,要注意到,web服务20可以位于因特网上的某个地方并且其操作可以不必由新应用程序30的开发者来控制。 In this context, to note, web services 20 may be located somewhere on the Internet and its operation may not have to be controlled by the new application developers 30.

[0024] 因此根据一个优选实施例,本发明提供了如图2所示意性示出的服务“对等方”:由图可见,记录10优选地存储相应web服务的单一描述WSDL1-WSDL3 (但是具有多个端点), 这些描述的每个都具有其所属的运行时间环境50或50'的引用。 [0024] Thus, according to one preferred embodiment, the present invention provides a service "Peer" 2 schematically illustrated in FIG: seen from the figure, a single record is preferably stored 10 described respective web service WSDL1-WSDL3 (but reference having a plurality of endpoints), which each have described their respective runtime environment 50 or 50 '. 术语“环境”指的是整个SOA 100的特定部分,其可以通过某中指定属性来区分。 The term "environment" refers to a particular portion of the overall SOA 100, which can be distinguished by a specified attribute. 在图2所示的简化实施例中,存在单独的测试环境50和单独的生产环境50'。 In the simplified embodiment shown in FIG. 2 embodiment, there is a separate test environment 50 and separate production environment 50 '. 两个环境50和50'提供至少部分相同的web 服务WS1-WS3和WS1,-WS3,,但只有生产web服务WS1,-WS3,在实际运行并且例如引起商业交易。 Two environments 50 and 50 'to provide at least part of the same web service WS1-WS3 and WS1, -WS3 ,, but only the production of web services WS1, -WS3, in actual operation, for example, lead to commercial transactions. 生产用的服务的测试版本(例如由某个第三方提供)能够自动生成并加入到记录10中。 Production test version of a service used (e.g., provided by a third party) can be automatically generated and added to the record 10.

[0025] 也可以使用其他类型的环境区分,例如,开发环境和较大型测试环境或者用于一个公司的环境和用于另一个公司的环境。 [0025] may be used to distinguish between other types of environments, for example, the development environment or test environment and larger for a company for the environment and the environment of another company. 此外,不仅可以存在两个环境,还可以存在三个或三个以上环境。 Further, there may be only two environments, may also be present three or more environments.

[0026] 为了无错误地管理上面所说明的一类服务对等方,在单个记录10中定义用于两个环境50、50,(其中存在web服务WS1-WS3和WS1,-WS3,)的端点。 [0026] In order to manage the above-described error of a class of service peer, 10 defined in the single record for the two environments 50, 50, (where there is a web service WS1-WS3 and WS1, -WS3,) of endpoint. 因此,web服务接口描述WSDLl-WSDL3在环境50、50,之间共享,而端点却不共享。 Thus, web service interface description WSDLl-WSDL3 environment in 50, 50, shared between the endpoints and does not share.

[0027] 然而,要注意到,除了使用用于web服务WS1-WS3和WS1,-WS3,的单一WSDL描述WSDL1-WSDL3,也可以可替换地存在存储在记录中的两组有关描述WSDL1-WSDL3和WSDLl' -WSDL3' (图2中未示出),其中属于服务对等方的两个WSDL描述(例如WSDLl和WSDLl')彼此相关。 [0027] However, it is noted that, except for the web services WS1-WS3 and WS1, -WS3, single WSDL descriptions WSDL1-WSDL3, may alternatively be present in the groups stored in the record for a description WSDL1-WSDL3 and WSDLl '-WSDL3' (not shown in FIG. 2), wherein the two WSDL peer belonging to a service description (e.g. WSDLl and WSDLl ') related to each other. 根据运行时间条件来使用一个或另一个(或可能是第三个)描述。 The runtime condition one or the other (or possibly a third) description.

[0028] 在当前优选的实施例中,用WSDL 2. 0中所提供的“属性”扩展性机制,在用于服务对等方的单个WSDL文件中定义用于两个环境50和50'的端点。 [0028] In the presently preferred embodiment, with the WSDL 2.0 to provide the "Properties" extensibility mechanism, in a single WSDL file for the service defined in the peer environment for two 50 and 50 ' endpoint. “属性”表示指定的运行时间值,其影响web服务交互的一个方面的行为。 "Attribute" represents the specified run time value, which is one aspect of behavior affecting web service interactions. 例如,一个请求的SOAP模块可以指定属性来控制端点。 For example, a SOAP module of a request may specify attributes to control endpoint. 这在描述服务对等方的示例性WSDL文件的以下示例中说明: This is illustrated in the following example describes exemplary services and other side of the WSDL file:

[0029] < ? [0029] <? xml version = " 1.0〃 encoding = " UTF-8" ? > xml version = "1.0〃 encoding =" UTF-8 "?>

[0030] 〈description [0030] <description

[0031] xmlns = " http://www.w3.org/2006/01/wsdl" [0031] xmlns = "http://www.w3.org/2006/01/wsdl"

[0032] targetNamespace = " http://namespaces.softwareag.com/2004/wsdl/resSvc[0033] “ [0032] targetNamespace = "http://namespaces.softwareag.com/2004/wsdl/resSvc[0033]"

[0034] xmlns: tns =" http : //namespaces, softwareag. com/2004/wsdl/resSvc “ [0034] xmlns: tns = "http:. // namespaces, softwareag com / 2004 / wsdl / resSvc"

[0035] xmlns : ghns = “ http : //namespaces, softwareag. com/2004/schemas/resSvc “ [0035] xmlns: ghns = "http:. // namespaces, softwareag com / 2004 / schemas / resSvc"

[0036] xmlns:wsoap = “ http://www. w3. org/2006/01/wsdl/soap“ [0036] xmlns: wsoap = "http:.. // www w3 org / 2006/01 / wsdl / soap"

[0037] xmlns:soap = “ http://www. w3. org/2003/05/soap-envelope“ [0037] xmlns: soap = "http:.. // www w3 org / 2003/05 / soap-envelope"

[0038] xmlns:wsdlx = ” http://www. w3. org/2006/01/wsdl_extensions〃 [0038] xmlns: wsdlx = "http:.. // www w3 org / 2006/01 / wsdl_extensions〃

[0039] > [0039]>

[0040] 〈documentation〉 [0040] <documentation>

[0041] This document describes the reservation Web service. [0041] This document describes the reservation Web service.

[0042] 〈/documentation〉 [0042] </ documentation>

[0043] 〈types〉 [0043] <types>

[0044] <xs: schema xmlns :xs =" http://www.w3.org/2001/XMLSchema" [0044] <xs: schema xmlns: xs = "http://www.w3.org/2001/XMLSchema"

[0045] targetNamespace = “ http://namespaces, softwareag. com/2004/schemas/re [0045] targetNamespace = "http:. // namespaces, softwareag com / 2004 / schemas / re

[0046] Svc 〃 xmlns =〃 http: //namespaces, softwareag. com/2004/schemas/resSvc “ [0046] Svc 〃 〃 xmlns = http:. // namespaces, softwareag com / 2004 / schemas / resSvc "

[0047] 〈xs:element name =〃 checkAvailability" [0047] <xs: element name = 〃 checkAvailability "

[0048] type=" tCheckAvailability/r /> [0048] type = "tCheckAvailability / r />

[0049] <xs:complexType name =〃 tCheckAvailability" > [0049] <xs: complexType name = 〃 tCheckAvailability ">

[0050] <xs: sequence) [0050] <xs: sequence)

[0051] 〈xs: element name =" checklnDate" type =" xs:date" /> [0051] <xs: element name = "checklnDate" type = "xs: date" />

[0052] 〈xs: element name =" checkOutDate" type =" xs:date" /> [0052] <xs: element name = "checkOutDate" type = "xs: date" />

[0053] 〈xs: element name =" roomType" type =" xs: string" /> [0053] <xs: element name = "roomType" type = "xs: string" />

[0054] </xs: sequence) [0054] </ xs: sequence)

[0055] </xs: complexType> [0055] </ xs: complexType>

[0056] 〈xs:element name =〃 checkAvaiIabi 1 ityResponse“ [0056] <xs: element name = 〃 checkAvaiIabi 1 ityResponse "

[0057] type=" xs: double" /> [0057] type = "xs: double" />

[0058] <xs: element name =〃 invalidDataError “ type =〃 xs: string/r /> [0058] <xs: element name = 〃 invalidDataError "type = 〃 xs: string / r />

[0059] 〈/xs: schema〉 [0059] </ xs: schema>

[0060] 〈/types〉 [0060] </ types>

[0061] 〈interface name =〃 reservationlnterface “ > [0061] <interface name = 〃 reservationlnterface ">

[0062] 〈fault name=" invalidDataFault〃 [0062] <fault name = "invalidDataFault〃

[0063] element = 〃 ghns:invalidDataError“ /> [0063] element = 〃 ghns: invalidDataError "/>

[0064] 〈operation name =〃 opCheckAvailability" [0064] <operation name = 〃 opCheckAvailability "

[0065] pattern =〃 http://www. w3. org/2006/01/wsdl/in_out〃 [0065] pattern = 〃 http:.. // www w3 org / 2006/01 / wsdl / in_out〃

[0066] style =〃 http://Vww.w3.org/2006/01/wsdl/style/iri" [0066] style = 〃 http://Vww.w3.org/2006/01/wsdl/style/iri "

[0067] wsdlx:safe=〃 true" > [0067] wsdlx: safe = 〃 true ">

[0068] 〈input messageLabel =” In" element =” ghns:checkAvailability" /> [0068] <input messageLabel = "In" element = "ghns: checkAvailability" />

[0069] 〈output messageLabel =" Out" [0069] <output messageLabel = "Out"

[0070] element = 〃 ghns: checkAvaiIabi 1 ityResponse 〃 /> [0070] element = 〃 ghns: checkAvaiIabi 1 ityResponse 〃 />

[0071] <outfault ref =/r tns: inval idDataFault/r messageLabel =/r Out" /> [0071] <outfault ref = / r tns: inval idDataFault / r messageLabel = / r Out "/>

7[0072] 〈/operation〉 7 [0072] </ operation>

[0073] 〈/interface〉 [0073] </ interface>

[0074] 〈binding name =〃 reservationSOAPBinding〃 [0074] <binding name = 〃 reservationSOAPBinding〃

[0075] interface =〃 tns:reservationlnterface “ [0075] interface = 〃 tns: reservationlnterface "

[0076] type =“ http://www. w3. org/2006/01/wsdl/soap" [0076] type = "http:.. // www w3 org / 2006/01 / wsdl / soap"

[0077] wsoap:protocol = “ http://www. w3. org/2003/05/soap/bindings/HTTP“ > [0077] wsoap: protocol = "http:.. // www w3 org / 2003/05 / soap / bindings / HTTP">

[0078] 〈fault ref = 〃 tns:invalidDataFault〃 wsoap:code = “ soap:Sender" /> [0078] <fault ref = 〃 tns: invalidDataFault〃 wsoap: code = "soap: Sender" />

[0079] 〈operation ref =〃 tns: opCheckAvaiIabi 1 ity“ [0079] <operation ref = 〃 tns: opCheckAvaiIabi 1 ity "

[0080] wsoap:mep = “ http://www. w3. org/2003/05/soap/mep/soap- [0080] wsoap: mep = "http:.. // www w3 org / 2003/05 / soap / mep / soap-

[0081] response" /> [0081] response "/>

[0082] 〈/binding〉 [0082] </ binding>

[0083] 〈service name=" reservationService“ [0083] <service name = "reservationService"

[0084] interface =〃 tns:reservationlnterface “ > [0084] interface = 〃 tns: reservationlnterface ">

[0085] 〈endpoint name =〃 reservationEndpointTest “ [0085] <endpoint name = 〃 reservationEndpointTest "

[0086] binding =〃 tns:reservationSOAPBinding〃 [0086] binding = 〃 tns: reservationSOAPBinding〃

[0087] address =〃 http://test· softwareag. com/2004/reservation“ > [0087] address = 〃 http:. // test · softwareag com / 2004 / reservation ">

[0088] 〈property [0088] <property

[0089] ref =" http://features, softwareag. com/landscapes/type“ > [0089] ref = "http:. // features, softwareag com / landscapes / type">

[0090] < documentation) [0090] <documentation)

[0091] This endpoint belongs to the test landscape [0091] This endpoint belongs to the test landscape

[0092] </documentation) [0092] </ documentation)

[0093] <value>test</value> [0093] <value> test </ value>

[0094] </property) [0094] </ property)

[0095] </endpoint> [0095] </ endpoint>

[0096] 〈endpoint name = 〃 reservationEndpoint Production/r [0096] <endpoint name = 〃 reservationEndpoint Production / r

[0097] binding =〃 tns:reservationSOAPBinding〃 [0097] binding = 〃 tns: reservationSOAPBinding〃

[0098] address =" http: //production, softwareag. com/2004/reservation“ > [0098] address = "http: // production, softwareag com / 2004 / reservation.">

[0099] 〈property [0099] <property

[0100] ref =" http://features, softwareag. com/landscapes/type “ > [0101 ] < documentation) [0100] ref = "http:. // features, softwareag com / landscapes / type"> [0101] <documentation)

[0102] This endpoint belongs to the production landscape [0102] This endpoint belongs to the production landscape

[0103] </documentation) [0103] </ documentation)

[0104] <value>production</value> [0104] <value> production </ value>

[0105] </property) [0105] </ property)

[0106] </endpoint> [0106] </ endpoint>

[0107] </service) [0107] </ service)

[0108] </description) [0108] </ description)

[0109] 由此可见,两个端点被定义,一个用于测试环境,另一个用于生产环境。 [0109] Thus, two endpoints are defined, one for the test environment, one for a production environment. 因此,属性组件的运行时间值确定两个可能的端点中的一个,并且从而确定是测试环境的web服务还是生产环境的web服务将被提出。 Thus, the runtime value of the property component is determined in one of two possible endpoints and thereby determine a web service test environment or a production environment web services will be presented.

[0110] 或者,这两个环境的端点可以根据UDDI-XML模式(UDDI 3.0)来指定,如下所示: [0110] Alternatively, both inclusive environment may be specified according to UDDI-XML mode (UDDI 3.0), as follows:

[0111] <uddi:businessService [0111] <uddi: businessService

[0112] businessKey =" uddi : 35f2eca0-eef2-llda-a924_c9108119a4e5 “ [0112] businessKey = "uddi: 35f2eca0-eef2-llda-a924_c9108119a4e5"

[0113] serviceKey =〃 uddi :4fc7c540-ef08-llda-bf78_dc56dcl260cf 〃 [0113] serviceKey = 〃 uddi: 4fc7c540-ef08-llda-bf78_dc56dcl260cf 〃

[0114] xmlns: uddi = ” urn : uddi-org: api_v3 ” [0114] xmlns: uddi = "urn: uddi-org: api_v3"

[0115] xmlns:dsig = ” http://www. w3. org/2000/09/xmldsig#" [0115] xmlns: dsig = "http:.. // www w3 org / 2000/09 / xmldsig #"

[0116] xmlns :sccl4n =" urn: uddi-org: schemaCentr icC14N: 2002-07-10/r > [0116] xmlns: sccl4n = "urn: uddi-org: schemaCentr icC14N: 2002-07-10 / r>

[0117] xmlns:xml = “ http://www. w3. org/XML/1998/namespace“ [0117] xmlns: xml = "http:.. // www w3 org / XML / 1998 / namespace"

[0118] 〈uddi : name xml: Iang = “ en-US “ > [0118] <uddi: name xml: Iang = "en-US">

[0119] reservationService [0119] reservationService

[0120] </uddi:name> [0120] </ uddi: name>

[0121] 〈uddi: description [0121] <uddi: description

[0122] xml: Iang=" en" > [0122] xml: Iang = "en">

[0123] Service for reservation available in test and production [0123] Service for reservation available in test and production

[0124] landscape [0124] landscape

[0125] 〈/uddi: description) [0125] </ uddi: description)

[0126] 〈uddi :bindingTemplates> [0126] <uddi: bindingTemplates>

[0127] 〈uddi : bindingTemplate [0127] <uddi: bindingTemplate

[0128] bindingKey =" uddi : 50357b30-ef08-l lda-bf78-80c376f5f0f0 [0128] bindingKey = "uddi: 50357b30-ef08-l lda-bf78-80c376f5f0f0

[0129] serviceKey = uddi :4fc7c540-ef08-llda-bf78_dc56dcl260cf 〃 > [0129] serviceKey = uddi: 4fc7c540-ef08-llda-bf78_dc56dcl260cf 〃>

[0130] <uddi:access Point useType =“ endPoint〃 > [0130] <uddi: access Point useType = "endPoint〃>

[0131] http://test. softwareag. com/2004/reservation [0131] http:.. // test softwareag com / 2004 / reservation

[0132] 〈/uddi : access Point) [0132] </ uddi: access Point)

[0133] 〈uddi:tModelInstanceDetails> [0133] <uddi: tModelInstanceDetails>

[0134] 〈uddi:tModellnstancelnfo [0134] <uddi: tModellnstancelnfo

[0135] tModelKey=" uddi :4fb24170-ef08-llda-bf78_8fl6f66201d4" > [0135] tModelKey = "uddi: 4fb24170-ef08-llda-bf78_8fl6f66201d4">

[0136] 〈uddi : instanceDetails xmlns:uddi =〃 urn:uddi-org:api_v3“ > [0136] <uddi: instanceDetails xmlns: uddi = 〃 urn: uddi-org: api_v3 ">

[0137] 〈uddi : description xml: Iang =〃 en-US 〃 > [0137] <uddi: description xml: Iang = 〃 〃 en-US>

[0138] the wsdl:binding that this wsdl :port implements [0138] the wsdl: binding that this wsdl: port implements

[0139] 〈/uddi: description) [0139] </ uddi: description)

[0140] 〈uddi: instanceParms> [0140] <uddi: instanceParms>

[0141] reservationSOAPBinding [0141] reservationSOAPBinding

[0142] 〈/uddi: instanceParms> [0142] </ uddi: instanceParms>

[0143] 〈/uddi:instanceDetails) [0143] </ uddi: instanceDetails)

[0144] </uddi:tModellnstancelnfo) [0144] </ uddi: tModellnstancelnfo)

[0145] 〈uddi:tModellnstancelnfo [0145] <uddi: tModellnstancelnfo

[0146] tModelKey =" uddi :4f8516f0-ef08-llda-bf78_c304af4ea516" /> [0146] tModelKey = "uddi: 4f8516f0-ef08-llda-bf78_c304af4ea516" />

[0147] </uddi:tModelInstanceDetails>[0148] <uddi : categoryBag> [0147] </ uddi: tModelInstanceDetails> [0148] <uddi: categoryBag>

[0149] <uddi : keyedRef erence [0149] <uddi: keyedRef erence

[0150] tModelKey =" uddi : features, softwareag. com: landscapes “ [0150] tModelKey = "uddi: features, softwareag com:. Landscapes"

[0151] keyValue=" test" /> [0151] keyValue = "test" />

[0152] </uddi : categoryBag> [0152] </ uddi: categoryBag>

[0153] </uddi :bindingTemplate> [0153] </ uddi: bindingTemplate>

[0154] 〈uddi : bindingTemplate [0154] <uddi: bindingTemplate

[0155] bindingKey =" uddi : 50357b30-ef08-llda-bf78_80c376f5f0f 1" [0155] bindingKey = "uddi: 50357b30-ef08-llda-bf78_80c376f5f0f 1"

[0156] serviceKey = uddi :4fc7c540-ef08-llda-bf78_dc56dcl260cf" > [0156] serviceKey = uddi: 4fc7c540-ef08-llda-bf78_dc56dcl260cf ">

[0157] <uddi : accessPoint useType =〃 endPoint〃 > [0157] <uddi: accessPoint useType = 〃 endPoint〃>

[0158] http://production, softwareag. com/2004/reservation [0158] http: // production, softwareag com / 2004 / reservation.

[0159] 〈/uddi: accessPoint) [0159] </ uddi: accessPoint)

[0160] 〈uddi:tModelInstanceDetails> [0160] <uddi: tModelInstanceDetails>

[0161] 〈uddi:tModeIInstanceInfo [0161] <uddi: tModeIInstanceInfo

[0162] tModelKey=" uddi :4fb24170-ef08-llda-bf78_8fl6f66201d4" > [0162] tModelKey = "uddi: 4fb24170-ef08-llda-bf78_8fl6f66201d4">

[0163] 〈uddi:instanceDetails> [0163] <uddi: instanceDetails>

[0164] 〈uddi : description xml: Iang =〃 en-US 〃 > [0164] <uddi: description xml: Iang = 〃 〃 en-US>

[0165] the wsdl:binding that this wsdl :port implements [0165] the wsdl: binding that this wsdl: port implements

[0166] 〈/uddi: description) [0166] </ uddi: description)

[0167] 〈uddi : instanceParms> [0167] <uddi: instanceParms>

[0168] reservationSOAPBinding [0168] reservationSOAPBinding

[0169] </uddi : instanceParms> [0169] </ uddi: instanceParms>

[0170] 〈/uddi:instanceDetails> [0170] </ uddi: instanceDetails>

[0171] 〈/uddi:tModelInstanceInfo> [0171] </ uddi: tModelInstanceInfo>

[0172] 〈uddi:tModellnstancelnfo [0172] <uddi: tModellnstancelnfo

[0173] tModelKey =" uddi :4f8516f0-ef08-llda-bf78_c304af4ea516" /> [0173] tModelKey = "uddi: 4f8516f0-ef08-llda-bf78_c304af4ea516" />

[0174] </uddi:tModelInstanceDetails> [0174] </ uddi: tModelInstanceDetails>

[0175] 〈uddi : categoryBag> [0175] <uddi: categoryBag>

[0176] 〈uddi : keyedReference [0176] <uddi: keyedReference

[0177] tModelKey =" uddi : features, softwareag. com: landscapes " [0177] tModelKey = "uddi: features, softwareag com:. Landscapes"

[0178] keyValue=" production" /> [0178] keyValue = "production" />

[0179] </uddi : categoryBag> [0179] </ uddi: categoryBag>

[0180] </uddi : bindingTemplate) [0180] </ uddi: bindingTemplate)

[0181] </uddi:bindingTemplates> [0181] </ uddi: bindingTemplates>

[0182] 〈uddi : categoryBag> [0182] <uddi: categoryBag>

[0183] 〈uddi : keyedReference [0183] <uddi: keyedReference

[0184] keyName =" service namespace" [0184] keyName = "service namespace"

[0185] keyValue =〃 http: //namespaces, softwareag. com/2004/wsdl/resSvc “ [0185] keyValue = 〃 http:. // namespaces, softwareag com / 2004 / wsdl / resSvc "

[0186] tModelKey = “ uddi :uddi. org:xml:namespace" /> [0186] tModelKey = "uddi: uddi org:. Xml: namespace" />

10[0187] <uddi:keyedReference 10 [0187] <uddi: keyedReference

[0188] keyName = “ WSDL type" [0188] keyName = "WSDL type"

[0189] keyValue = “ service" [0189] keyValue = "service"

[0190] tModelKey = “ uddi:uddi. org:wsdl:types“ /> [0190] tModelKey = "uddi: uddi org:. Wsdl: types" />

[0191] <uddi:keyedReference [0191] <uddi: keyedReference

[0192] keyName = " service local name" [0192] keyName = "service local name"

[0193] keyValue = " reservationService" [0193] keyValue = "reservationService"

[0194] tModelKey = " uddi:uddi. org:xml:localname〃 /> [0194] tModelKey = "uddi: uddi org:. Xml: localname〃 />

[0195] <uddi:keyedReference [0195] <uddi: keyedReference

[0196] keyValue = " uddi:2ddl3990-8991-lld9-8457_ca59ad32ca75" [0196] keyValue = "uddi: 2ddl3990-8991-lld9-8457_ca59ad32ca75"

[0197] tModelKey = " uddi:2dafcee0-8991-lld9_8457-f2038ed2fcd0" /> [0197] tModelKey = "uddi: 2dafcee0-8991-lld9_8457-f2038ed2fcd0" />

[0198] </uddi:categoryBag> [0198] </ uddi: categoryBag>

[0199] </uddi:businessService> [0199] </ uddi: businessService>

[0200] 那么,用来查找给定环境(例如,测试环境)的端点的UDDI查询可以如下所示: [0200] Then, to find a given environment (e.g., test environment) endpoint UDDI query can be as follows:

[0201] <find_binding xmlns =“ urn:uddi-org:api_v3“ [0201] <find_binding xmlns = "urn: uddi-org: api_v3"

[0202] serviceKey = “ uddi:4fc7c540-ef08-llda-bf78-dc56dcl260cf“ > [0202] serviceKey = "uddi: 4fc7c540-ef08-llda-bf78-dc56dcl260cf">

[0203] <findQualifiers> [0203] <findQualifiers>

[0204] <findQualifier>exactNameMatch</findQualifier> [0204] <findQualifier> exactNameMatch </ findQualifier>

[0205] </findQualifiers> [0205] </ findQualifiers>

[0206] <categoryBag> [0206] <categoryBag>

[0207] 〈keyedReference [0207] <keyedReference

[0208] tModelKey = uddi:features, softwareag. com:landscapes [0208] tModelKey = uddi: features, softwareag com:. Landscapes

[0209] keyValue = " test" /> [0209] keyValue = "test" />

[0210] </categoryBag> [0210] </ categoryBag>

[0211] </find_binding> [0211] </ find_binding>

[0212] 在WSDL文件或记录(UDDI)中因此表明的端点信息可以被用于各种情形中,其中 [0212] In the WSDL file or records (UDDI) thus indicate the endpoint information can be used in various situations, wherein

一种情形被在下面参考图3描述,其图示了涉及的三种组件: A situation is described below with reference to FIG. 3, which illustrates the three kinds of components involved:

[0213] web服务执行组件70在运行时间(例如测试运行的运行时间)对于应用程序30 是可用的。 [0213] web service execution component 70 at runtime (e.g., the test run operating time) for the application program 30 is available. web服务执行组件70在web服务将被执行时在步骤200中被应用程序30调用, 并且接收web服务20的唯一标识作为输入(例如,其UDDI密钥,或其WSDL文件的URL)。 web service execution component 70 when the web service to be executed to be applied in step 200 to call the program 30, and receives the web service 20 as input a unique identifier (e.g., URL its UDDI key, or a WSDL file). 在步骤201中,web服务执行组件70准备调用的执行。 In step 201, web service execution component 70 is ready to perform the call. 在步骤202中,它访问存储在记录10中的信息,以在步骤204中例如基于从记录10中所获得的WSDL文件来确定要被调用的web服务的端点。 In step 202, it accesses the information stored in the record 10, in step 204 the endpoint for example based on the WSDL file obtained from the recording medium 10 is determined to be invoked web service. 要注意到,在步骤204中所产生的端点取决于由应用程序30提供并且包括在如上说明的其调用中的输入参数(例如某个属性值),以定义用于执行web服务调用的某个环境。 To note, in step 204 the endpoint is determined with the application 30 provided by the above described and is included in the input parameters (e.g., a property value) of its invocation, to define for performing a web service call surroundings. 如果在指示的端点不存在可用的web服务,则指示错误。 If there is no available web service endpoint indication, it indicates an error. 否则,web服务执行组件70在步骤205中调用所标识的web服务,该web服务在步骤206执行以使得结果可以在步骤207中被返回到应用程序30。 Otherwise, the web service execution component 70 calls in step 205 the identified web service, the web service performed in step 206 so that the results may be returned to the application 30 in step 207.

[0214] 记录中的端点的上述管理另外允许在经测试的应用程序30的配置时间确定先前用于测试该应用程序的所有服务端点,并且永久地用已经记录在记录10中的用于生产环境的端点来代替它们。 [0214] recorded in the management additionally allows endpoint to determine all service endpoints previously used for testing the application in the application configuration tested 30 times, and permanently with the environment has been recorded in the recording for the production of 10 endpoints to replace them. 此外,web服务调用能够在运行时间被监视并且可以校验是否出现环境交错,即,是否属于第一环境(例如测试环境50)的一个web服务被调用,并且属于另一个环境(例如生产环境50')的web服务也被调用。 Further, web service calls can be monitored at runtime environment and may verify whether there is staggered, i.e., whether the first environment (e.g., test environment 50) of a web service is invoked, and belongs to another environment (e.g. a production environment 50 ') of web services it has been called. 如果在运行期间注意到这种不一致性,则发出警告。 If you notice such inconsistencies during operation, a warning is issued.

[0215] 一般来说,调用者的环境的标识可以使用多种机制,例如测试环境和生产环境的基于DNS域的分离。 [0215] In general, the environment identified caller may use a variety of mechanisms, e.g. DNS domain based separation of test and production environments. 环境信息可以与web服务调用一起被发送。 Environmental information and web service call can be sent together. 存储在记录10中的WSDL 文件的以下示例需要这种信息并且假设存在用于环境信息管理的一个具体SOAP模块: This information is necessary is stored in the following example of a WSDL file 10 recorded in the presence and assuming a specific SOAP module for managing environmental information:

[0216] < ? [0216] <? xml version = “ 1.0〃 encoding = “ UTF-8" ? > xml version = "1.0〃 encoding =" UTF-8 "?>

[0217] 〈description [0217] <description

[0218] xmlns = “ http://www.w3.org/2006/01/wsdl" [0218] xmlns = "http://www.w3.org/2006/01/wsdl"

[0219] targetNamespace = “ http://namespaces.softwareag.com/2004/wsdl/resSvc [0219] targetNamespace = "http://namespaces.softwareag.com/2004/wsdl/resSvc

[0220] '' [0220] ''

[0221] xmlns:tns =“ http://namespaces.softwareag.com/2004/wsdl/resSvc" [0221] xmlns: tns = "http://namespaces.softwareag.com/2004/wsdl/resSvc"

[0222] xmlns:ghns = “ http://namespaces, softwareag. com/2004/schemas/resSvc“ [0222] xmlns: ghns = "http:. // namespaces, softwareag com / 2004 / schemas / resSvc"

[0223] xmlns :wsoap = " http://www.w3.org/2006/01/wsdl/soap" [0223] xmlns: wsoap = "http://www.w3.org/2006/01/wsdl/soap"

[0224] xmlns:soap = " http://www.w3.org/2003/05/soap_envelope" [0224] xmlns: soap = "http://www.w3.org/2003/05/soap_envelope"

[0225] xmlns:wsdlx = " http://www.w3.org/2006/01/wsdl_extensions" [0225] xmlns: wsdlx = "http://www.w3.org/2006/01/wsdl_extensions"

[0226] > [0226]>

[0227] <documentation) [0227] <documentation)

[0228] This document describes the reservation Web service. [0228] This document describes the reservation Web service.

[0229] 〈/documentation〉 [0229] </ documentation>

[0230] <types> [0230] <types>

[0231] <xs:schema xmlns:xs =〃 http://www.w3.org/2001/XMLSchema" [0231] <xs: schema xmlns: xs = 〃 http://www.w3.org/2001/XMLSchema "

[0232] targetNamespace = " http://namespaces.softwareag.com/2004/schemas/res [0232] targetNamespace = "http://namespaces.softwareag.com/2004/schemas/res

[0233] Svc " xmlns = " http://namespaces.softwareag.com/2004/schemas/ resSvc" > [0233] Svc "xmlns =" ​​http://namespaces.softwareag.com/2004/schemas/ resSvc ">

[0234] <xs:element name=" checkAvailability" [0234] <xs: element name = "checkAvailability"

[0235] type=" tCheckAvailability" /> [0235] type = "tCheckAvailability" />

[0236] <xs: complexType name=" tCheckAvai lability" > [0236] <xs: complexType name = "tCheckAvai lability">

[0237] <xs:sequence) [0237] <xs: sequence)

[0238] <xs:element name=" checklnDate" type=" xs:date" /> [0238] <xs: element name = "checklnDate" type = "xs: date" />

[0239] <xs:element name = 〃 checkOutDate〃 type=" xs:date〃 /> [0239] <xs: element name = 〃 checkOutDate〃 type = "xs: date〃 />

[0240] <xs: element name=" roomType" type=" xs: string" /> [0240] <xs: element name = "roomType" type = "xs: string" />

[0241] </xs:sequence) [0241] </ xs: sequence)

[0242] </xs:complexType) [0242] </ xs: complexType)

[0243] <xs:element name=" checkAvaiIabiIityResponse" [0243] <xs: element name = "checkAvaiIabiIityResponse"

[0244] type=" xs:double" /> [0244] type = "xs: double" />

[0245] <xs:element name =" invalidDataError" type =" xs:string" /> [0245] <xs: element name = "invalidDataError" type = "xs: string" />

[0246] </xs:schema)[0247] 〈/types〉 [0246] </ xs: schema) [0247] </ types>

[0248] 〈interface name =〃 reservationlnterface “ > [0248] <interface name = 〃 reservationlnterface ">

[0249] 〈fault name=〃 invalidDataFault 〃 [0249] <fault name = 〃 〃 invalidDataFault

[0250] element = 〃 ghns: invalidDataError “ /> [0250] element = 〃 ghns: invalidDataError "/>

[0251] 〈operation name =〃 opCheckAvailabi 1 ity/r [0251] <operation name = 〃 opCheckAvailabi 1 ity / r

[0252] pattern = “ http://www. w3. org/2006/01/wsdl/in_out" [0252] pattern = "http:.. // www w3 org / 2006/01 / wsdl / in_out"

[0253] style =" http://Vww.w3.org/2006/01/wsdl/style/iri" [0253] style = "http://Vww.w3.org/2006/01/wsdl/style/iri"

[0254] wsdlx:safe=" true" > [0254] wsdlx: safe = "true">

[0255] 〈input messageLabel =” In" element =” ghns:checkAvailability" /> [0255] <input messageLabel = "In" element = "ghns: checkAvailability" />

[0256] 〈output messageLabel =" Out" [0256] <output messageLabel = "Out"

[0257] element = 〃 ghns: checkAvaiIabiIityResponse 〃 /> [0257] element = 〃 ghns: checkAvaiIabiIityResponse 〃 />

[0258] <outfault ref =/r tns: invalidDataFault/r messageLabel =/r Out" /> [0258] <outfault ref = / r tns: invalidDataFault / r messageLabel = / r Out "/>

[0259] 〈/operation〉 [0259] </ operation>

[0260] 〈/interface〉 [0260] </ interface>

[0261] 〈binding name =〃 reservationSOAPBinding〃 [0261] <binding name = 〃 reservationSOAPBinding〃

[0262] interface =〃 tns:reservationlnterface “ [0262] interface = 〃 tns: reservationlnterface "

[0263] type =“ http://www. w3. org/2006/01/wsdl/soap" [0263] type = "http:.. // www w3 org / 2006/01 / wsdl / soap"

[0264] wsoap:protocol = “ http://www. w3. org/2003/05/soap/bindings/HTTP“ > [0264] wsoap: protocol = "http:.. // www w3 org / 2003/05 / soap / bindings / HTTP">

[0265] 〈fault ref = 〃 tns:invalidDataFault〃 wsoap:code = “ soap:Sender" /> [0265] <fault ref = 〃 tns: invalidDataFault〃 wsoap: code = "soap: Sender" />

[0266] 〈operation ref =〃 tns: opCheckAvaiIabi 1 ity“ [0266] <operation ref = 〃 tns: opCheckAvaiIabi 1 ity "

[0267] wsoap:mep = “ http://www. w3. org/2003/05/soap/mep/soap- [0267] wsoap: mep = "http:.. // www w3 org / 2003/05 / soap / mep / soap-

[0268] response" /> [0268] response "/>

[0269] 〈/binding〉 [0269] </ binding>

[0270] 〈service name=" reservationService“ [0270] <service name = "reservationService"

[0271] interface =〃 tns:reservationlnterface“ > [0271] interface = 〃 tns: reservationlnterface ">

[0272] 〈endpoint name =〃 reservationEndpointTest “ [0272] <endpoint name = 〃 reservationEndpointTest "

[0273] binding =〃 tns:reservationSOAPBinding〃 [0273] binding = 〃 tns: reservationSOAPBinding〃

[0274] address =〃 http://test· softwareag. com/2004/reservation“ > [0274] address = 〃 http:. // test · softwareag com / 2004 / reservation ">

[0275] 〈wsoap: module [0275] <wsoap: module

[0276] uri =〃 http://features, example. com/2005/modules/landscapes〃 [0276] uri = 〃 http:. // features, example com / 2005 / modules / landscapes〃

[0277] required=" true" /> [0277] required = "true" />

[0278] 〈property [0278] <property

[0279] ref =" http://features, softwareag. com/landscapes/type“ > [0279] ref = "http:. // features, softwareag com / landscapes / type">

[0280] < documentation) [0280] <documentation)

[0281] This endpoint belongs to the test landscape [0281] This endpoint belongs to the test landscape

[0282] 〈/documentation〉 [0282] </ documentation>

[0283] <value>test</value> [0283] <value> test </ value>

[0284] 〈/property〉 [0284] </ property>

[0285] </endpoint> [0285] </ endpoint>

13[0286] <endpoint name = “ reservationEndpointProduction“ 13 [0286] <endpoint name = "reservationEndpointProduction"

[0287] binding = “ tns:reservationSOAPBinding" [0287] binding = "tns: reservationSOAPBinding"

[0288] address = “ http://production.softwareag.com/2004/reservation" > [0288] address = "http://production.softwareag.com/2004/reservation">

[0289] <wsoap:module [0289] <wsoap: module

[0290] uri = “ http://features, example. com/2005/modules/landscapes" [0290] uri = "http: // features, example com / 2005 / modules / landscapes."

[0291] required = " true" /> [0291] required = "true" />

[0292] 〈property [0292] <property

[0293] ref = " http://features.softwareag.com/landscapes/type" > [0293] ref = "http://features.softwareag.com/landscapes/type">

[0294] 〈documentation〉 [0294] <documentation>

[0295] This endpoint belongs to the production landscape [0295] This endpoint belongs to the production landscape

[0296] </documentation) [0296] </ documentation)

[0297] <value>production</value> [0297] <value> production </ value>

[0298] </property> [0298] </ property>

[0299] </endpoint> [0299] </ endpoint>

[0300] </service> [0300] </ service>

[0301] 〈/description〉 [0301] </ description>

[0302] 或者,记录10可以存储关于某个应用程序的开发阶段的信息并且适当地选择端点(例如,基于所记录的应用程序配置)。 [0302] Alternatively, record 10 may store information about the development stage of the application and an appropriately selected endpoints (e.g., based on the recorded application configuration). 这可以或者对整个环境来执行,或者也可以对每个web服务单独执行。 This can either be performed on the entire environment, or it can be performed separately for each web service.

Claims (20)

  1. 1. 一种用于管理多个web服务的系统,该系统包括记录(10),该记录(10)包括对所述多个web服务中的至少一个的描述(WSDL1,WSDL2,WSDL3),其中所述至少一个web服务的所述描述(WSDL1,WSDL2,WSDL3)包括用于第一运行时间条件的第一端点(WS1,WS2,WS3) 和用于第二运行时间条件的第二端点(WS1',WS2',WS3'),其特征在于所述系统还包括用于在运行时间期间监视所述多个web服务的所述端点(WS1,WS2, WS3, WSlWS2',WS3' )的装置和用于在第一web服务被用用于第一运行时间条件的端点所调用并且第二web服务被用用于第二运行时间条件的端点所调用的情况下发出警告的装置。 1. A method of managing a plurality of web service system, the system comprising a record (10), the record (10) comprises at least one description (WSDL1, WSDL2, WSDL3) of the plurality of web services, wherein the description of the at least one web service (WSDL1, WSDL2, WSDL3) comprising a first endpoint (WS1, WS2, WS3) for a first runtime condition and a second endpoint for a second runtime condition ( WS1 ', WS2', WS3 '), characterized in that the system further comprises said endpoint (WS1, WS2 during runtime for monitoring the plurality of web services, WS3, WSlWS2', WS3 ') of the apparatus and called for the first web service is used as an endpoint for a first runtime condition and a second web service warning device is a case where a second end of the run-time conditions used for the call.
  2. 2.根据权利要求1的系统,还适用于在运行时间期间根据涉及由调用所述web服务的应用程序(30)所提供的运行时间条件的环境信息的评估来选择所述第一端点(WS1,WS2, WS3)和所述第二端点(WS1,,WS2,,WS3,)的其中一个。 2. The system as claimed in claim 1, further adapted to select during runtime the first endpoint to the environmental information based on the evaluation of the runtime condition provided by the calling application relates to the web service (30) ( WS1, WS2, WS3) and second endpoint (WS1,, WS2,, WS3,) where a.
  3. 3.根据权利要求1的系统,还适用于在运行时间期间根据存储在所述记录(10)中的运行时间条件来选择所述第一端点(WS1,WS2,WS3)和所述第二端点(WS1,,WS2,,WS3,)的其中一个。 3. The system of claim 1, further adapted to be selected during runtime the first endpoint (WS1, WS2, WS3) and according to the second in the record (10) stored in run-time conditions wherein an endpoint (WS1,, WS2,, WS3,) of.
  4. 4.根据前述权利要求中任一项的系统,其中在用于所述web服务的第一和第二WSDL文档中定义所述第一端点(WS1,WS2,WS3)和所述第二端点(WS1,,WS2,,WS3,),所述第一和第二WSDL文档彼此相关。 4. A system according to claim any one of claims, wherein the first and second WSDL document for the web service at the first endpoint defining the (WS1, WS2, WS3) and second endpoint (WS1,, WS2,, WS3,), the first and second WSDL documents related to each other.
  5. 5.根据权利要求1-3中任一项的系统,其中在用于所述web服务的单个WSDL文档(WSDLl,WSDL2,ffSDL3)中定义所述第一端点(WS1,WS2,WS3)和所述第二端点(WS1,,WS2,, WS3,),作为所述WSDL文档的属性组件。 5. The system of any one of claims 1-3, wherein in a single WSDL document for the web service (WSDLl, WSDL2, ffSDL3) in defining the first endpoint (WS1, WS2, WS3), and the second endpoint (WS1,, WS2 ,, WS3,), as a property component of the WSDL document.
  6. 6.根据权利要求5的系统,其中在运行时间期间通过使用所述web服务的请求的SOAP 模块确定所述属性组件的值。 SOAP module 6. The system according to claim 5, wherein during runtime by using the web service request to determine the value of the properties of the component.
  7. 7.根据权利要求1的系统,其中记录(10)是UDDI记录。 7. The system of claim 1, wherein the recording (10) is a UDDI record.
  8. 8.根据前述权利要求1的系统,其中所述第一端点(WS1,WS2,WS3)适用于测试调用所述至少一个web服务的应用程序。 8. A system according to claim 1, wherein the first endpoint (WS1, WS2, WS3) is suitable for testing the application invoking the at least one web service.
  9. 9.根据前述权利要求1的系统,其中第二端点(WS1',WS2',WS3' )适用于配置调用所述至少一个web服务的应用程序(30) 9. A system according to claim 1, wherein the second endpoint (WS1 ', WS2', WS3 ') arranged to apply an application calling the at least one web service (30)
  10. 10.根据前述权利要求1的系统,其中所述记录(10)还包括用于第三运行时间条件的弟二兄而点。 10. The system according to claim 1, wherein said record (10) further comprises a third operating brother Erxiong conditions and time points.
  11. 11. 一种用于管理多个web服务的方法,该方法包括将用于所述多个web服务的至少一个的描述(WSDL1,WSDL2,WSDL3)存储在记录(10)中的步骤,其中所述至少一个web服务的所述描述包括用于第一运行时间条件的第一端点(WS1,WS2,WS3)和用于第二运行时间的第二端点(WS1,,WS2,,WS3,),其特征在于所述方法还包括以下步骤:在运行时间期间监视所述多个web服务的所述端点(WS1, WS2, WS3,WSl,,WS2,,WS3,),以及在第一web服务被用用于第一运行时间条件的端点所调用并且第二web服务被用用于第二运行时间条件的端点所调用的情况下发出警告。 11. A method for managing a plurality of web services, the method comprising the step of at least one (WSDL1, WSDL2, WSDL3) stored in the record (10) as described for the plurality of web services, wherein said at least one web service description comprises a first endpoint (WS1, WS2, WS3) and second endpoint for a second runtime condition for a first operating time (WS1,, WS2,, WS3,) characterized in that said method further comprises the steps of: monitoring the plurality of web services during runtime of the endpoint (WS1, WS2, WS3, WSl ,, WS2,, WS3,), and a first web service be invoked by endpoints for a first runtime condition and a second web service is used for the case where the endpoint of the second warning condition of the run-time call.
  12. 12.根据权利要求11的方法,还包括以下步骤:在运行时间期间根据涉及由调用所述web服务的应用程序所提供的运行时间条件的环境信息的评估来选择所述第一端点(WS1,WS2,WS3)和所述第二端点(WS1',WS2',WS3' )的其中一个。 12. The method of claim 11, further comprising the step of: during run time to select the first endpoint (WS1 relates to an evaluation by the run-time conditions for the application calls the web service provided by the environment information , WS2, WS3) and second endpoint (WS1 ', WS2', WS3 ') of one of them.
  13. 13.根据权利要求11的方法,还包括以下步骤:将运行时间条件存储在所述记录中;以及在运行时间期间选择所述第一端点(WSl, WS2,WS3)和所述第二端点(WS1',WS2', WS3,)的其中一个。 13. The method of claim 11, further comprising the steps of: operating in the record time storage conditions; and selecting the first endpoint (WSl, WS2, WS3) during runtime and the second endpoint (WS1 ', WS2', WS3,) where a.
  14. 14.根据权利要求11-13中任一项的方法,其中所述将用于所述多个web服务的至少一个的描述存储在记录中的步骤包括存储用于所述web服务的指示第一端点的第一WSDL文档和存储用于所述web服务的指示第二端点的第二WSDL文档,其中所述第一和第二WSDL 文档被作为相关的WSDL文档存储在所述记录中。 14. The method according to any one of 11-13, wherein the step of at least one of said plurality of web service description stored in the record for which the indicating comprises storing said first web service the first endpoint and storing a second WSDL document indicates a second WSDL document for the web service endpoint, wherein the first and second WSDL documents are stored as related WSDL documents in the record.
  15. 15.根据权利要求11-13中任一项的方法,其中所述将用于所述多个web服务的至少一个的描述(WSDL1,WSDL2,WSDL3)存储在所述记录中的步骤包括利用指示所述第一和第二端点的属性组件存储用于所述web服务的单个WSDL文档。 15. The method according to any one of 11-13, wherein the said at least one of said plurality of web service description (WSDL1, WSDL2, WSDL3) stored in said step of recording an indication includes using a the first endpoint and the second component attribute storing a single WSDL document for the web service.
  16. 16.根据权利要求15的方法,其中在运行时间期间通过使用所述web服务的请求的SOAP模块确定所述属性组件的值。 SOAP module 16. The method of claim 15, wherein during runtime by using the web service request to determine the value of the properties of the component.
  17. 17.根据权利要求11的方法,其中所述记录(10)是UDDI记录。 17. The method according to claim 11, wherein said recording (10) is a UDDI record.
  18. 18.根据权利要求11的方法,还包括使用所述第一端点(WS1,WS2,WS3)来测试调用所述至少一个web服务的应用程序的步骤。 18. The method of claim 11, further comprising the step of using the first endpoint (WS1, WS2, WS3) for testing an application calling the at least one web service.
  19. 19.根据权利要求11的方法,还包括使用所述第二端点(WS1',WS2',WS3' )来配置调用所述至少一个web服务的应用程序的步骤。 19. The method of claim 11, further comprising using the second endpoint (WS1 ', WS2', WS3 ') the step of configuring the at least one application which calls the web service.
  20. 20.根据权利要求11的方法,其中所述记录(10)还包括用于第三运行时间条件的第三端点。 20. The method according to claim 11, wherein said record (10) further comprises a third endpoint for a third runtime condition.
CN 200710146445 2006-07-19 2007-07-19 System and method for managing a plurality of web services CN101174983B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP06015020.8 2006-07-19
EP20060015020 EP1881675B1 (en) 2006-07-19 2006-07-19 System and method for managing a plurality of web services

Publications (2)

Publication Number Publication Date
CN101174983A true CN101174983A (en) 2008-05-07
CN101174983B true CN101174983B (en) 2011-04-06

Family

ID=37575002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710146445 CN101174983B (en) 2006-07-19 2007-07-19 System and method for managing a plurality of web services

Country Status (5)

Country Link
US (1) US8935370B2 (en)
EP (1) EP1881675B1 (en)
CN (1) CN101174983B (en)
DE (1) DE602006002884D1 (en)
ES (1) ES2315970T3 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972939B1 (en) * 2007-04-13 2015-03-03 United Services Automobile Association (Usaa) Systems and methods for processing and producing content for web sites
US20090070335A1 (en) * 2007-09-06 2009-03-12 Cozianu Costin V System and method for web processing monitoring
EP2093676A1 (en) * 2008-02-20 2009-08-26 Siemens Aktiengesellschaft Method for generating function building blocks for web services
US20120072307A1 (en) * 2010-09-21 2012-03-22 Farhang Kassaei Providing a marketplace for software services
GB201210452D0 (en) * 2012-06-13 2012-07-25 Ibm A service registry for web services

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029807A1 (en) 2003-09-24 2005-03-31 International Business Machines Corporation Personalized web service description
EP1641215A2 (en) 2004-09-28 2006-03-29 Layer 7 Technologies, Inc. System and method for bridging identities in a service oriented architecture

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080281969A1 (en) * 2000-12-15 2008-11-13 Horton John C Controlling access to versions of application software by a server, based on site ID
US20050160153A1 (en) * 2004-01-21 2005-07-21 International Business Machines Corp. Publishing multipart WSDL files to URL
US7509398B2 (en) * 2005-01-13 2009-03-24 International Business Machines Corporation System and method for protocol independent access and invocation of web services

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029807A1 (en) 2003-09-24 2005-03-31 International Business Machines Corporation Personalized web service description
EP1641215A2 (en) 2004-09-28 2006-03-29 Layer 7 Technologies, Inc. System and method for bridging identities in a service oriented architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Roberto Chinnici et al.Part 1: Core Language.<<Web Services Description Language (WSDL) Version 2.0>>.2006,1-135.

Also Published As

Publication number Publication date Type
ES2315970T3 (en) 2009-04-01 grant
DE602006002884D1 (en) 2008-11-06 grant
EP1881675B1 (en) 2008-09-24 grant
EP1881675A1 (en) 2008-01-23 application
US20080028316A1 (en) 2008-01-31 application
US8935370B2 (en) 2015-01-13 grant
CN101174983A (en) 2008-05-07 application

Similar Documents

Publication Publication Date Title
Tsalgatidou et al. An overview of standards and related technology in web services
Canfora et al. Testing services and service-centric systems: Challenges and opportunities
Vitvar et al. Wsmo-lite annotations for web services
US6961760B2 (en) Transforming data automatically between communications parties in a computing network
US6718371B1 (en) XML-based integrated services framework
US7035944B2 (en) Programmatic management of software resources in a content framework environment
US7340508B1 (en) Exposing process flows and choreography controllers as web services
Mendling et al. From inter-organizational workflows to process execution: Generating BPEL from WS-CDL
Snell et al. Programming web services with SOAP: building distributed applications
Juric et al. Business process execution language for web services: an architect and developer's guide to orchestrating web services using BPEL4WS
Andrieux et al. Web services agreement specification (WS-Agreement)
US7516191B2 (en) System and method for invocation of services
Rademakers et al. Open-source ESBs in action
Foster et al. Modeling stateful resources with web services
US8316005B2 (en) Network-accessible database of remote services
Pautasso et al. Restful web services vs. big'web services: making the right architectural decision
US20030041178A1 (en) System and method for routing messages between applications
US20050149935A1 (en) Scheduler supporting web service invocation
US20060053120A1 (en) Web service registry and method of operation
US20100218245A1 (en) Method, system, and computer program product for managing interchange of enterprise data messages
US20030220925A1 (en) System and method for web services management
US20030093403A1 (en) System and method for implementing an event adapter
US20050044197A1 (en) Structured methodology and design patterns for web services
US20050204048A1 (en) Methods, systems, and software for providing service integration framework
US20060069774A1 (en) Method and apparatus for managing data center using Web services

Legal Events

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