Broker implements existing Web service interface

In this Web service scenario, the broker provides a Web services interface to an existing non-web-service application. The Web service is constrained to an existing WSDL definition.

The diagram shows an existing application whose definition file is imported to a message set. The WSDL file from an existing Web service client is also imported into the message set. The message set is deployed to a flow in a broker. At runtime the flow interacts with the existing application and the Web service client.

Key to symbols:

This diagram describes the symbols used in the other diagrams, and is not described here because those diagrams each have their own descriptions.

Possible uses

Design steps

  1. Import WSDL to create a message set containing definitions for the SOAP messages described by the WSDL.
  2. Adapt the message set for the required existing interface, possibly by importing an existing interface definition such as a C header file or COBOL copybook.
  3. Develop a message flow to implement the Web service.

Runtime

Your message flow receives a Web service request, converts it into a form expected by the existing application and invokes the existing application. The response from the existing application is converted into a valid Web service response.

Example 1

In this example, an existing HTTP Web service client provides information on a given subject (stock prices or exchange rates, for example). You want to replace this service with an inhouse database lookup solution, but want to make no changes to the clients since these are widely deployed.

  1. Create a message flow including an HTTPInput node that receives requests from your clients.
  2. The HTTPInput node connects to a Compute node that retrieves the required information from the database and generates a new output message, in the form of a Web service response including this new data.
  3. The Compute node propagates the message to the HTTPReply node, which generates the response for the Web service client.

Example 2

In this example, an existing, C or Cobol based, system can usefully be exposed as a Web service. There is also a constraint on what the Web service must look like – we already have the WSDL definition for a widely distributed Web services client which gives your users access to a particular business capability. The role of the broker will be to offer the same interface to a new implementation based on the existing system. Perhaps the original Web services provider offers a different quality of service or is to be discontinued for some reason.

  1. Import the existing application interface.
  2. Import an existing WSDL definition for the client.
  3. Create a flow to implement the Web service interface and mediate with the existing application.

(See Importing from WSDL).

Related concepts
Web services, WSDL and message flows
Broker calls existing Web service
Broker implements new Web service interface
Broker implements non-web-service interface to new Web service