Software that acts as a bridge or intermediary between different applications, systems, or components, facilitating communication and data[1] exchange.
Server software that provides development, runtime, middleware, and integration services for creating and managing a portfolio of thin-client applications.
The architecture that describes the positioning of clients, which are usually software applications, and servers, which are usually data repositories. The client and server communicate with each other across a middleware layer to respond to request for a service, such as update or display data. A network architecture in which client devices request and receive services or resources from a central server or servers.