Il termine middleware definisce un livello o strato di software che sta tra il sistema operativo, compresi i servizi messi a disposizione da questo per gestire i protocolli di comunicazione in rete , e le applicazioni distribuite che interagiscono tramite la rete, come le applicazioni Web. Questo livello di software , costituito da programmi e servizi, ha lo scopo primario di nascondere a chi deve sviluppare delle applicazioni di rete una parte della complessità presente in una rete di calcolatori , quali, ad esempio, i protocolli usati per comunicare le differenti architetture dei calcolatori di rete, i diversi sistemi operativi utilizzati nei nodi, i diversi linguaggi di programmazione.