Hi,

As agreed, I'm prefixing the title of this post with "EIP" to denote that
it's a general post on Enterprise Integration Patterns (not Camel specific).

Message Broker is one of the patterns described in the EIP book. I believe
that this pattern is also the basis of ESB products currently being marketed
by most vendors. From the EIP site, I quote:



> Use a central Message Broker that can receive messages from multiple
> destinations, determine the correct destination and route the message to
> the correct channel. Implement the internals of the Message Broker using
> the design patterns presented in this chapter.
> 

In the book, the author admits that the usage of this pattern may result in
a bloat in the amount of functionality implemented inside the broker and
suggests a federated approach to solve this problem.

Nevertheless, I found the treatment of this federated approach to be very
thin.

For example, if an application App1 is connected to broker B1 and needs to
send a message of type M2 which is handled by an application App2 connected
to broker B2, then how are the different channels configured to support
this?

Does there need to be a channel on B1 which will accept messages of type M2
and then B1 would route it to B2 which would in turn route it to App2?

Wouldn't that mean that each broker would need to have channels for all
messages which are sent by applications connected to it to other
applications connected to other borkers? Wouldn't that have an impact on the
number of channels, the amount of routing configuration and the managability
of the solution?

Or is it that a borker would have a single channel which is not a Datatype
Channel and all applications connected to it would send all messages to this
channel and then the broker would determine whether they're to be routed to
an application connected to it or through another broker? Wouldn't that make
the required routing conifguration for this channel quite complex?

Isn't that why most people find ESB implementations to be bloated?

Wouldn't the broker in general become a single point of failure for all
applications connected to it?

Is there a better approach for implementing this pattern? Has anyone covered
this topic in more detail?

I'd appreciate your thoughts on the subject.

Thanks,
Tarek Nabil
-- 
View this message in context: 
http://www.nabble.com/EIP---Message-Broker-Pattern-tp25676225p25676225.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to