3. EcoHealth: Ecosystem of Health Care Devices
In this section, we describe the logical architecture and implementation of EcoHealth, our Web middleware platform
for integrating devices for e-health.
3.1. Architecture
In order to achieve its goals, EcoHealth is organized in several loosely coupled modules (middleware services) that
compose its logical architecture, as illustrated in Fig. 1.
The Devices Connection Module aims to integrate physical devices (body sensors) to the platform. Device manufacturers
develop customized drivers for each specific type of device platform according to the EcoHealth API. These
drivers play an important role in terms of integrating devices from different providers since the heterogeneity of such
devices is abstracted away from users and applications. In EcoHealth, there are two types of drivers, namely active
and passive drivers. Active drivers obtain data from devices by continuously polling them (i.e., by making periodical
data requests), even when the value of the information provided remains the same. In turn, passive drivers wait for
notifications from the device’s API triggered whenever there are changes in the data values. EcoHealth drivers are
built upon REST principles 10 and they rely on current Web standards and protocols, such as HTTP and URIs, thus
complying with the WoT paradigm. In WoT, the HTTP protocol is not only used as a communication protocol to carry
data formatted, but it is also used as the standard mechanism to support all interactions with smart objects, which are
viewed as Web resources. Therefore, the main operations defined in HTTP (i.e., the GET, POST, PUT, and DELETE
verbs) provide a well-defined interface to expose the functionality of objects on the Web and the use of the HTTP
protocol eliminates compatibility issues between different manufacturers, proprietary protocols, and data formats. After
obtaining data (called feeds in the IoT scenario) from the integrated devices, the drivers structure them by using