What is Middleware ?
Generally a higher-level software layer providing a set of standardised interfaces to a collection of distributed, disparate, proprietary, heterogeneous computing ressources
Developers write applications that interface to the middleware, rather than to proprietary lower-level interfaces.