Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Middleware is a software component (or components) that sits "in the middle" between applications and the operating system. Typically, middleware will facilitate application development by providing services such as communications, file access, or thread locking that have a common Application Programming Interface (API) across multiple operating systems.
Communications Middleware is a specific kind of middleware that allows for interprocess communications (on one machine or across a network). The purpose of Communications Middleware is to simplify the designing, programming, and managing of software applications by streamlining the way these applications receive and process data. Communications Middleware simplifies writing communications software while providing sophisticated built-in features, reducing development costs.
Examples of communications middleware include:
- The Common Object Request Broker Architecture (CORBA)
- Java Message Service (JMS)
- Data Distribution Service (DDS).
- Message Queue (MQ)
- Enterprise Service Bus (ESB)