LibraryLink ToToggle FramesPrintFeedback

What are the Enterprise Integration Patterns?

The enterprise integration patterns are inspired by a book of the same name written 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 FUSE Mediation Router product provides practical implementations for many of the patterns described in Hohpe and Woolf's book. FUSE Mediation Router applications are constructed from the following basic entities:

For a more detailed introduction to the basic concepts in FUSE Mediation Router, see Defining Routes in Java DSL.

To take a concrete example of an enterprise integration pattern, consider the splitter pattern, which can be implemented by a simple route in Java, as follows:

from("activemq:my.queue").splitter(xpath("/*")).to("file://some/directory")

Where the route is written in FUSE Mediation Router's Java DSL (see Basic Java DSL Syntax for details). This route defines a consumer endpoint, activemq:my.queue, using the ActiveMQ component (where Apache ActiveMQ is a JMS -compliant messaging system). The consumer endpoint is configured to receive messages from a queue called my.queue. Messages pulled off the queue pass through the splitter processor, splitter(xpath("/*")), which applies an XPath expression to the incoming message (presumed to be in XML format) in order to split it into multiple smaller messages. In this example, the effect is to split off every root-level element into a separate message.

You can also define an equivalent route using XML configuration:

<camelContext id="buildSplitter" xmlns="http://activemq.apache.org/camel/schema/spring">
    <route>
      <from uri="activemq:my.queue"/>
      <splitter>
        <xpath>/*</xpath>
        <to uri="file://some/directory"/>
      </splitter>
    </route>
</camelContext>

To gain a fuller understanding of how to implement enterprise integration patterns using FUSE Mediation Router, we recommend that you supplement this introductory guide by reading one or more of the following documents from the FUSE Mediation Router library: