Middleware is software that enables one or more kinds of communication or connectivity between two or more applications or application components in a distributed network. By making it easier to connect applications that weren’t designed to connect with one another – and providing functionality to connect them in intelligent ways .
Middleware speeds development of distributed applications by simplifying connectivity between applications, application components and back-end data sources.
There are many types of middleware. Some, such as message brokers or transaction processing monitors, focus on one type of communication. Others, such as web application servers or mobile device middleware, provide the full range of communication and connectivity capabilities needed to build a particular type of application. Still others, such as a cloud-based integration platform as a service (iPaaS) offering or an enterprise service bus (EBS), function as a centralized integration hub for connecting all the components in an enterprise.
Middleware got its name because the first middleware typically acted as a mediator between an application front-end, or client, and a back-end resource – e.g., a database, mainframe application or specialized hardware device – from which the client might request data.