Llegamos a ustedes gracias a:



Reportajes y análisis

Cómo desarrollar aplicaciones para la Internet de las Cosas

Internet de la Cosas, IoC, IoT

[18/11/2014] La Internet de las Cosas (IoC) está explotando, y la explicación es bastante sencilla. Los sensores, chips de networking, y otras tecnologías necesarias para conectar dispositivos a Internet -desde bombillas de luz y relojes inteligentes hasta aparatos industriales- han bajado notoriamente sus precios.

Estas "cosas" conectadas envían y reciben datos mediante la red; están relacionadas a una variedad de características físicas -temperatura, grado de humedad, frecuencia de pulso, nivel de iluminación, velocidad o revoluciones por minuto-, así como datos más complejos como requisitos de mantenimiento, sonidos, e imágenes estáticas o móviles.

La mayoría de los analistas afirman que la IoC tiene una proyección muy grande. Según Acquity Group (parte de Accenture), dos tercios de los consumidores esperan haber comprado tecnología conectada para sus hogares para el 2019; y casi la mitad, tecnología para vestir. Además, Gartner predice que la cantidad total de "cosas" de consumo, de negocios e industriales crecerán hasta las 26 mil millones de unidades para el 2020, lo que representa un aumento de casi 30 veces con relación a los 900 millones de objetos del 2009. (Según Gartner, la IoC ha alcanzado su mayor nivel de hype).

Si es que sirve de algo, objetos que recolectan y transmiten datos tienen que estar conectados a lo que Jeffrey Hammond, analista de Forrester, llama un sistema de automatización. Dicho sistema de software maneja inteligentemente los objetos y redes, organiza y almacena una gran cantidad de datos generados por éstos, y los procesa antes de presentarlos para sus usos finales.

Crear apps para la IoC trae grandes interrogantes

Los desarrolladores se hacen preguntas importantes. ¿Cuál es la mejor forma de crear una "aplicación para la Internet de las Cosas" que pueda hacer de todo, desde controlar los aparatos de la casa de manera remota, hasta informarle a un fabricante de motores aeronáuticos que uno de sus motores en algún lugar del mundo necesita mantenimiento, o recolectar datos meteorológicos a través de sensores para dar un pronóstico del tiempo? ¿Qué habilidades se necesitan para lograrlo? ¿Por dónde se comienza?

El punto de partida para estas aplicaciones son los "cosas mismas. Estos dispositivos, la mayoría de veces, no tienen pantalla, cuentan con un procesador de bajo consumo, una especie de sistema operativo integrado y una forma de comunicación (por lo general inalámbrica) utilizando uno o más protocolos de comunicación. Los artefactos pueden conectarse directamente a Internet, a objetos vecinos o a un dispositivo de puerta de enlace a Internet -normalmente una caja de plástico con luces parpadeantes.

El siguiente nivel del sistema, el de ingesta, es el software y la infraestructura que se ejecutan en un centro de datos corporativo o en la nube, y recibe y organiza los flujos de datos procedentes de las cosas. Un software ejecutado en el nivel de ingesta es usualmente responsable por el manejo de los artefactos y la actualización de su firmware cuando sea necesario.

Después de esto, viene el nivel de análisis, donde se toman los datos organizados y se procesan. Por último, está el nivel del usuario final, la aplicación con la que el usuario interactúa. Esta puede ser una aplicación empresarial, una app de la web o, tal vez, una app móvil.

Si está buscando crear una aplicación para la IoC, los dos últimos niveles son en los que probablemente tendrá que trabajar, según Frank Gillett, analista principal de Forrester. "Como desarrollador, es poco probable que tenga las herramientas para manejar los dispositivos periféricos/de última generación o puertas de enlace, o incluso capacidades adecuadas para el nivel de ingestión".

Es por eso que, por lo general, tiene más sentido crear una aplicación encima de una "plataforma de la Internet de las Cosas previamente hecha, añade Gillett. Normalmente, estas plataformas incluyen un nivel de ingestión que lleva a cabo el archivado de series/tiempo de los datos entrantes, así como un nivel de análisis, aprovisionamiento ligero, capacidades de activación y de gestión, un bus de mensajes en tiempo real, y una API para permitir la comunicación entre la plataforma y aplicaciones construidas sobre ella.

Un gran número de nuevas empresas ofrecen este tipo de plataformas. Entre ellas: Xively, Mnubo, Labshttp Bug y ThingWorx, que tienen la capacidad de comunicarse con una serie de "cosas" producidas por diversos fabricantes.

Más empresas establecidas, como Microsoft, con su Servicio de Sistemas Inteligentes, y los proveedores de software empresarial como SAP, con su IoT Solutions, también están añadiendo capacidades a su oferta con respecto a la IoC.

"Es muy probable que veamos que algunas de estas compañías sean adquiridas en el futuro por empresas proveedoras de software como Oracle y otras, anota Gillett, "pero creo que muchas de estas plataformas especializadas (de la IoC) perdurarán para usos en la industria en casos particulares".

Construir una plataforma para la IoC desde cero es 'una considerable cantidad de trabajo'

OnFarm, con sede en California, usó la plataforma de la IoC basada en la nubede ThingWorx para desarrollar su aplicación de información sobre granjas basada en la Web. Esta recolecta datos de una variedad de "cosas conectadas -tales como sensores de humedad del suelo- y la integra con datos de otras fuentes, como proveedores de información meteorológica. Luego, presenta la información en un panel personalizable a sus clientes agricultores.

El CEO de OnFarm, Lance Donny, consideró brevemente la contratación de desarrolladores para construir una plataforma de IoC desde cero, pero la idea fue rechazada rápidamente. "Eso habría sido una cantidad considerable de trabajo. La construcción de nuestra propia plataforma nos hubiera retrasado uno o dos años", señala. "Estaríamos muy por detrás si lo hubiéramos hecho".

Mediante el uso de ThingWorx para manejar la ingesta de datos, Donny anota que la cantidad de trabajo de programación se redujo a crear el dashboard Web que se conecta a los datos a través de las API de ThingWorx.

La compañía cuenta con un desarrollador para escribir conectores en JavaScript que permitan la comunicación entre nuevos sensores y la plataforma ThingWorx, mientras que son desarrollados por los fabricantes. Este código reside en ThingWorx. "El cliente viene a nosotros y nos dice que quieren usar un sensor particular con nuestra solución", añade Donny. "Formamos una relación con el proveedor, obtenemos su API, que a menudo está mal documentada, y creamos un conector en ThingWorx para ese producto".

La compañía también tiene a cuatro desarrolladores que trabajan en la aplicación Web de OnFarm, mayormente en programación utilizando Bootstrap, AngularJS, y JavaScript. Esta interfaz se conecta con ThingWorx utilizando APIs RESTful. "Este proceso es muy sencillo, lo cual nos permite centrarnos en el rendimiento de los datos y la flexibilidad a la hora de utilizarlos", señala.

Actualmente, OnFarm toma lecturas de más de cinco mil "cosas" para sus clientes, adquiriendo más de siete millones de piezas de datos al mes. Esta cifra crece a un ritmo de 30% anual, agrega Donny.

Añade que otra de las ventajas de la plataforma pre-construida es que ha demostrado su capacidad de ampliación. Esto es importante, ya que las aplicaciones para la IoC son relativamente nuevas. Si es que esta Internet logra tener éxito como mucha gente espera, entonces proveedores de aplicaciones, tales como OnFarm, se verán obligados a aumentar rápidamente sus ofertas en los próximos años.

Paul Rubens, CIO (EE.UU.)