Message broker is an intermediary program that translates a system's language from one internationally suitable language to another via a telecommunication medium.
In telecommunication networks, programs interact by exchanging messages that are formally defined, i.e., by means of the act of messaging. In these networks, a message broker serves as an intermediary program, which translates a message from the sender's formal messaging protocol to the receiver’s formal messaging protocol.
A message broker is also known as an integration broker or middleware.
Message brokers are architectural designs for validating, transforming and routing messages. They serve as mid-level programs to trigger communication between applications. This helps to minimize the mutual awareness that the applications should possess to be capable of exchanging messages, efficiently employing decoupling.
The objective of message brokers is to receive inbound messages from applications and perform actions on them. Some examples of actions that could be carried out by a message broker are:
Direct messages to one or more destinations.
Translate messages to a different representation.
Communicate with another repository to enhance a message or save it.
Invoke Web services for retrieving data.
Reply to errors or events.
Offer content as well as topic-based message routing using the publish-subscribe pattern.
Execute message gathering or amassing; decomposing messages into many different messages; delivering these messages to their desired destination; recomposing the response messages into one single message, and then returning it to the user.
Various messaging patterns, such as the publish-subscribe pattern, are able to work without using a message broker. Workload queues are such patterns that need a message broker. These are message queues that are managed by various receivers. These kinds of queues really should be supervised, transacted and generally kept dependably, at a single point.