RestThing Plataforma de Middleware para IoT

RestThing: Plataforma de Middleware para IoT Autores: Linford Vitali Aron Jordán Díaz / Néstor Palomino Mendoza Resumen:

Views 42 Downloads 0 File size 505KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

RestThing: Plataforma de Middleware para IoT Autores: Linford Vitali Aron Jordán Díaz / Néstor Palomino Mendoza Resumen: La constante necesidad de nuevas tecnologías de información (TI). Así como la creciente popularidad del internet en la sociedad, trajo consigo la necesidad de mejorar la accesibilidad a este servicio desde cualquier lugar. Dando así lugar a la creación de dispositivos inteligentes que puedan acceder al servicio desde cualquier parte del mundo y poder administrar nuestra información, a su vez poder trabajar y guardar cambios sobre esta con el uso del servicio de internet. Frente a la creación de los dispositivos, surge un problema de comunicación con la internet, esto dado que cada dispositivo era diferente y por lo tanto debían tener diferentes formas de comunicarse. Debido a estos problemas, los desarrolladores vieron la necesidad de implementar para cada uno de estos, diferentes formas de comunicarse con la internet y acceder al dominio de trabajo. Para la integración de estos dispositivos surge una arquitectura denominada REST. Esta se refiere estrictamente a una colección de principios para el diseño de arquitecturas en red. En base a ello es que nace un nuevo concepto conocido como RestThing. Esta plataforma muestra la intercomunicación de dispositivos

con otras aplicaciones y servicios RestThing funciona como una plataforma Middleware (software que asiste a una aplicación para interactuar o comunicarse). Al usar dispositivos inteligentes conectados a internet, surge el término internet de las cosas (IoT) y, una aplicación de esta es Cloud Computing (Computo en la nube). Palabras clave: Tecnologías de información, REST, Middleware, IoT, Cloud Computing, Sistemas distribuidos. Introducción: El termino RestThing está fuertemente ligado al termino internet de las cosas. Esto, nos da a conocer que las cosas que frecuentemente utilizamos están siendo conectadas a internet, para obtener grandes volúmenes de información y, así plantear nuevas alternativas que faciliten la vida de quienes utilicen estos artefactos. RestThing se basa en el mismo principio ya que nos muestra cómo se integran distintos dispositivos en aplicaciones web para administrar nuestra información; además de que permite a los usuarios la creación de sus propias aplicaciones para la integración (comunicación) de estos dispositivos con internet.

Los dispositivos hacen uso de protocolos de comunicación específicos para conectarse a internet y tienen diferentes capacidades y formas de comunicación. Esto hace más difícil que los desarrolladores creen nuevas aplicaciones. Para ocultar esta heterogeneidad e integrar Sistemas de Información Empresarial se plantean algunas soluciones, como: Big Web Services o WS1, que son un conjunto de estándares complejos y generan altos requisitos para los desarrolladores. La pila de protocolos de WS es muy grande y esto conlleva a desarrollar sistemas distribuidos. Para resolver estos problemas, RestThing está basado en REST, que es una infraestructura o arquitectura que permite a dispositivos conectarse a internet para acceder y compartir información de manera segura. En general, el objetivo del RestThing es el desarrollo de aplicaciones en base a REST, combinando dispositivos físicos y sistemas web. Trabajos relacionados: La integración de dispositivos físicos con las aplicaciones de información no es un tema nuevo. El trabajo introdujo los dispositivos que realizan alguna funcionalidad específica y se fusionan con la informática2. SenseWeb3, una infraestructura web, utiliza los servicios web compartir sensores en toda la Internet y ocultar la heterogeneidad de la conectividad de la red de sensores. Web Services o WS4 están diseñados originalmente para integrar Middleware y sistemas distribuidos mediante la API al sistema de información Web. Sin embargo, estas normas utilizan la Web como una infraestructura de transporte y actúan como: La extensión del modelo básico SOAP / WSDL orientado a API 5 6. Internet of Things (IoT)7, un mundo de objetos interconectados, de aplicaciones y servicios automáticos. Los ejemplos de este futuro digital son inagotables. Los más convencionales se relacionan con el hogar: cortinas que interpretan la luz del día para abrirse o cerrarse, lavadoras que pueden interactuar con la ropa para reportar el estado de desgaste de ésta, neveras que reportan directamente los alimentos que están por caducar o que hacen falta, entre otros. IoT promete escenarios donde los objetos facilitarán nuestra vida cotidiana. REST es Capaz de soportar la creación de un gran número de aplicaciones, Ofreciéndoles simplicidad y flexibilidad de interacción. El

funcionamiento uniforme de los recursos es el REST, que reduciría la barrera de entrada para los desarrolladores. Comparado con el trabajo que utiliza los Grandes Servicios Web. Google y Facebook son algunas de las grandes empresas que utilizan esta arquitectura.

Figura 1. Arquitectura REST

La plataforma RestThing busca integrar diversos dispositivos con internet de tal manera que se construyen de forma autónoma sus aplicaciones dedicadas, esto dado que cada dispositivo es diferente. RestThing: Los dispositivos hacen uso de protocolos de comunicación específicos para conectarse a internet y tienen diferentes capacidades (Heterogeneidad), esto hará más difícil a que los desarrolladores creen nuevas aplicaciones. Para ocultar esta heterogeneidad e integrar Sistemas de Información Empresarial se plantean algunas soluciones, como por ejemplo: Big Web Services o WS, que son un conjunto de estándares complejos y generan altos requisitos. Para resolver estos problemas, se ve por conveniente la arquitectura REST, que es una infraestructura que permite a dispositivos conectarse a internet para acceder y compartir información. Su objetivo es que las aplicaciones puedan coexistir y acceder a dispositivos disponibles como recursos de información web. Cualquier intercambio de información basado en RestThing se lleva a cabo a través de uno de los cuatro verbos de HTTP básicos (GET, POST, PUT, DELETE).

