Skip to content
Laurent Broudoux edited this page Sep 9, 2015 · 4 revisions

This page presents supported patterns within EIP Designer and their typical usage intent. It also brings information of properties available on different elements.

Channels

Pattern Symbol Description and properties
Channel Channel Generic tool for dealing with communication between a route's Endpoints. When linking Endpoint to another, channel is by default a Point-to-Point Channel. When linking a Endpoint to many others, implied channels become de facto Publish-Subscribe Channels. The guaranteed property also allows to design a Gauranteed Delivery Channel.
Route Choice Route Choice Use a Route Choice when designing conditional routes on a Router. The condition property allows you to specify a boolean condition (using the expression language of your choice) to be evaluated for finding target path.

Message Routing

Pattern Symbol Description and properties
Content Based Router Router Route message to different endpoints based on message content. Type property allows to specify if routing is based on HEADER_VALUE, PAYLOAD_VALUE or PAYLOAD_TYPE
Filter Filter Filter uninteresting messages. The Expression property allows you to specify a boolean expression to evaluate against incoming messages (you may use arbitrary expression languages here).
Splitter Splitter Decompose a message into multiple elements, each of which may have to be processed in a different way.
Aggregator Aggregator Combine multiples related messages as new one. The Expression property allows you to specify a boolean expression to evaluate against incoming messages to find those that should be aggregate (think of this as a correlation identifier research). It is usually associated with the Part property in order to specify the message part to apply expression on (HEADER or PAYLOAD). The Strategy property allows to refer a more global aggregation strategy existing in your system. Specification of this strategy is not in the scope of EIP.
Resequencer Resequencer Process a stream of related but out-of-sequence messages back into the correct order. Inherits from Aggregator properties. The StreamSequences boolean property can be used to tell that messages should be released as soon as available (the contrary of a bulk/batch release strategy).
Composite Processor Composite Processor Maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing.
Recipient List Router Recipient List Router Route message to a list of recipients among many available endpoints. Determination of recipients is done dynamically. Share the same properties as Router.

Message Transformation

Pattern Symbol Description and properties
Translator / Transformer Transformer Generic transformation of message data format into another.
Content Enricher Content Enricher Enrich incoming message with data later required with message recipient. The property Part can be used to tell which part of message should be enriched (HEADER or PAYLOAD). Enricher may also refer to a Service Reference through an invocation in order to specify that enrichment is done with externally retrieved data.
Content Filter Content Filter Remove unimportant data items from a message leaving only important items.

Message Endpoints

Pattern Symbol Description and properties
Messaging Gateway Gateway Encapsulate access to the messaging system from the rest of the application. Gateway may be used as starting Endpoint when defining route or as target Endpoint when passing message to other system.
Service Activator Service Activator Reference activation/invocation of an external service (via various messaging technologies and via non-messaging techniques). Use this Endpoint to design a Request-reply interaction with out-of-system service.

Other concepts

Beyond the set of base EI Patterns, we found interesting to introduced other concepts in order to bring continuity with other software enterprise design activities. This concepts are for now grouped into the References tool section that is only visible and available when activating the References layer onto the route design diagram.

Concept Symbol Description and properties
Service Reference Service Reference Reference of an external service that may be used as an external message recipient or as a data provider for enrichment.
Service Invocation Service Invocation Specify the usage of a Service Reference from a route Endpoint. Properties such as Context or OperationName allows you to specify the nature of service invocation.