Le broker de messages procède en traduisant les messages entre les protocoles de messagerie formels. Ceci permet à des services interdépendants de « parler » directement entre eux, même s’ils ont été écrits dans différents languages ou déployés sur différentes plateformes.
Les brokers de messages sont des modules logiciels au sein d’un middleware de messagerie ou de solutions de middleware orientées messages (« message-oriented middleware » ou MOM). Ce type de middleware fournit aux développeurs un moyen standardisé de gérer le flux de données entre les composants d’une application afin qu’ils puissent se concentrer sur sa logique centrale. Il peut servir de couche de communication distribuée qui permet aux applications dont les opérations sont déployées sur plusieurs plateformes de communiquer en interne.
Les brokers de messages peuvent valider, stocker, acheminer et transmettre des messages vers les destinations appropriées. Ils servent d’intermédiaires entre les autres applications et permettent aux expéditeurs d’émettre des messages sans savoir où se trouvent les destinataires, s’ils sont actifs ou non, ni combien ils sont. Ces capacités facilitent le découplage des processus et des services au sein des systèmes.
Afin de fournir un stockage fiable et une distribution garantie des messages, les brokers de messages s’appuient souvent sur une sous-structure ou un composant appelé file d’attente des messages, qui stocke et ordonne les messages jusqu’à ce que les applications consommatrices puissent les traiter. Dans une file d’attente, les messages sont stockés dans l’ordre exact dans lequel ils ont été transmis et restent dans la file d’attente jusqu’à ce que leur réception soit confirmée.
La messagerie asynchrone fait référence au type de communication interapplication que les brokers de messages rendent possible. Elle évite la perte de précieuses données et permet aux systèmes de continuer à fonctionner, même face aux problèmes intermittents de connectivité ou de latence, qui sont courants au sein des réseaux publics. La messagerie asynchrone garantit que les messages seront distribués une fois seulement et dans le bon ordre par rapport aux autres messages.
Les brokers de messages peuvent inclure des gestionnaires de file d’attente (qui s’occupent des interactions entre plusieurs files d’attente de messages) ainsi que des services de routage de données, de traduction de messages, de persistance et de gestion de l’état de clients.