The middleware is a software layer or a set of sub-layers
interposed between the technological and the application
levels. Its feature of hiding the details of different
technologies is fundamental to exempt the programmer
from issues that are not directly pertinent to her/his focus,
which is the development of the specific application
enabled by the IoT infrastructures. The middleware is
gaining more and more importance in the last years due
to its major role in simplifying the development of new
services and the integration of legacy technologies into
new ones. This excepts the programmer from the exact
knowledge of the variegate set of technologies adopted
by the lower layers.