LibraryToggle FramesPrintFeedback

Fuse Mediation Router supports most of the patterns from the book, Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf. The patterns described by these authors provide an excellent toolbox for developing enterprise integration projects. In addition to providing a common language for discussing integration architectures, many of the patterns can be implemented directly using Fuse Mediation Router's programming interfaces and XML configuration.

The message routing patterns, shown in Table 12.4, describe various ways of linking message channels together, including various algorithms that can be applied to the message stream (without modifying the body of the message).

Table 12.4. Message Routing

IconNameUse Case
Content based router iconContent Based RouterHow do we handle a situation where the implementation of a single logical function (e.g., inventory check) is spread across multiple physical systems?
Message filter iconMessage FilterHow does a component avoid receiving uninteresting messages?
Recipient List iconRecipient ListHow do we route a message to a list of dynamically specified recipients?
Splitter iconSplitterHow can we process a message if it contains multiple elements, each of which might have to be processed in a different way?
Aggregator iconAggregatorHow do we combine the results of individual, but related messages so that they can be processed as a whole?
Resequencer iconResequencerHow can we get a stream of related, but out-of-sequence, messages back into the correct order?
Composed Message Processor How can you maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing?
  Scatter-Gather How do you maintain the overall message flow when a message needs to be sent to multiple recipients, each of which may send a reply?
Routing slip iconRouting SlipHow do we route a message consecutively through a series of processing steps when the sequence of steps is not known at design-time, and might vary for each message?
 ThrottlerHow can I throttle messages to ensure that a specific endpoint does not get overloaded, or that we don't exceed an agreed SLA with some external service?
 DelayerHow can I delay the sending of a message?
Load balancer iconLoad BalancerHow can I balance load across a number of endpoints?
Multicast iconMulticastHow can I route a message to a number of endpoints at the same time?
  Loop How can I repeat processing a message in a loop?
 SamplingHow can I sample one message out of many in a given period to avoid downstream route does not get overloaded?
Dynamic router iconDynamic RouterHow can you avoid the dependency of the router on all possible destinations while maintaining its efficiency?

Comments powered by Disqus
loading table of contents...