Please note that this documentation is currently under review!

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In this guide, we have shown how each pattern in the patterns catalog can be simulated using various constructs in WSO2 ESB 4.9.0. Click on a topic in the list below for details.  

To download a PDF of this document or a selected part of it, click here (generate only one PDF at a time). To export to a different format, click the Browse menu at the top of this screen, click Space Operations, and then select an Export option.

Messaging Systems

Image Modified

Message Channels

How one application communicates with another using messaging.

Image Modified

Message

How two applications connected by a message channel exchange a piece of information.

Image Modified

Pipes and Filters

How to perform complex processing on a message while maintaining independence and flexibility.

Image Modified

How to decouple individual processing steps so that messages can be passed to different filters depending on conditions.

Image Modified

Message Translator

How systems using different data formats communicate with each other using messaging.

Image Modified

How an application connects to a messaging channel to send and receive messages.

Messaging Channels

Image Modified

Point-to-Point Channel

How the caller can be sure that exactly one receiver will receive the document or perform the call.

Image Modified

How the sender broadcasts an event to all interested receivers.

Image Modified

How the application sends a data item such that the receiver will know how to process it.

Image Modified

Invalid Message Channel

How a messaging receiver gracefully handles a message that makes no sense.

Image Modified

What the messaging system does with a message it cannot deliver.

Image Modified

How the sender ensures delivery of a message, even if the messaging system fails.

Image Modified

How to connect an application to the messaging system to send/receive messages.

Image Modified

Messaging Bridge

How multiple messaging systems can be connected so that messages available on one are also available on the others.

Image Modified

Message Bus

An architecture enabling separate applications to work together in a decoupled fashion such that applications can be easily added or removed without affecting the others.

Message Construction

Image Modified

Command Message

How messaging can be used to invoke a procedure in another application.

Image Modified

Document Message

How messaging can be used to transfer data between applications.

Image Modified

How messaging can be used to transmit events from one application to another.

Image Modified

Request-Reply

How an application that sends a message gets a response from the receiver.

Image Modified

How a replier knows where to send the reply.

Image Modified

How a requester that has received a reply knows which request the reply is for.

Image Modified

How messaging can transmit an arbitrarily large amount of data.

Image Modified

Message Expiration

How a sender indicates when a message should be considered stale and therefore should not be processed.

 

Format IndicatorHow a message’s data format can be designed to allow for possible future changes.

Message Routing

 
Image Modified

Content-Based Router

How to handle a situation when the implementation of a single logical function (such as an inventory check) is spread across multiple physical systems.

Image Modified

Message Filter

How a component avoids receiving uninteresting messages.

Image Modified

Dynamic Router

How to avoid the dependency of a router in all possible destinations, while maintaining its efficiency.

Image Modified

How to route a message to a list of dynamically specified recipients.

Image Modified

How to process a message if it contains multiple elements, each of which may have to be processed in a different way.

Image Modified

Aggregator

How to combine the results of individual but related messages so that they can be processed as a whole.

Image Modified

How to get a stream of related but out-of-sequence messages back into the correct order.

Image Modified

Composed Msg. Processor

How to maintain the overall flow when processing a message consisting of multiple elements, each of which may require different processing.

 



How to maintain the overall flow when a message needs to be sent to multiple recipients, each of which may send a reply.
Image Modified

Routing Slip

How to route a message consecutively through a series of steps when the sequence of the steps is not known at design time and may vary for each message.

Image Modified

Process Manager

How to route a message through multiple processing steps, when the required steps may not be known at design time and may not be sequential.

Image Modified

Message Broker

How to decouple the destination of a message from the sender and maintain central control over the flow of messages.

Message Transformation

Image Modified

How existing systems participate in a messaging exchange, which places specific requirements in the message format, such as message header fields or encryption.

Image Modified

How to communicate with another system if the message originator does not have all the required data items available.

Image Modified

Content Filter

How to simplify dealing with a large message when you are interested only in a few data items.

Image Modified

Claim Check

How to reduce the data volume of a message sent across the system without sacrificing information content.

Image Modified

How to process messages that are semantically equivalent but arrive in a different format.

 

How to minimize dependencies when integrating applications that use different data formats.

Messaging Endpoints

 
Image Modified

How to encapsulate access to the messaging system from the rest of the application.

 



 
Messaging MapperHow to move data between domain objects and the messaging infrastructure, while keeping the two independent of each other.
Image Modified

Transactional Client

How a client controls its transactions with the messaging system.

Image Modified

Polling Consumer

How an application consumes a message when the application is ready.

Image Modified

How an application automatically consumes messages as they become available.

Image Modified

Competing Consumers

How a messaging client processes multiple messages concurrently.

Image Modified

Message Dispatcher

How multiple consumers on a single channel coordinate their message processing.

Image Modified

Selective Consumer

How a message consumer selects which messages to receive.

Image Modified

How a subscriber avoids missing messages while it is not listening for them.

 



Idempotent Receiver
How a message receiver deals with duplicate messages.
Image Modified

How an application designs a service to be invoked via both messaging and non-messaging techniques.

System Management

Image Modified

Channel Purger

Removes unwanted messages, which can disturb tests or running systems, from a channel.

Image Modified

Control Bus

Administers a messaging system that is distributed across multiple platforms and a wide geographic area.

Image Modified

Detour

Routes a message through intermediate steps to perform validation, testing or debugging functions.

 

Lists all applications that the message passed through since its origination.

Image Modified

Message Store

Reports against message information without disturbing the loosely coupled and transient nature of a messaging system.

Image Modified

Tracks messages on a service that publishes reply messages to the Return Address specified by the requester.

Image Modified

Test Message

Ensures the health of message processing components by preventing situations such as garbling outgoing messages due to an internal fault.

Image Modified

Wire Tap

Inspects messages that travel on a Point-to-Point Channel.

Excerpt
hiddentrue

Enterprise Application Integration (EAI) Patterns with WSO2 ESB