One of the key advantages of an Enterprise Service Bus, as well as Service Oriented Architecture in general is the quality of Agility, that is, the ability to easily compose new orchestrations of web service operations. In this recipe, we will consider a scenario in which a standard service contract might be implemented by multiple providers, the selection of which we want to dynamically configure at runtime.
For example, let us suppose that we are running an online bookstore and wish to automate stock order requests to multiple publishers. A stock order includes the name of the publisher, details of the book, and the quantity to order:
<stockOrder> <publisher>ACME</publisher> <bookOrder> <book> <isbn>1234567890123</isbn> <title>Barry Potter</title> … </book> <quantity>Skylight vampires</quantity> </bookOrder> </stockOrder>
This service could be...