Tuesday, July 14, 2009

Enterprise Service Bus Or Enterprise Message Broker

Using EMB of ESB is not a project level decision but an enterprise level decision. The factors which influence this decision are not only technological but also business and political. This blog is not an argument favoring one over other but just additional information which could help you in making your decision from a technical point of view.

My friend Nitin Shekhar has already written a nice article explaning the core concept and difference between the two you can read it here (
http://nitinshekhar.blogspot.com/2009/07/enterprise-service-bus-vs-message.html
)

I would like to add some more information through this blog.

EMB ( Message Broker )

It is a physical component that handles the communication between applications. Instead of communicating with each other, applications communicate only with the message broker. An application sends a message to the message broker, providing the logical name of the receivers. The message broker looks up applications registered under the logical name and then passes the message to them.










Reponsibilities

• Receive message
• Determine the message recipients and perform the routing
• Handle any interface-level differences ( mapping etc ) mostly one to one.
• Dipatch the message to the recipients


ESB ( Service Bus)

Used to Connect all applications through a logical component. It specializes in transporting messages between applications. Key elements of ESB are:
• A set of agreed-upon message schemas
• A set of common command messages
• A shared infrastructure for sending bus messages to recipients











Responsiblities

• Provides a common set of message formats to the participating applications.
• Transports messages from the sender to the other applications that are connected to the bus.
• Senders tag outgoing messages and pass them to the bus.
• Receivers inspect the incoming messages and discard the messages that are not needed.

No comments:

Post a Comment