Target services and gateway services
The web services gateway makes the following distinction between a target service and a gateway service:
- A target service is a service available at a service integration bus destination.
- A gateway service is the view of a target service that the gateway gives to service requesters. It is decoupled from the target service.
- A single gateway service can have more than one associated target service (that is, more than one implementation of the same logical service).
A target service is either an internal service (that is, an internally-hosted service directly available at a bus destination), or an external web service (that is, an externally-provided web service that has been made available at a bus destination as an outbound service).
When we configure a gateway service, the gateway service is described in a new WSDL file that is published to a gateway-controlled URL. This indirection gives the following benefits:
- We can move the target service to a new destination, or replace it with a new implementation, and we only have to update the target service information that is held in the gateway. Existing service requesters can still find it and use it, because (as far as they can see) nothing has changed.
- The target service destination need not be on the same bus as the gateway service destination.
- If we have several different implementations of the same service, and we deploy them all to the gateway as multiple target services for a single gateway service, then they appear to service requesters as a single service. We can then use a routing mediation to choose the most appropriate target service for each incoming request.
- We can set, quite independently, the security measures that apply between the service requester and the gateway service, and the security measures that apply between the gateway service and each target service.
When creating a new gateway service, you associate it with a single target service. The gateway service WSDL is created from this first target service WSDL, and you specify the location of the target service WSDL as part of the gateway service creation process. If the target service is an external Web service, it already has an associated WSDL that we can point to. If it is an internal service, create and make available a template WSDL that describes the service.
Create a new gateway service configuration Modifying an existing gateway service configuration addWSGWTargetService command removeWSGWTargetService command Gateway services [Settings] Target services [Settings]