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.