Internet of Things middleware is software that serves as an interface between components of the IoT, making communication possible among elements that would not otherwise be capable.
Middleware connects different, often complex and already existing programs that were not originally designed to be connected. The essence of the Internet of Things is making it possible for just about anything (any Thing) to be connected and to communicate data over a network. Middleware is part of the architecture enabling connectivity for huge numbers of diverse Things by providing a connectivity layer for sensors and also for the application layers that provide services that ensure effective communications among software.
Mulesoft, Oracle, RedHat and WSO2 are among the companies that offer IoT middleware. These products provide API management as well as basic messaging, routing and message transformation. More comprehensive IoT platforms include middleware along with sensors and networking components.
See an IoT demo using Raspberry Pi and Oracle Fusion middleware: