In informatica, un Message-Oriented Middleware (in italiano middleware orientato ai messaggi), più comunemente noto come MOM, è un'infrastruttura client/server che, distribuendo un'applicazione tra più piattaforme eterogenee,[1] ne incrementa l'interoperabilità, la portabilità e la flessibilità.
Tale infrastruttura semplifica lo sviluppo di applicazioni che usano sistemi operativi e protocolli di rete diversi, permettendo al programmatore di ignorare i dettagli degli stessi.[1][2] Ciò viene ottenuto grazie a delle API che coprono diverse piattaforme e tipologie di rete.
Il software MOM risiede sia sul client che sul server e consente l'esecuzione di chiamate asincrone fra gli stessi. I messaggi inviati verso client non disponibili vengono memorizzati in apposite code[1] che li conservano fin quando essi non sono nuovamente pronti per la ricezione. Tale meccanismo nasconde al programmatore l'implicita natura master/slave del meccanismo client/server. Il MOM si occupa anche di garantire che l'ordine dei messaggi inviati sia coerente con l'ordine con cui questi vengono ricevuti.[1]
I MOM rientrano nella categoria dei software per la comunicazione tra applicazioni tramite message-passing asincrono, differenziandosi dai software basati invece sulla metafora richiesta-risposta (request/response).
Nonostante la maggior parte dei MOM siano basati su un sistema di code di messaggi,[1] ne esistono anche implementazioni basate su sistemi di messaggistica broadcast o multicast.