Middleware has two closely related definitions. Middleware is software that lets two separate programs interact with each other and is also a software layer inside a single application that allows several of the app to work together.

Middleware, for example, is commonly used to link a database to a Web server. Using middleware makes it possible for users to request data from the database from a Web browser, as well as permits the web server to send back dynamic web pages in reply to the user’s requests and profile.

According to the Microsoft Developer Network, middleware is “software that sits between two or more types of software and translates information between them. Middleware can cover a broad spectrum of software and generally sits between an application and an operating system, a network operating system, or a database management system.”

Middleware is also called plumbing given its function is to connect two applications and transfer data between them.

Middleware is commonly found in enterprise service buses, transaction processing monitors, distributed computing environments , remote procedure call systems, object request brokers, database access systems and the passing of messages.

Many third party software products require networks using clients that are accessing SQL Server data by communicating through a middleware application to install the software on each client.

Most Idera products such as SQL Traffic Accelerator are designed to avoid this hassle.  If a middleware application server is located between the instance of SQL and the clients, the clients don’t need to have the SQL Traffic Accelerator service installed. The only devices that require installation are the SQL Server(s) and the device the middleware application that SQL Server is communicating with is on.