The Web services gateway makes the following distinction between a
target
service and a
gateway service:
- A target service is an actual service that is 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 actual 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 services that has been made available
at a bus destination as an outbound service).
When you 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:
- You can move the target service to a new destination, or replace it with
a new implementation, and you only need 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 you have several different implementations of the same service, and
you 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.
You can then use a routing mediation to choose the most appropriate target
service for each incoming request.
- You 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 you create 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 you can point to. If it is
an internal service, create and make available a template WSDL that describes
the service.