-
Notifications
You must be signed in to change notification settings - Fork 12
Supported Patterns
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.
Pattern | Symbol | Description and properties |
---|---|---|
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 | 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. |
Pattern | Symbol | Description and properties |
---|---|---|
Content Based 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 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 | Decompose a message into multiple elements, each of which may have to be processed in a different way. | |
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 | 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 | Maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing. | |
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. |
Pattern | Symbol | Description and properties |
---|---|---|
Translator / Transformer | Generic transformation of message data format into another. | |
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 | Remove unimportant data items from a message leaving only important items. |
Pattern | Symbol | Description and properties |
---|---|---|
Messaging 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 | 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. |
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 | Reference of an external service that may be used as an external message recipient or as a data provider for enrichment. | |
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. |