The CERN Messaging Service provides dedicated clusters of message brokers supporting the sending and receiving of messages between distributed systems.
It allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. It creates a distributed communications layer that insulates the application developer from the details of the various operating system and network interfaces.
A message broker is an intermediary program that translates the language of a system from one internationally recognized language to another by way of a telecommunications medium. It 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. This mediation is provided on best-effort basis with no guarantee that the messages will always reach the consumers.