Message routers direct data from a requesting resource to a responding resource and back. These are also known as application brokers, message brokers, or XML data routers. A router "knows" which of the other internal systems needs to receive a certain types of updates. The individual internal systems can pass updates to a router and would not need to know who receives such updates.
A message router usually needs to transform the data in some way in order to match the format of the data expected by the receiving system. The following shows examples of such transformations. Internal system A at the left is sending data in tagged XML format. Internal system B at the right expects a tagged XML format, but expects the tags to be different. For example, instead of the tag <name> in system A, system B expects the data to be tagged with <customer>. The tags for phone and postal code data also are different. The message tag itself varies as well. At the left, the tag is <GetCustomerInfoResponse> and at the right, the tag is <GetCustomerAccount>.

Existing internal systems will most likely also need an adapter. See Web Services adapters for how a message router is shown with adapters.
More information on Web Services message routers can be found in Web Services and Service-Oriented Architectures: The Savvy Manager's Guide.
If you are interested in a listing of message router products, click here.
![]()
More on the general topic: Messaging components


