---
schema_version: "1"
id: 363a7507f4c8cea6bdafa6b837e1dd59c2153e8a4ca777deb0cade6cc5bffb39
title: Enterprise Integration Patterns Using Mule
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/mule-runtime/4.12/understanding-enterprise-integration-patterns-using-mule.md
canonical_url: https://docs.mulesoft.com/mule-runtime/4.12/understanding-enterprise-integration-patterns-using-mule
source_site: docs.mulesoft.com
content_type: documentation
content_hash: e85ceb83fb49b53c00f6f123e787e67e64234a1c5985f86c998625e48f6deef1
description: MuleSoft Documentation Site
release: "4.12"
latest: false
---
---
product: Mule Runtime
version: 4.12
---

# Enterprise Integration Patterns Using Mule

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Enterprise Integration Patterns are accepted solutions to recurring problems within a given context.
The patterns provide a framework for designing, building messaging and integration systems, as well
as a common language for teams to use when architecting solutions.

Mule supports most of the patterns shown in the Enterprise Integration Patterns book written by
Gregor Hohpe and Bobby Woolf.

Mule reduces the effort required when building integrations by implementing the patterns that you
use to design solutions. You can then simply configure and use these same patterns in Mule.

## Mapping Enterprise Integration Patterns into Mule Objects

Review the following list of Enterprise Integration Patterns that can be mapped directly to Mule
objects:

### Integration Styles

<table><colgroup><col> <col></colgroup><thead><tr><th>Pattern</th><th>Mapping to a Mule Object</th></tr></thead><tbody><tr><td><p>File Transfer</p></td><td><p><a href="https://docs.mulesoft.com/file-connector/latest/">File Connector</a></p></td></tr><tr><td><p>Shared Database</p></td><td><p><a href="https://docs.mulesoft.com/db-connector/latest/">DataBase Connector</a></p></td></tr><tr><td><p>Remote Procedure Invocation</p></td><td><p>Mule APIs are meant to work like this procedure or even doing requests to external APIs.</p></td></tr><tr><td><p>Messaging</p></td><td><p>Mule is all about Messaging.</p></td></tr></tbody></table>

### Messaging Systems

<table><colgroup><col> <col></colgroup><thead><tr><th>Pattern</th><th>Mapping to a Mule Object</th></tr></thead><tbody><tr><td><p>Message Channel</p></td><td><p>Mule provides a message channel that connects the message processors in a flow.</p></td></tr><tr><td><p>Pipes and Filters</p></td><td><p>A flow implements a pipe and filter architecture.</p></td></tr><tr><td><p>Message Router</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/about-components#flow-control-routers">Message Routers</a>.</p></td></tr><tr><td><p>Message Translator</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/transform-component-about">Message Transformer</a>.</p></td></tr><tr><td><p>Message Endpoint</p></td><td><p><a href="https://docs.mulesoft.com/mule-sdk/latest/sources">Creating Message Sources with the Mule SDK</a> and <a href="https://docs.mulesoft.com/mule-sdk/latest/operations">Operations</a>.</p></td></tr></tbody></table>

### Messaging Channels

<table><colgroup><col> <col></colgroup><thead><tr><th>Pattern</th><th>Mapping to a Mule Object</th></tr></thead><tbody><tr><td><p>Point-to-Point Channel</p></td><td><p>The default channel within a flow.</p></td></tr><tr><td><p>Message Bus</p></td><td><p>Mule is a message bus.</p></td></tr><tr><td><p>Guaranteed Delivery</p></td><td><p>Using <a href="https://docs.mulesoft.com/mule-runtime/4.12/reliability-patterns">Reliability Patterns</a>.</p></td></tr></tbody></table>

### Message Construction

<table><colgroup><col> <col></colgroup><thead><tr><th>Pattern</th><th>Mapping to a Mule Object</th></tr></thead><tbody><tr><td><p>Event Message</p></td><td><p>Mule transmits events from different Application or Processors.</p></td></tr><tr><td><p>Request Reply</p></td><td><p>Mule uses connectors that facilitate request-reply wise operations, or using <a href="https://docs.mulesoft.com/mule-runtime/4.12/reliability-patterns">Reliability Patterns</a>.</p></td></tr></tbody></table>

### Message Routing

<table><colgroup><col> <col></colgroup><thead><tr><th>Pattern</th><th>Mapping to a Mule Object</th></tr></thead><tbody><tr><td><p>Content-Based Router</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/choice-router-concept">Choice Router</a>.</p></td></tr><tr><td><p>Message Filter</p></td><td><p><a href="https://docs.mulesoft.com/validation-connector/latest/">Validation Module</a>.</p></td></tr><tr><td><p>Dynamic Routing</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/about-components#flow-control-routers">Message Routers</a>.</p></td></tr><tr><td><p>Scatter Gather</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/scatter-gather-concept">Scatter Gather Router</a>.</p></td></tr><tr><td><p>Splitter</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/for-each-scope-concept">Foreach Scope</a>, <a href="https://docs.mulesoft.com/mule-runtime/4.12/parallel-foreach-scope">Parape</a> and <a href="https://docs.mulesoft.com/mule-runtime/4.12/batch-processing-concept">Batch</a>.</p></td></tr><tr><td><p>Aggregator</p></td><td><p><a href="https://docs.mulesoft.com/aggregators-module/latest/">Aggregator Module</a>.</p></td></tr></tbody></table>

### Message Transformation

<table><colgroup><col> <col></colgroup><thead><tr><th>Pattern</th><th>Mapping to a Mule Object</th></tr></thead><tbody><tr><td><p>Content Enricher</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/target-variables">Target Variables</a>.</p></td></tr></tbody></table>

### Messaging Endpoints

<table><colgroup><col> <col></colgroup><thead><tr><th>Pattern</th><th>Mapping to a Mule Object</th></tr></thead><tbody><tr><td><p>Polling Consumer</p></td><td><p><a href="https://docs.mulesoft.com/mule-sdk/latest/sources">Creating Message Sources with the Mule SDK</a>.</p></td></tr><tr><td><p>Transactional Client</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/transaction-management">Transaction Management</a>.</p></td></tr><tr><td><p>Idempotent Receiver</p></td><td><p><a href="https://docs.mulesoft.com/mule-runtime/4.12/redelivery-policy">Redelivery Policy</a>.</p></td></tr></tbody></table>