Figura 2. Arquitectura RestThing

Arquitectura RestThing Restful API: Factor clave en la infraestructura de RestThing para ocultar la heterogeneidad de los dispositivos y proporciona una interfaz a través de la web Adaptación: Proporciona conexión y traducción entre proveedor de servicios y recursos físicos. Implementa métodos para comunicarse con los dispositivos, y obtiene flujos de datos.

historia y que es una forma metafórica de nombrar a Internet. Básicamente, computación en la nube consiste en los servicios ofrecidos a través de la red, tales como: correo electrónico, almacenamiento, uso de aplicaciones, entre otros. Los cuales son normalmente accesibles mediante un navegador web. Al utilizar estos servicios, la información utilizada y almacenada, así como la mayoría de las aplicaciones requeridas, son procesados y ejecutados por un servidor en Internet. En otras palabras, se trata de una implementación que pretende transformar el arquetipo habitual de la computación y la informática y trasladarla a Internet. Con el uso del Cloud Computing no hay necesidad por parte del usuario de conocer la infraestructura detrás de esta, ya que pasa a ser una abstracción, “una nube” donde las aplicaciones y servicios pueden fácilmente crecer, funcionar rápido y con pocas fallas. Este tipo de servicio se puede pagar según alguna métrica de consumo, no por el equipo usado en sí, sino por uso de CPU/hora como en el caso de Amazon EC2.

Figura 4. Cloud Computing

Figura 3. Arquitectura Restful

El objetivo de RestThing es que muchas aplicaciones pueden coexistir y acceder a dispositivos disponibles como recursos de información web. Eso adoptó una arquitectura basada en REST y orientada a recursos (ROA). Aplicación: Cloud Computing En la actualidad RestThing esta aplicado a Cloud Computing - Computo en la Nube8. Cuando se hace referencia a la nube, se está aludiendo a un término con algunos años de

Arquitectura Cloud-Computing La arquitectura genérica de Cloud Computing tiene las siguientes capas mencionadas:  Recursos físicos: incluyen elementos como servidores, almacenamiento y red.  Virtualización: incluye infraestructura virtual como un servicio.  Infraestructura: incluye software de plataforma como servicio.  Plataforma: incluye componentes de aplicación como servicio.  Aplicación: incluye servicios basados en Web y software como servicio. Discusión: ¿Por qué es necesario una plataforma IoT?

Actualmente Internet of Things representa un mundo complejo donde hay mucho que andar aún. Y dentro de este paradigma las plataformas IoT son clave para el desarrollo de aplicaciones, software y servicios para la interconexión de personas y “cosas”. Sin embargo, este mercado está en continua renovación y expansión, por lo que aún se desconocen los avances y el verdadero desarrollo que estas plataformas pueden llegar a tener en un futuro. Propiedades de una plataforma IoT 1. Conectividad y normalización: con diferentes protocolos y diferentes formatos de datos en una interfaz de “software” garantiza la precisa transmisión de datos y la interacción con todos los dispositivos. 2. La gestión de dispositivos: asegura que todas las “cosas” conectadas están funcionando correctamente. 3. Base de datos: almacenamiento escalable de datos del dispositivo basados en la nube a un nuevo nivel en términos de volumen de datos, variedad, velocidad y veracidad. 4. Procesamiento y gestión de la acción: aporta datos basados en reglas de acción de evento-disparadores que permitan la ejecución de las

acciones “inteligentes” basados datos específicos del sensor.

en

5. Analítica: lleva a cabo una serie de análisis complejo de la agrupación de datos básicos y de aprendizaje automático. 6. Visualización: permite a los seres humanos observar las tendencias de cuadros de mando de visualización de datos, donde se retrata vívidamente a través de gráficos. 7. Herramientas adicionales: la IoT permiten a los desarrolladores de prototipos, probar y comercializar para visualizar, gestionar y controlar los dispositivos conectados. 8. Interfaces externas: se integran con los sistemas de tercera parte y el resto del ancho de TI en los ecosistemas a través de una función de interfaces de programación de aplicaciones (API), kits de desarrollo de software (SDK), y puertas de enlace.

Conclusión: En general, el objetivo del RestThing es el desarrollo de aplicaciones en base a REST, combinando dispositivos físicos y sistemas web. Referencias:

1 C. Pautasso, O. Zimmermann, and F. Leymann, ”RESTful Web Services vs. ”big” web services: making the Right Architectural Decision,” in Proceedings of the 17th International World Wide Web Conference, Beijing, China, 2008 2 E. Bergman, Information Appliances and Beyond, Morgan Kaufmann Publishers Inc. San Francisco, CA, USA, 2000. 3 A. Kansal, S. Nath, J. Liu, and F. Zhao, ”Senseweb: an infrastructure for shared sensing,” IEEE Multimedia, vol. 14, no. 4, 2007. 4 Rafael Navarro Marset. ELP-DSIC-UPV Modelado, Diseño e Implementación de Servicios Web 2006-07. 5 WSDL,”Web services description language,” 2001. http://www.w3.org/TR/wsdl. 6 N. Mitra, and Y. Lafon, ”SOAP Version 1.2 Part 0: Primer (Second Edition).”World WideWeb Consortium, Recommendation REC-soap12-part0-20070427, April 2007. 7 Carlos Cortés, investigador del iLei en el CELE, Juan Diego Castañeda y Eduardo Bertoni, director del CELE, EL INTERNET DE LAS COSAS: MÁS INTERNET QUE OTRA COSA. 8 Oscar Ávila Mejía Dpto. de Ingeniería Eléctrica. UAM-I Computación en la nube.