Diseño e implementación de un middleware para la integración horizontal de aplicaciones y dispositivos IoT usando la arquitectura de microservicios - Macedo Pereira, Alejandro (2020)
El presente trabajo consiste en el diseño e implementación de un middleware para la integración horizontal de aplicaciones y dispositivos IoT. Este problema nace por la heterogeneidad de los diversos componentes de los dispositivos entre los que se encuentran los distintos tipos de sensores y las mediciones que realizan, los diversos protocolos de comunicación que existen y la flexibilidad con la que se cuenta para combinar entre los casos anteriores. Por lo tanto, se requiere de un sistema que sea capaz de procesar dispositivos de diversas características y protocolos de comunicación para convertirla en un formato mucho estandarizado y que pueda ser usado fácilmente por desarrolladores con pocos conocimientos específicos de IoT. Ese sistema estará desarrollado bajo una arquitectura de microservicios, lo que permite ser fácilmente extensible y desarrollarse en el lenguaje que se desee, implementándose en este trabajo seis servicios que permiten registrar y almacenar la información enviada por diversos dispositivos IoT separando el acceso a los recursos mediante un sistema de usuarios y autenticación. En el primer capítulo se describe la formulación del diseño teórico del sistema, desde la problemática, los objetivos y finalmente los requerimientos establecidos para la implementación. El segundo capítulo es un estudio del estado del arte de middlewares de integración vertical, donde se estudian estándares propuestos y dos implementaciones para la solución de este problema. El tercer capítulo muestra el diseño y desarrollo final del sistema, explicándose el flujo de funcionamiento de la información de los dispositivos y cada uno de los servicios implementados. También se explica el modelo de despliegue usado. En los capítulos finales se presenta el modelo de pruebas desarrollados y se estudian los resultados obtenidos. Finalmente, se describen las conclusiones obtenidas del diseño y la implementación del sistema, así como las recomendaciones para posibles trabajos futuros.