Middleware is software or an entire system of hardware and software that connects components of a system (applications, databases) or entire distributed systems together acting as a facilitator, translator and/or adapter. The aim of middleware is to allow disparate systems to interoperate with each other as a single system to achieve features that would not be possible or not be possible without extensive (and expensive) system redesign and implementation. A typical middleware system acts as a messaging component that allows connected systems to communicate with one another, this is also known as Enterprise Application Integration (EAI).
Managers are interested in using middleware as, when used effectively, it can provide interconnectivity features that present great cost benefit when compared to the work and cost that would be involved in redesigning a system to perform required features. In terms of distributed databases, this results in greater data availability to previously separate systems, productivity amongst users, economies of scale, standardisation of processes and rationalisation of resources (e.g. pooled usage of servers and storage and centralised support and management).