Message broker is an intermediary program which translates the language of a system from one Globally acceptable languages to another by way of a telecommunications medium.
A message broker is an architectural pattern for message validation, message transformation and message routing. It mediates communication amongst applications, minimizing the mutual awareness that applications should have of each other in order to be able to exchange messages, effectively implementing decoupling.
The purpose of a broker is to take incoming messages from applications and perform some action on them. The following are examples of actions that might be taken in the broker:
• Route messages to one or more of many destinations
• Transform messages to an alternative representation
• Perform message aggregation, decomposing messages into multiple messages and sending them to their destination, then recomposing the responses into one message to return to the user
• Interact with an external repository to augment a message or store it
• Invoke Web services to retrieve data
• Respond to events or errors
• Provide content and topic-based message routing using the publish–subscribe pattern.