EP1881675A1 - 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
EP1881675A1
EP1881675A1 EP06015020A EP06015020A EP1881675A1 EP 1881675 A1 EP1881675 A1 EP 1881675A1 EP 06015020 A EP06015020 A EP 06015020A EP 06015020 A EP06015020 A EP 06015020A EP 1881675 A1 EP1881675 A1 EP 1881675A1
Authority
EP
European Patent Office
Prior art keywords
endpoint
web service
registry
runtime
web
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP06015020A
Other languages
German (de)
French (fr)
Other versions
EP1881675B1 (en
Inventor
Harald Dr. Schöning
Johannes Dr. Viegener
Keith Swenson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Software AG
Original Assignee
Software AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Software AG filed Critical Software AG
Priority to DE602006002884T priority Critical patent/DE602006002884D1/en
Priority to AT06015020T priority patent/ATE409384T1/en
Priority to ES06015020T priority patent/ES2315970T3/en
Priority to EP06015020A priority patent/EP1881675B1/en
Priority to US11/779,317 priority patent/US8935370B2/en
Priority to CN200710146445.0A priority patent/CN101174983B/en
Publication of EP1881675A1 publication Critical patent/EP1881675A1/en
Application granted granted Critical
Publication of EP1881675B1 publication Critical patent/EP1881675B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to a system and a method for managing a plurality of web services of a service oriented software architecture.
  • Web services are standardized interfaces for exchanging data from one computer to another over a computer network, for example the internet.
  • An application may request data from a server over the computer network using a web service provided by the server.
  • Such a request is typically enclosed in a SOAP envelope, which is conveyed using HTTP, and may comprise XML in conjunction with other web-related standards.
  • SOAP service oriented architecture
  • a SOA may use any web service-based technology.
  • the web services interoperate based on formal definitions which are independent from the underlying platform and programming language.
  • the interface definition encapsulates the specific implementations.
  • a SOA is independent of a specific development technology (such as Java and .NET).
  • the software components become very reusable because the interface is standards-compliant and is independent from the underlying implementation of the web service logic. For example, a C# (C Sharp) service could be used by a JAVA application and vice versa.
  • a developer of a new application in an SOA needs access to the various web services, which are to be used by the new application. This does not only address the availability of the interface specifications of the involved web services, but also the provision of actually active web services that can be called for testing the new application. However, such testing calls must not interfere with the real world. For example calling a web service causing a money transfer for test purposes must not result in a real money transfer.
  • this problem is solved by a system for managing a plurality of web services comprising a registry including a description for at least one of the plurality of web services, wherein the description of the at least one web service comprises a first endpoint for a first runtime condition and a second endpoint for a second runtime condition.
  • web services for different runtime landscapes e.g. development, test, production
  • runtime landscapes e.g. development, test, production
  • the correct endpoints can be automatically selected depending on the respective runtime condition.
  • various test and production environments of a new application can be automatically generated.
  • system is further adapted to select one of the first and second endpoint during runtime depending on an evaluation of environmental information concerning the runtime condition provided by an application calling the web service. Setting the value of a single variable in the application therefore allows to determine, which landscape is used, since the one or more descriptions of the web services in the registry automatically include endpoints adapted to the respective runtime condition (e.g. test, deployment, etc.)
  • system is further adapted to select one of the first and second endpoint during runtime depending on the runtime condition stored in the registry.
  • the registry might for example store information which reflects the current state of the development process and accordingly selects the appropriate landscape of web services for the new application.
  • the first and second endpoint are defined in a first and a second WSDL document for the web service stored in the registry, which are related to each other, for example by referencing each other, wherein each of the WSDL documents may be marked for its specific runtime condition.
  • the first and the second endpoint are defined in a single WSDL document for the web service, preferably as a property component of the WSDL document.
  • the registry stores WSDL descriptions of web service "twins", wherein one of the twins is used for a first runtime condition and the other for another runtime condition.
  • the value of the property component is in one embodiment determined during runtime using a SOAP module of a request for the web service.
  • the first endpoint is adapted to be used for testing an application calling the at least one web service
  • the second endpoint is preferably adapted to be used for deployment of an application calling the at least one web service.
  • the concept of the present invention might also be used to select between other landscapes, i.e. for other runtime conditions.
  • the system further comprises means for monitoring the endpoints of the plurality of web services during runtime and means for issuing a warning if a first web service is called with an endpoint for a first runtime condition and a second web service is called with an endpoint for a second runtime condition.
  • the monitoring function avoids inconsistencies, which are likely to cause errors in the execution of the new application.
  • the present invention relates to a method for managing a plurality of web services comprising the step of storing a description for at least one of the plurality of web services in a registry, wherein the description of the at least one web service comprises a first endpoint for a first runtime condition and a second endpoint for a second runtime condition.
  • Fig. 1 presents an overview of an extremely simplified SOA: An application 30 issues a request 31 for a web service 20. To this end, the application 30 needs at first a description about the interface definitions of the web service 20.
  • This description 40 which may for example be provided in the Web Service Definition Language (WSDL), can either be obtained directly from the web service 20 or from a registry 10 (cf. Fig. 1).
  • WSDL Web Service Definition Language
  • the registry 10 comprises preferably descriptions of all web services of the SOA, for example WSDL files 40 with information about the function, the data, the data type and the exchange protocols of the respective web service. Therefore, if the application 30 intends to send a request to the web service 20, it can obtain the WSDL file 40 from the registry 10 to find out how to access the web service 20.
  • the new application 30 it is necessary to repeatedly contact the involved web service 20 already for testing purposes, for example to verify, whether all requirements of the interface in the call to the web serve are satisfied and whether the response from the web service is properly received and processed by the application 30. If the web service 20 is actually deployed, each of these testing calls will cause some real world operation (for example the reservation of an airline ticket or the transfer of money from one account to another). In this context, it is to be noted that the web service 20 might be somewhere on the internet and its operation may not necessarily be under the control of the developer of the new application 30.
  • the present invention therefore provides according to a preferred embodiment service "twins" as schematically shown in Fig. 2:
  • the registry 10 stores preferably single descriptions WSDL1 - WSDL3 of corresponding web services, however with multiple endpoints, each carrying a reference to the runtime landscape 50 or 50' it belongs to.
  • the term "landscape” refers to a specific part of the overall SOA 100, which can be distinguished by some kind of designated attribute.
  • Both landscapes 50, 50' provide at least partially the same web services WS1 - WS3 and WS1' - WS3', but only the production web services WS1' - WS3' are running in real life and are for example causing business transactions.
  • the test versions of productive services e.g. provided by some 3 rd party
  • landscape distinctions can also be used, for example a development landscape versus a larger testing landscape or the landscape for one company versus the landscape for another company. Further, there may be not only two, but three or more landscapes.
  • the endpoints for the two landscapes 50, 50' in which the web services WS1 - WS3 and WS1' - WS3' exist, are defined in the single registry 10.
  • the web service interface descriptions WSDL1 - WSDL3 are shared between the landscapes 50, 50', while the endpoints are not.
  • the endpoints for the two landscapes 50, 50' are defined in a single WSDL file for a service twin using the "properties" extensibility mechanism provided in WSDL 2.0.
  • a "property” represents a named runtime value which affects the behavior of an aspect of a web service interaction.
  • a SOAP module of a request may specify a property to control the endpoints. This is illustrated in the following example for an exemplary WSDL file describing service twins:
  • the runtime value of the property component therefore determines one of two possible endpoints and thereby, whether the web service of the test landscape or of the production landscape will be addressed.
  • the endpoints of the two landscapes can be specified in accordance with the UDDI-XML-Schema (UDDI 3.0), as shown below:
  • a web service execution component 70 is at runtime (for example of a test run) available to an application 30.
  • the web service execution component 70 is called in step 200 by the application 30, when a web service 20 is to be executed, and receives a unique identification of the web service 20 as input (e.g. its UDDI key, or the URL of its WSDL file).
  • the web service execution component 70 prepares the execution of the call.
  • it accesses the information stored in the registry 10 to determine in step 204 the endpoint for the web service to be called, for example based on the WSDL file obtained from the registry 10.
  • the endpoint resulting in step 204 may depend on an input parameter provided by the application 30 and contained in its call as explained above, for example a certain property value in order to define a certain environment for the execution of the web service call. If there is no web service available at the indicated endpoint, an error is indicated. Otherwise, the web service execution component 70 calls the identified web service in step 205, which is executed in step 206 so that the results can be returned to the application 30 in step 207.
  • the described managing of the endpoints in the registry allows in addition at deployment time of the tested application 30 to identify all service endpoints previously used for testing that application and to permanently replace them by the endpoints already registered in the registry 10 for the production landscape. Further, web service calls can be monitored at runtime and checked whether a landscape crossing occurs, i.e. whether one web services is called, which belongs to a first landscape, such as the test landscape 50, and another web service 50' is called , which belongs to another landscape such as the production landscape 50'. If such an inconsistency is noted during runtime, a warning is issued.
  • the identification of the caller's landscape can use multiple mechanisms, e.g. a DNS-domain based separation of test and production landscape.
  • the landscape information can be sent alongside the web service call.
  • the following example of a WSDL file stored in the registry 10 requires such information and assumes that there is a specific SOAP module for landscape information management:
  • the registry 10 may store information about the development stage of a certain application and cause an appropriate selection of the endpoints (e.g. based on recorded deployment of the application). This may either be done for the whole landscape or also individually for each web service.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Train Traffic Observation, Control, And Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Warehouses Or Storage Devices (AREA)

Abstract

The invention concerns a system for managing a plurality of web services (WS1, WS2, WS3, WS1', WS2', WS3') comprising a registry (10) including 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 comprises a first endpoint (WS1, WS2, WS3) for a first runtime condition and a second endpoint (WS1', WS2', WS3') for a second runtime condition.

Description

    1. Technical field
  • The present invention relates to a system and a method for managing a plurality of web services of a service oriented software architecture.
  • 2. The prior art
  • Web services are standardized interfaces for exchanging data from one computer to another over a computer network, for example the internet. An application may request data from a server over the computer network using a web service provided by the server. Such a request is typically enclosed in a SOAP envelope, which is conveyed using HTTP, and may comprise XML in conjunction with other web-related standards. More technically advanced applications combine various web services to obtain or process the desired data. A software architecture, which is developed around a plurality of web services, is called a service oriented architecture (SOA).
  • In a SOA resources are made available to participants in the network as independent services that the participants can access in a standardized way. Whereas most definitions of a SOA use SOAP requests conveyed via HTTP / HTTPS over TCP/IP, a SOA may use any web service-based technology. The web services interoperate based on formal definitions which are independent from the underlying platform and programming language. The interface definition encapsulates the specific implementations. A SOA is independent of a specific development technology (such as Java and .NET). The software components become very reusable because the interface is standards-compliant and is independent from the underlying implementation of the web service logic. For example, a C# (C Sharp) service could be used by a JAVA application and vice versa.
  • A developer of a new application in an SOA needs access to the various web services, which are to be used by the new application. This does not only address the availability of the interface specifications of the involved web services, but also the provision of actually active web services that can be called for testing the new application. However, such testing calls must not interfere with the real world. For example calling a web service causing a money transfer for test purposes must not result in a real money transfer.
  • A similar scenario applies after development, when the new application is to be tested in a larger setting before it is approved for production usage. Again, new test instances of web services called by the new application might have to be created, because of different requirements concerning stability or result generation during the development phase and the testing phase in a larger setting. When the application is finally approved for production, the calls to the various test web services have to be replaced by calls to the real services. The various replacement steps exchanging the web services for development, large scale testing and finally production present a substantial risk for introducing errors into the final application.
  • It is therefore the technical problem underlying the present invention to provide a system and a method which overcomes the above outlined disadvantages of the prior art and which in particular facilitate the change from the different development and testing stages to the actual deployment of a new application involving one or more web services without the risk of introducing errors.
  • 3. Summary of the invention
  • In one aspect of the invention, this problem is solved by a system for managing a plurality of web services comprising a registry including a description for at least one of the plurality of web services, wherein the description of the at least one web service comprises a first endpoint for a first runtime condition and a second endpoint for a second runtime condition.
  • Accordingly, web services for different runtime landscapes (e.g. development, test, production) can be managed within a single registry without loosing control over the services of the landscapes and the involved risk of introducing errors. On deployment, the correct endpoints can be automatically selected depending on the respective runtime condition. As a result, various test and production environments of a new application can be automatically generated.
  • In one embodiment, the system is further adapted to select one of the first and second endpoint during runtime depending on an evaluation of environmental information concerning the runtime condition provided by an application calling the web service. Setting the value of a single variable in the application therefore allows to determine, which landscape is used, since the one or more descriptions of the web services in the registry automatically include endpoints adapted to the respective runtime condition (e.g. test, deployment, etc.)
  • In another embodiment, the system is further adapted to select one of the first and second endpoint during runtime depending on the runtime condition stored in the registry. The registry might for example store information which reflects the current state of the development process and accordingly selects the appropriate landscape of web services for the new application.
  • In one embodiment, the first and second endpoint are defined in a first and a second WSDL document for the web service stored in the registry, which are related to each other, for example by referencing each other, wherein each of the WSDL documents may be marked for its specific runtime condition.
  • However, in the presently preferred embodiment, the first and the second endpoint are defined in a single WSDL document for the web service, preferably as a property component of the WSDL document. As a result, the registry stores WSDL descriptions of web service "twins", wherein one of the twins is used for a first runtime condition and the other for another runtime condition. The value of the property component is in one embodiment determined during runtime using a SOAP module of a request for the web service.
  • In the presently preferred embodiment, the first endpoint is adapted to be used for testing an application calling the at least one web service, whereas the second endpoint is preferably adapted to be used for deployment of an application calling the at least one web service. However, the concept of the present invention might also be used to select between other landscapes, i.e. for other runtime conditions.
  • Preferably, the system further comprises means for monitoring the endpoints of the plurality of web services during runtime and means for issuing a warning if a first web service is called with an endpoint for a first runtime condition and a second web service is called with an endpoint for a second runtime condition. The monitoring function avoids inconsistencies, which are likely to cause errors in the execution of the new application.
  • According to a further aspect, the present invention relates to a method for managing a plurality of web services comprising the step of storing a description for at least one of the plurality of web services in a registry, wherein the description of the at least one web service comprises a first endpoint for a first runtime condition and a second endpoint for a second runtime condition.
  • Further advantageous modifications of embodiments of the system and the method of the invention are defined in further dependent claims.
  • 4. Short description of the drawings
  • In the following detailed description, presently preferred embodiments of the invention are further described with reference to the following figures:
  • Fig. 1:
    A general overview of an example of a simplified SOA comprising an application calling a Web Service and a registry with a description of the Web Service; and
    Fig. 2:
    A simplified overview of an SOA having two landscapes with a plurality of web service twins; and
    Fig. 3:
    A flow chart illustrating the steps performed during runtime in a system and method according to an embodiment of the invention.
    5. Detailed description of preferred embodiments
  • Fig. 1 presents an overview of an extremely simplified SOA: An application 30 issues a request 31 for a web service 20. To this end, the application 30 needs at first a description about the interface definitions of the web service 20. This description 40, which may for example be provided in the Web Service Definition Language (WSDL), can either be obtained directly from the web service 20 or from a registry 10 (cf. Fig. 1).
  • The registry 10 comprises preferably descriptions of all web services of the SOA, for example WSDL files 40 with information about the function, the data, the data type and the exchange protocols of the respective web service. Therefore, if the application 30 intends to send a request to the web service 20, it can obtain the WSDL file 40 from the registry 10 to find out how to access the web service 20.
  • However, when the new application 30 is being developed, it is necessary to repeatedly contact the involved web service 20 already for testing purposes, for example to verify, whether all requirements of the interface in the call to the web serve are satisfied and whether the response from the web service is properly received and processed by the application 30. If the web service 20 is actually deployed, each of these testing calls will cause some real world operation (for example the reservation of an airline ticket or the transfer of money from one account to another). In this context, it is to be noted that the web service 20 might be somewhere on the internet and its operation may not necessarily be under the control of the developer of the new application 30.
  • The present invention therefore provides according to a preferred embodiment service "twins" as schematically shown in Fig. 2: As can be seen, the registry 10 stores preferably single descriptions WSDL1 - WSDL3 of corresponding web services, however with multiple endpoints, each carrying a reference to the runtime landscape 50 or 50' it belongs to. The term "landscape" refers to a specific part of the overall SOA 100, which can be distinguished by some kind of designated attribute. In the simplified embodiment shown in Fig. 2 there is a separate test landscape 50 and separate production landscape 50'. Both landscapes 50, 50' provide at least partially the same web services WS1 - WS3 and WS1' - WS3', but only the production web services WS1' - WS3' are running in real life and are for example causing business transactions. The test versions of productive services (e.g. provided by some 3rd party) can be automatically generated and added to the registry 10.
  • Other types of landscape distinctions can also be used, for example a development landscape versus a larger testing landscape or the landscape for one company versus the landscape for another company. Further, there may be not only two, but three or more landscapes.
  • To manage the above explained family of service twins without errors, the endpoints for the two landscapes 50, 50', in which the web services WS1 - WS3 and WS1' - WS3' exist, are defined in the single registry 10. Thus, the web service interface descriptions WSDL1 - WSDL3 are shared between the landscapes 50, 50', while the endpoints are not.
  • However, it is to be noted that instead of using single WSDL descriptions WSDL1 - WSDL3 for the web services WS1 - WS3 and WS1' - WS3', there could alternatively also be two sets of related descriptions WSDL1 - WSDL3 and WSDL1' - WSDL3' stored in the registry (not shown in Fig. 2), wherein the two WSDL descriptions belonging to a service twin (for example WSDL1 and WSDL1') are related to each other. Depending on the runtime condition one or the other (or possibly a third) description is used.
  • In the presently preferred embodiment, the endpoints for the two landscapes 50, 50' are defined in a single WSDL file for a service twin using the "properties" extensibility mechanism provided in WSDL 2.0. A "property" represents a named runtime value which affects the behavior of an aspect of a web service interaction. For example, a SOAP module of a request may specify a property to control the endpoints. This is illustrated in the following example for an exemplary WSDL file describing service twins:
    Figure imgb0001
    Figure imgb0002
    Figure imgb0003
  • As can be seen, two endpoints are defined, one for the test landscape, the other for the production landscape. The runtime value of the property component therefore determines one of two possible endpoints and thereby, whether the web service of the test landscape or of the production landscape will be addressed.
  • Alternatively, the endpoints of the two landscapes can be specified in accordance with the UDDI-XML-Schema (UDDI 3.0), as shown below:
    Figure imgb0004
    Figure imgb0005
    Figure imgb0006
  • An UDDI query to find the endpoint for a given landscape (e.g. test) could then look as follows:
 <find_binding xmlns="urn:uddi-org:api_v3"
       serviceKey="uddi:4fc7c540-ef08-11da-bf78-dc56dc1260cf">
 <findQualifiers>
   <findQualifier>exactNameMatch</findQualifier>
 </findQualifiers>
 <categoryBag>
   <keyedReference
       tModelKey="uddi:features.softwareag.com:landscapes"
       keyValue="test"/>
  </categoryBag>
 </find_binding>
  • The endpoint information thus manifested in the WSDL file or the registry (UDDI) can be used in various scenarios one of which is described in the following with reference to the flowchart of Fig. 3, which illustrates three components involved:
  • A web service execution component 70 is at runtime (for example of a test run) available to an application 30. The web service execution component 70 is called in step 200 by the application 30, when a web service 20 is to be executed, and receives a unique identification of the web service 20 as input (e.g. its UDDI key, or the URL of its WSDL file). In step 201, the web service execution component 70 prepares the execution of the call. In step 202, it accesses the information stored in the registry 10 to determine in step 204 the endpoint for the web service to be called, for example based on the WSDL file obtained from the registry 10. It is to be noted that the endpoint resulting in step 204 may depend on an input parameter provided by the application 30 and contained in its call as explained above, for example a certain property value in order to define a certain environment for the execution of the web service call. If there is no web service available at the indicated endpoint, an error is indicated. Otherwise, the web service execution component 70 calls the identified web service in step 205, which is executed in step 206 so that the results can be returned to the application 30 in step 207.
  • The described managing of the endpoints in the registry allows in addition at deployment time of the tested application 30 to identify all service endpoints previously used for testing that application and to permanently replace them by the endpoints already registered in the registry 10 for the production landscape. Further, web service calls can be monitored at runtime and checked whether a landscape crossing occurs, i.e. whether one web services is called, which belongs to a first landscape, such as the test landscape 50, and another web service 50' is called , which belongs to another landscape such as the production landscape 50'. If such an inconsistency is noted during runtime, a warning is issued.
  • Generally, the identification of the caller's landscape can use multiple mechanisms, e.g. a DNS-domain based separation of test and production landscape. The landscape information can be sent alongside the web service call. The following example of a WSDL file stored in the registry 10 requires such information and assumes that there is a specific SOAP module for landscape information management:
    Figure imgb0007
    Figure imgb0008
    Figure imgb0009
  • Alternatively, the registry 10 may store information about the development stage of a certain application and cause an appropriate selection of the endpoints (e.g. based on recorded deployment of the application). This may either be done for the whole landscape or also individually for each web service.
  • Claims (22)

    1. A system for managing a plurality of web services comprising a registry (10) including a description (WSDL1, WDSL2, WSDL3) for at least one of the plurality of web services, wherein the description (WSDL1, WDSL2, WSDL3) of the at least one web service comprises a first endpoint (WS1, WS2, WS3) for a first runtime condition and a second endpoint (WS1', WS2', WS3') for a second runtime condition.
    2. The system of claim 1 further adapted to select one of the first (WS1, WS2, WS3) and second endpoint (WS1', WS2', WS3') during runtime depending on an evaluation of environmental information concerning the runtime condition provided by an application (30) calling the web service.
    3. The system of claim 1 further adapted to select one of the first (WS1, WS2, WS3) and second endpoint (WS1', WS2', WS3') during runtime depending on the runtime condition stored in the registry (10).
    4. The system of any of the preceding claims, wherein the first (WS1, WS2, WS3) and second endpoint (WS1', WS2', WS3') are defined in a first and a second WSDL document for the web service, which are related to each other.
    5. The system of any of the preceding claims 1 - 3, wherein the first (WS1, WS2, WS3) and second endpoint (WS1', WS2', WS3') are defined in a single WSDL document (WSDL1, WDSL2, WSDL3) for the web service, preferably as a property component of the WSDL document.
    6. The system of claim 5, wherein the value of the property component is determined during runtime using a SOAP module of a request for the web service.
    7. The system of any of the preceding claims 1 - 6, wherein the registry (10) is an UDDI registry.
    8. The system of any of the preceding claims, wherein the first endpoint (WS1, WS2, WS3) is adapted to be used for testing an application calling the at least one web service.
    9. The system of any of the preceding claims, wherein the second endpoint (WS1', WS2', WS3') is adapted to be used for deployment of an application (30) calling the at least one web service.
    10. The system of any of the preceding claims, wherein the registry (10) further comprises a third endpoint for a third runtime condition.
    11. The system of any of the preceding claims, the system further comprising means for monitoring the endpoints (WS1, WS2, WS3, WS1', WS2', WS3') of the plurality of web services during runtime and means for issuing a warning if a first web service is called with an endpoint for a first runtime condition and a second web service is called with an endpoint for a second runtime condition.
    12. A method for managing a plurality of web services comprising the step of storing a description (WSDL1, WDSL2, WSDL3) for at least one of the plurality of web services in a registry (10), wherein the description of the at least one web service comprises a first endpoint (WS1, WS2, WS3) for a first runtime condition and a second endpoint (WS1', WS2', WS3') for a second runtime condition.
    13. The method of claim 12 further comprising the step of selecting one of the first (WS1, WS2, WS3) and second endpoint (WS1', WS2', WS3') during runtime depending on the evaluation of environmental information concerning the runtime condition provided by an application calling the web service.
    14. The method of claim 12 further comprising the step of
      storing the runtime condition in the registry; and
      selecting one of the first (WS1, WS2, WS3) and second endpoint (WS1', WS2', WS3') during runtime.
    15. The method of any of the preceding claims 12 - 14, wherein the step of storing a description for at least one of the plurality of web services in a registry comprises storing a first WSDL document for the web service indicating the first endpoint and storing a second WSDL document for the web service indicating the second endpoint, wherein the first and second WSDL documents are stored in the registry as related WSDL documents.
    16. The method of any of the preceding claims 12 - 14, wherein the step of storing a description (WSDL1, WDSL2, WSDL3) for at least one of the plurality of web services in a registry comprises storing a single WSDL document for the web service with property components indicating the first and second endpoints.
    17. The system of claim 16, wherein the values of the property components are determined during runtime using a SOAP module of a request for the web service.
    18. The method of any of the preceding claims 12 - 17, wherein the registry (10) is a UDDI registry.
    19. The method of any of the preceding claims 12 - 18, further comprising the step of using the first endpoint (WS1, WS2, WS3) for testing an application calling the at least one web service.
    20. The method of any of the preceding claims 12 - 18, further comprising the step of using the second endpoint (WS1', WS2', WS3') for deployment of an application calling the at least one web service.
    21. The method of any of the preceding claims 12-20, wherein the registry (10) further comprises a third endpoint for a third runtime condition.
    22. The method of any of the preceding claims 12 - 21, further comprising the step of monitoring the endpoints (WS1, WS2, WS3, WS1', WS2', WS3') of the plurality of web services during runtime and issuing a warning, if a first web service is called with an endpoint for a first runtime condition and a second web service is called with an endpoint for a second runtime condition.
    EP06015020A 2006-07-19 2006-07-19 System and method for managing a plurality of web services Active EP1881675B1 (en)

    Priority Applications (6)

    Application Number Priority Date Filing Date Title
    DE602006002884T DE602006002884D1 (en) 2006-07-19 2006-07-19 System and method for managing a plurality of web services
    AT06015020T ATE409384T1 (en) 2006-07-19 2006-07-19 SYSTEM AND METHODS FOR MANAGING A MULTIPLE OF WEB SERVICES
    ES06015020T ES2315970T3 (en) 2006-07-19 2006-07-19 SYSTEM AND PROCEDURE TO ADMINISTER A PLURALITY OF WEB SERVICES.
    EP06015020A EP1881675B1 (en) 2006-07-19 2006-07-19 System and method for managing a plurality of web services
    US11/779,317 US8935370B2 (en) 2006-07-19 2007-07-18 System and method for managing a plurality of web services
    CN200710146445.0A CN101174983B (en) 2006-07-19 2007-07-19 System and method for managing a plurality of web services

    Applications Claiming Priority (1)

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

    Publications (2)

    Publication Number Publication Date
    EP1881675A1 true EP1881675A1 (en) 2008-01-23
    EP1881675B1 EP1881675B1 (en) 2008-09-24

    Family

    ID=37575002

    Family Applications (1)

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

    Country Status (6)

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

    Families Citing this family (7)

    * 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
    EP2619681A4 (en) * 2010-09-21 2014-11-19 Ebay Inc Providing a marketplace for software services
    GB2502998A (en) * 2012-06-13 2013-12-18 Ibm Automatic creation of endpoint definition documents for different environments
    CN108833135B (en) * 2018-05-04 2023-06-06 深圳市共进电子股份有限公司 Mesh networking management method, management equipment and extender
    US10735300B1 (en) * 2018-11-30 2020-08-04 Intuit Inc. Discovery and testing of program dependencies in computer networks

    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
    CHINNICI R; ET AL: "Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language", W3C CANDIDATE RECOMENDATION, 27 March 2006 (2006-03-27), pages 1 - 135, XP002414179, Retrieved from the Internet <URL:http://www.w3.org/TR/2006/CR-wsdl20-20060327/wsdl20.pdf> [retrieved on 20070110] *

    Also Published As

    Publication number Publication date
    US20080028316A1 (en) 2008-01-31
    CN101174983A (en) 2008-05-07
    US8935370B2 (en) 2015-01-13
    ES2315970T3 (en) 2009-04-01
    DE602006002884D1 (en) 2008-11-06
    EP1881675B1 (en) 2008-09-24
    CN101174983B (en) 2011-04-06
    ATE409384T1 (en) 2008-10-15

    Similar Documents

    Publication Publication Date Title
    US7949999B1 (en) Providing support for multiple interface access to software services
    US7701859B2 (en) Method and apparatus for identifying problem causes in a multi-node system
    EP1881675A1 (en) System and method for managing a plurality of web services
    CN100545851C (en) The remote system administration of utility command row environment
    US8843877B2 (en) Integrated SOA deployment and management system and method for software services
    JP3965185B2 (en) Scheduler that supports web service calls
    US20030233602A1 (en) Dynamic binding and fail-over of comparable Web service instances in a services grid
    US8640149B2 (en) Method and apparatus for dynamic web service composition and invocation
    EP2416246B1 (en) Extensibility of business process and application logic
    CN101946462A (en) Targeted queries using an oma dm protocol
    US20130024472A1 (en) Extensibility of business process and application logic
    US7996840B2 (en) Method, system, and apparatus for scheduling pattern based web services
    Bianco et al. Architecting service-oriented systems
    Fang et al. A version-aware approach for web service directory
    US20050108388A1 (en) Method, system, and apparatus for scheduling pattern based web services
    US20160371205A1 (en) Pattern-based service bus architecture using activity-oriented services
    JP4516594B2 (en) Message transmission control method, message transmission control device, and message transmission control program
    US10397342B2 (en) Web service contract selection
    US8176092B2 (en) Consistency enforcement system for XML objects stored in an SOA-registry
    CN112418796B (en) Sub-process task node activation method and device, electronic equipment and storage medium
    KR101888131B1 (en) Method for Performing Real-Time Changed Data Publish Service of DDS-DBMS Integration Tool
    Zhou et al. Pi4soa: A policy infrastructure for verification and control of service collaboration
    US20100241485A1 (en) Claims Based Factory Pattern for Creating Objects
    Zinnikus et al. An agent-based, model-driven approach for enabling interoperability in the area of multi-brand vehicle configuration
    Christos et al. Towards Dynamic, Relevance-Driven Exception Resolution in Composite Web Services

    Legal Events

    Date Code Title Description
    PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

    Free format text: ORIGINAL CODE: 0009012

    AK Designated contracting states

    Kind code of ref document: A1

    Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

    AX Request for extension of the european patent

    Extension state: AL BA HR MK YU

    17P Request for examination filed

    Effective date: 20080124

    GRAP Despatch of communication of intention to grant a patent

    Free format text: ORIGINAL CODE: EPIDOSNIGR1

    GRAS Grant fee paid

    Free format text: ORIGINAL CODE: EPIDOSNIGR3

    GRAA (expected) grant

    Free format text: ORIGINAL CODE: 0009210

    AK Designated contracting states

    Kind code of ref document: B1

    Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

    REG Reference to a national code

    Ref country code: GB

    Ref legal event code: FG4D

    REG Reference to a national code

    Ref country code: CH

    Ref legal event code: EP

    AKX Designation fees paid

    Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

    REG Reference to a national code

    Ref country code: IE

    Ref legal event code: FG4D

    REF Corresponds to:

    Ref document number: 602006002884

    Country of ref document: DE

    Date of ref document: 20081106

    Kind code of ref document: P

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: LT

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: AT

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    Ref country code: LV

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    Ref country code: FI

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    Ref country code: SI

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: BE

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    REG Reference to a national code

    Ref country code: ES

    Ref legal event code: FG2A

    Ref document number: 2315970

    Country of ref document: ES

    Kind code of ref document: T3

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: BG

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20081224

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: SK

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    Ref country code: CZ

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    Ref country code: RO

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    Ref country code: IS

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20090124

    Ref country code: PT

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20090224

    Ref country code: NL

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: DK

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    Ref country code: EE

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    PLBE No opposition filed within time limit

    Free format text: ORIGINAL CODE: 0009261

    STAA Information on the status of an ep patent application or granted ep patent

    Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: IT

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    26N No opposition filed

    Effective date: 20090625

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: SE

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20081224

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: MC

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20090731

    REG Reference to a national code

    Ref country code: FR

    Ref legal event code: ST

    Effective date: 20100331

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: FR

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20090731

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: PL

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: IE

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20090719

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: GR

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20081225

    REG Reference to a national code

    Ref country code: CH

    Ref legal event code: PL

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: LI

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20100731

    Ref country code: CH

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20100731

    Ref country code: LU

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20090719

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: HU

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20090325

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: TR

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: CY

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

    Effective date: 20080924

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: ES

    Payment date: 20110728

    Year of fee payment: 6

    REG Reference to a national code

    Ref country code: ES

    Ref legal event code: FD2A

    Effective date: 20131022

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: ES

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20120720

    REG Reference to a national code

    Ref country code: DE

    Ref legal event code: R079

    Ref document number: 602006002884

    Country of ref document: DE

    Free format text: PREVIOUS MAIN CLASS: H04L0029080000

    Ipc: H04L0065000000

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: GB

    Payment date: 20230720

    Year of fee payment: 18

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: DE

    Payment date: 20230719

    Year of fee payment: 18