Message broker
It has been suggested that this article be merged into Middleware. (Discuss) Proposed since September 2010. |
Message broker is an intermediary program which translates the language of a system from one internationally recognized language to another by way of a telecommunications medium.
Pattern
A message broker is an architectural pattern for message validation, message transformation and message routing.[1] 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 model
Broker Functionality
Many messaging patterns (like publish/subscribe) can work without a message broker. One pattern that requires a message broker is workload queues, that is message queues that are handled by multiple receivers. Such queues must be managed, transacted, and usually stored reliably, at a single point.
List of Message broker software
- DIPS Message Broker[2]
- Apache ActiveMQ
- OpenAMQ
- Comverse Message Broker (Comverse Technology)
- Antares Enovacom
- eSCL Message Broker[3] (Interface & Control Systems)
- FUSE Message Broker (enterprise ActiveMQ)
- Financial Fusion Message Broker (Sybase)
- JBoss Messaging (JBoss)
- Microsoft BizTalk Server[4] (Microsoft)
- Oracle Message Broker (Oracle Corporation)
- Proteus an open source[5] implementation by Info-Scape
- WebSphere Message Broker (IBM)
- webMethods Message Broker[6] (webMethods Message Broker)
- Cloverleaf (E-Novation Lifeline)
- SAP PI[7] (SAP AG)
- Sapo Broker[8] (Portugal Telecom)
- Python Message Service[9]
- e-Biz Impact (Sybase, Inc)[10]
- Spread Toolkit
- Niklas message broker by Copernicus[11]
- RabbitMQ (Mozilla Public License, written in Erlang)
- Axway Integration Broker[12]
- JORAM
See also
Footnotes
- ^ "Hub and Spoke [or] Zen and the Art of Message Broker Maintenance". Enterprise Integration Patterns. 2003-11-12. Retrieved 2010-10-14.
- ^ "DIPS".
- ^ "the eSCL Message Broker". Interfacecontrol.com. Retrieved 2010-10-14.
- ^ "The Official Microsoft WPF and Windows Forms Site". Patternshare.org. Retrieved 2010-10-14.
- ^ "Proteus - An Open Source EAI Message Broker". Info-scape.com. Retrieved 2010-10-14.
- ^ Introduction Messaging[dead link]
- ^ "SAP NetWeaver Capabilities - SOA Middleware". Sdn.sap.com. Retrieved 2010-10-14.
- ^ "Sapo Broker - SOA Middleware". Softwarelivre.sapo.pt. Retrieved 2010-10-14.
- ^ "pypubsub.sourceforge.net". pypubsub.sourceforge.net. Retrieved 2010-10-14.
- ^ "Sybase.com". Sybase.com. Retrieved 2010-10-14.
- ^ "Niklas - An Open Source Message Broker".
- ^ [www.axway.com "DIPS"].
{{cite web}}
: Check|url=
value (help)