Middleware for Internet distribution in the context of cloud computing and the Internet of Things
Ann. Telecommun.
Middleware for Internet distribution in the context of cloud computing and the Internet of Things
Gordon Blair 0 1 2 3 4 5
Douglas Schmidt 0 1 2 3 4 5
Chantal Taconet 0 1 2 3 4 5
0 Douglas Schmidt
1 Gordon Blair
2 Chantal Taconet
3 SAMOVAR, Te ́le ́com SudParis , CNRS , Universite ́ Paris-Saclay , E ́ vry , France
4 Vanderbilt University , Nashville, TN , USA
5 Lancaster University , Lancaster , UK
Middleware is software that resides between applications, services, and their underlying distributed architecture and platforms. Middleware provides several types of capabilities to developers, including providing higher-level programming abstractions to support the development of applications and services; supporting end-to-end quality attributes, such as scalability, persistence, and security; and masking problems such as system failure and heterogeneity of languages, operating systems, and networks. Middleware has provided a key set of layers in distributed architectures since the early 90s, starting with the basic client/server model of distribution. Over the past several decades, there have been extensive innovations in middleware capabilities, with new paradigms and underlying systems technologies emerging. Significant developments during this time frame include the programming models associated with distributed objects, components, and,
-
most recently, service-oriented architecture (and
associated areas like service composition); new communication
architectures focused on group-based communication,
publish-subscribe, tuple-space approaches, and message
queues; and underlying architectural patterns and software
engineering techniques, including reflection and
modeldriven engineering for distributed systems (including
models at runtime).
These innovations have provided developers with an
abundance of tools to develop distributed systems and, until
recently, middleware has largely delivered on its promise
of enhancing portability, interoperability, and integrability.
Over the last few years, however, there have been significant
trends in distributed systems that motivate new advances
in middleware to overcome limitations with conventional
middleware technologies. These trends include the
emergence of the Internet of Things (IoT) and cloud computing,
which add new and unprecedented challenges for scale,
dependability, and security to the underlying middleware
technology. When taken together, the challenges are even
greater when we move toward complex distributed systems
that are very large (Internet scale), highly heterogeneous,
and dynamic. There is also a corresponding change in the
deployment of distributed systems, moving from individual
systems to systems of systems.
To address the challenges for middleware emanating
from the advent of the Internet of Things and cloud
computing, new research is required, particularly with respect
to the types of middleware needed to support key domains,
such as cyber-physical systems, smart cities, the smart grid,
big data analytics, digital earth, and so on. This special
issue addresses these challenges by (i) considering the
stateof-the-art of middleware in these areas, (ii) documenting
emerging ideas and concepts that help meet key challenges,
(iii) increasing awareness of a grand challenge for
distributed system, and (iv) galvanizing the community of
researchers around this challenge.
The remainder of this editorial is organized as
follows: We first examine the challenges from IoT and cloud
computing individually and then consider the additional
challenges emanating from emerging systems of systems;
an industrial perspective on the potential and challenges
of such systems is provided by Stan Schneider, Real-Time
Innovations; then, we summarize the papers appearing in
this special issue, focusing on how they address the
challenges we present; finally, we conclude with a short
reflection on progress that has been made in these areas and other
key areas of ongoing work.
1 Middleware challenge 1: the Internet of Things
The IoT is a key step toward the ubiquitous and
disappearing computing world envisioned by Marc Weiser [
1
] in the
nineties. The IoT represents a significant extension of the
current Internet to no longer be just a collection of
conventional smart phones, laptops, desktops, and servers, but to
greatly expand the Internet to embrace a wide range of
physical objects and devices that exhibit pervasive sensing,
computational, and actuation capabilities. Through the Internet,
such connected Things become globally accessible—and
in some cases controllable. More importantly, IoT creates
opportunities to develop new types of distributed services
and mass market applications in multiple domains,
including smart cities, health care, transport, energy, and new
forms of eCommerce.
Given its role as the universal integrator of distributed
computational elements, middleware plays a key role in
supporting the development of such IoT enhan (...truncated)