Databases Reference
In-Depth Information
Once the routing has been defined, then it can be saved, as shown in Chapter 2 ,
Writing your First Composite .
Note that we have shown a very simple routing example. The Service Bus is capable
of doing much more sophisticated routing decisions. A common pattern is to use a
pipeline to enrich the inbound data and then route based on the inbound data. For
example, a pricing proxy service may use the inbound pipeline to look up the status
of a customer, adding that status to the data available as part of the request. The
routing service could then route high value customers to one service and low value
customers to another service, based on the looked up status. In this case, the routing
is based on a derived value rather than on a value already available in the message.
In summary, a request can be routed to different references, based on the content
of the request message. This allows messages to be routed based on geography or
pecuniary value for example. This routing, because it takes place in the composite,
is transparent to clients of the composite and so aids us in reducing coupling in
the system.
Virtualizing service interfaces
We have looked at how to virtualize a service endpoint. Now let's look at how we
can further virtualize the service by abstracting its interface into a common format,
known as canonical form. This will provide us further flexibility by allowing us to
change the implementation of the service with one that has a different interface but
performs the same function. The native format is the way the data format service
actually uses, the canonical format is an idealized format that we wish to
develop against.
Physical versus logical interfaces
Best practice for integration projects was to have a canonical form for all messages
exchanged between systems. The canonical form was a common format for all
messages. If a system wanted to send a message, then it first needed to transform it
to the canonical form before it could be forwarded to the receiving system, which
would then transform it from the canonical form to its own representation. This
same good practice is still valid in a service-oriented world and the Service Bus
is the mechanism SOA Suite provides for us to do this.
 
Search WWH ::




Custom Search