# Thinger.io: An Open Source Platform for Deploying Data Fusion Applications in IoT Environments
## 2 Challenges for the Deployment of Modern Data Fusion Applications  
In modern data fusion applications, the integration of the worlds of Cloud, Big Data and IoT is called for due, mainly, to their ability to complement each other. IoT technology is characterized by being composed of small devices deployed in an extensive geographical area, which have limitations in terms of storage, communication and/or computing capabilities. On the other hand, Cloud technology is characterized by having an almost unlimited capacity of these resources, so it seems logical that both can be complemented. In this way, in recent years, terms are emerging that link these two technologies such as CloudIoT [10], SaaS (Sensing as a Service) [11], SAAaS (Sensing and Actuation as a Service) [12], SEaaS (Sensor Event as a Service) [13] or SenaaS (Sensor as a Service) [14]. Big Data technology benefits from the two previous technologies, in the sense that IoT is the source of the data analyzed and Cloud provides the resources to perform the analysis, all with the aim of analyzing large volumes of data. This ecosystem of technologies presents a set of challenges that we will analyze below:  
* **Monitoring a complex environment:** The first one is related to the ability to monitor a highly dense environment. Thanks to new advances in the field of sensors, there are currently several sensors that allow to capture different parameters such as air quality, acceleration, location of people, humidity, ultraviolet radiation, etc. [15; 16]. It is necessary to select the type of sensors to be integrated in our data fusion applications. In some cases, for example, as in wearables [17], integration into devices with limited dimensions will be necessary. These physical limitations will involve the work of small devices with low computing resources and autonomy. As we will see later, Thinger.io has been designed to improve the energy efficiency of the devices on which it works. * **Connectivity:** At present, we find a multitude of devices that can be connected to the Internet through different technologies: wireless networks (WiFi, Bluetooth 4.0, 6 LoWPAN), mobile networks (4G LTE), wired networks (Ethernet, fiber optic), etc. [18]. This variety of interfaces allows us to use a variety of sensors in our data fusion applications, all from different manufacturers, which is a technological challenge in the technologies that support [19]. This involves working with optimized network protocols to work with sensors with limited resources, dealing with the scalability of computing architectures to support the concurrent connection of millions of devices and the availability of permanent access required by such devices. In addition, it is necessary to think of standard forms of communication between devices, self-discovery, etc. In this way, devices from different manufacturers can interact with each other to generate the expected intelligent behavior. Thinger.io has been designed to allow connectivity to a large number of devices, and its connectivity capacity is now growing due to its open nature. * **Modeling:** One of the main challenges in the integration of these three technologies is the ability to be able to obtain information from the sensors. The IoT environment is characterized by having to gather information from highly heterogeneous devices, technologies and protocols. For an engineer to be able to model a solution in which these three technologies are involved, he/she needs to have knowledge of the different protocols involved, such as message queue telemetry transport (MQTT) or data distribution service (DDS) [20]. Also, we will have to know the platforms that allow the storage and processing of the data coming from the sensors [21]. In this sense, this paper will demonstrate the simplicity of the development and deployment of data fusion applications through Thinger.io.