Middleware Overview
Middleware is a layer of software above the operating system which provides higher-level building blocks for programmers. In doing so, it helps make them more productive and helps to mask the complexities and heterogenous nature that is inherent in distributed systems. For more, see a 5-page encyclopedia article I wrote on the topic ( .pdf, .html). The first page should be understandable by people who have programmed a little bit, and even non-programmers will understand most of that page.