Il middleware è un software che si colloca tra le applicazioni e le componenti sottostanti, come ad esempio sistemi operativi, database o hardware, e/o permette l'interazione di software distribuito. Il suo ruolo primario è quello di astrarre la complessità di diversi livelli di componenti attraverso un'unica interfaccia ben definita.[1]
«Middleware is a distributed-system software that resides between applications and underlying platforms (operating systems; databases; hardware), and/or ties together distributed applications, databases or devices. Its primary role is to coordinate and enable communication between different layers or components while isolating much of the complexity of distribution into a single, well tested and well understood system abstraction.»