Beruflich Dokumente
Kultur Dokumente
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Message
Application
Application Application
Application Application
Application
Channel Pipe Pipe Pipe Pipe
AA BB CC Decrypt
Decrypt Authenticate
Authenticate De-Dupe
De-Dup
Message Bus
Sender Messaging Receiver
Application System Application
Pipes and Filters describes a
Package the information into a fundamental architectural style
Message, a data record that the for messaging systems:
Connect the applications using
messaging system can transmit Individual processing steps
a Message Channel, where one
through a Message Channel. (filters) are chained together
application writes information to
through the messaging channels
the channel and the other one
(pipes).
reads that information from the
channel.
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Message Router Message Translator Message Endpoint
outQueue 1
inQueue
Translator
outQueue 2
Data Data
Message Message Message
Endpoint Message Channel Endpoint
Router
Sender Receiver
Insert a special filter, a Message Incoming Message Translated Message Application Application
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Address Subscriber
Sender Order Order Order Point-to-Point Order Order Order Receiver
Changed
#3 #2 #1 Channel #3 #2 #1 Sender Message Channel Intended
Receiver
Reroute Delivery
A Point-to-Point Channel ensures Publisher Address
Changed
Address
Changed
Subscriber
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
E
D D
D Request Request
Observer Channel
Sender Document Receiver
Message
E E
E
D = aPurchaseOrder Reply Reply
Subject Event Observer Requestor Channel Replier
Message
Reply 1
Channel 2 Reply 1 2 3
The Content-Based Router
A message’s Return Address is Requestor Replies Replier
examines the message content
analogous to the reply-to field in Correlation ID
and routes the message onto a
an e-mail message. The reply-to
A requestor assigns each request different channel based on data
e-mail address is usually the
with a unique request ID. contained in the message.
same as the from address, but
Replier’s add the request ID to
the sender can set it to a different
the reply so that the requestor
address to receive replies in an
can correlate the reply with the
account other than the one used
request that generated it.
to send the original message.
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Control Channel
D
D
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Splitter Aggregator Resequencer
1
Inventory Inventory Inventory 2
3 2 1
Item 1 Item 2 Item 3 Aggregator 3
Order Order Order Inventory
New Order Splitter Item 1 Item 2 Item 3 Order Resequencer
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Broadcast A
Vendor
VendorBB C
Proc
Proc BB
Quote Request
Attach Routing Slip
to Message
Vendor
VendorCC Proc
Proc C
C
Composite
New Order Message Validated
Route Message
According to Slip
Processor Order
“Best” Quote
Aggregator
Use a Composed Message Attach a Routing Slip to each
Processor to process a composite message, specifying the
Use a Scatter-Gather that
message. The Composed sequence of processing steps.
broadcasts a message to multiple
Message Processor splits Wrap each component with a
recipients and reaggregates the
the message up, routes the special message router that reads
submessages to the appropriate responses back into a single
the Routing Slip and routes the
destinations, and reaggregates message.
message to the next component
the responses back into a single in the list.
message.
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Content Filter
Message Message
Datastore
Resource
Store message data in a
Use a Content Filter to remove
The Content Enricher uses persistent store and pass a
unimportant data items from a
information inside the incoming Claim Check to subsequent
message, leaving only important
message (e.g., key fields) to components. These components
items.
retrieve data from an external can use the Claim Check to
source. After the Content retrieve the stored information.
Enricher retrieves the required
data from the resource, it
appends the data to the
message.
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Normalizer Messaging Gateway Messaging Mapper
Normalizer
Messaging
Mapper
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Receiver
A Polling Consumer is an object
Use a Transactional Client—make that an application uses to An Event-Driven Consumer
the client’s session with the receive messages by explicitly is an object that is invoked
messaging system transactional requesting them. When the by the messaging system
so that the client can specify application is ready for another when a message arrives on
transaction boundaries. message, it polls the consumer, the consumer’s channel. The
which in turn gets a message consumer passes the message
from the messaging system and to the application through a
returns it. callback in the application’s API.
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Wire Tap
Source
Source Destination
Destination Source Destination
Detour Source Destination
Control
Message Store
Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE Get the tool: fusesource.com/IDE
Please visit
fusesource.com