The web services gateway makes the following distinction between
a
target
service and a
gateway service:
- A target
service is a 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 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 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 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 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.