Herramientas de baja codificación para análisis de datos
Fecha de la noticia: 16-06-2021

La democratización de la tecnología en todos sus ámbitos es una tendencia imparable. Con la generalización de los smartphones y el acceso a Internet, cada vez más personas pueden acceder a productos y servicios de alta tecnología sin tener que recurrir a conocimientos avanzados o especialistas. El mundo de los datos no es ajeno a esta transformación y en este post te contamos por qué.
Introducción
Hoy en día, ya no hace falta ser un experto en edición y post-producción de video para tener nuestro propio canal en YouTube y generar contenidos de muy alta calidad. De la misma manera que no hace falta ser un super especialista para tener un hogar inteligente y conectado. Esto es debido a que los creadores de tecnología cada vez ponen más atención en proporcionar herramientas sencillas y con una cuidada experiencia de uso en el consumidor medio. Con los datos ocurre algo similar. Dada la importancia de los datos en la sociedad actual, tanto para uso particular cómo para uso profesional, en los últimos años hemos visto cómo se democratizan las herramientas para hacer análisis de datos sencillo, sin necesidad de tener conocimientos avanzados de programación.
En este sentido, las hojas de cálculo siempre han vivido entre nosotros y nos hemos acostumbrado tanto a su uso que las usamos casi para cualquier cosa, desde una lista de la compra hasta un presupuesto familiar. Las hojas de cálculo son tan populares que hasta se plantean hacer campeonatos cómo si de un deporte se tratara. Sin embargo, pese a su gran versatilidad, no son las herramientas más visuales desde el punto de vista de comunicación de la información. Además, las hojas de cálculo, no son adecuadas para un tipo de dato que cada vez tiene más peso en la actualidad: los datos en tiempo real.
El mundo nativamente digital, genera cada vez más datos en tiempo real. Algunos informes sugieren que, para 2025, una cuarta parte de los datos mundiales, serán datos en tiempo real. Es decir, serán datos con un ciclo de vida mucho más corto, durante el cual se generarán, analizarán en tiempo real y desaparecerán, puesto que no tendrá sentido almacenarlos para un uso posterior. Uno de los mayores vectores de contribución a los datos en tiempo real será el crecimiento de las tecnologías Internet of Things (IoT).
De la misma forma que ocurrió con las hojas de cálculo o las herramientas de inteligencia de negocio (Business Intelligence) de autoservicio, los desarrolladores de tecnologías para datos ponen ahora el foco en democratizar las herramientas de datos diseñadas para datos en tiempo real. Pongamos un ejemplo concreto de herramienta de este tipo.
Herramientas de programación de bajo código
Las herramientas de programación de bajo código (low-code) son aquellas que nos permiten construir programas sin necesidad de tener conocimientos de programación específicos. Normalmente, las herramientas low-code emplean un sistema de programación gráfico, mediante bloques o cajas, en las que el usuario puede ir construyendo un programa, eligiendo y arrastrando las cajas que necesita para construir su programa. En contra de lo que podría parecer, las herramientas de programación low-code no son nuevas y llevan muchos años entre nosotros en ámbitos especializados cómo la ingeniería o el diseño de procesos. En este post, vamos a centrarnos en una concreta, especialmente pensada para datos y en particular, datos en tiempo real.
Node-RED
Node-RED es una herramienta open-source bajo el amparo de la OpenJS foundation que forma parte de los proyectos de la Linux Foundation. Node-RED se define a sí misma como una herramienta de bajo código especialmente diseñada para aplicaciones basadas en eventos. Las aplicaciones basadas en eventos son programas informáticos cuyas funcionalidades básicas reciben y generan datos en forma de eventos. Por ejemplo, una aplicación que genere una notificación en un servicio de mensajería instantánea a partir de una alarma provocada por un sensor, es una aplicación basada en eventos. Tanto el dato de entrada -la alarma del sensor- cómo el dato de salida -la notificación por mensajería- son eventos o datos en tiempo real.
Este tipo de programación fue inventada por Paul Morrison en la década de los 70 del siglo pasado. Su funcionamiento se basa en disponer de una serie de cajas o nodos, cada una de las cuales tiene una funcionalidad específica (recibir un dato de un sensor o generar una notificación). Los nodos se van conectando entre sí (gráficamente, sin tener que programar nada) hasta construir lo que se conoce cómo un flow, que es el equivalente a un programa o a una parte concreta de un programa. Una vez construido el flow, la aplicación se encarga de mantener el flujo constante de datos desde su entrada hasta su salida. Veamos un ejemplo concreto para entenderlo mejor.
Análisis de datos de ruido en tiempo real en la ciudad de Valencia
La mejor forma de demostrar la potencia de Node-RED es haciendo un prototipo sencillo (un programa en menos de 5 minutos) que nos permite acceder y visualizar los datos de los medidores de ruido instalados en un barrio concreto de la ciudad de Valencia. Para ello, lo primero que vamos a hacer es localizar un conjunto de datos abiertos del catálogo de datos.gob.es. En este caso hemos escogido este conjunto, que proporciona los datos mediante una API y, cuya particularidad, es que se actualiza en tiempo real con los datos obtenidos directamente de la red de contaminación sonora instalada en Valencia. Escogemos ahora la distribución que nos proporciona los datos en formato XML y ejecutamos la llamada.
El resultado que nos devuelve el navegador tiene este aspecto (está truncado -se ha cortado lo que devuelve la API- debido a la extensa longitud de la respuesta):
<response>
<resources name="response">
<resource>
<str name="LAeq">065.6</str>
<str name="name">Sensor de ruido del barrio de ruzafa. Cadiz 3</str>
<str name="dateObserved">2021-06-05T08:18:07Z</str>
<date name="modified">2021-06-05T08:19:08.579Z</date>
<str name="uri">http://apigobiernoabiertortod.valencia.es/rest/datasets/estado_sonometros_cb/t248655.xml</str>
</resource>
<resource>
<str name="LAeq">058.9</str>
<str name="name">Sensor de ruido del barrio de ruzafa. Sueca Esq. Denia</str>
<str name="dateObserved">2021-06-05T08:18:04Z</str>
<date name="modified">2021-06-05T08:19:08.579Z</date>
<str name="uri">http://apigobiernoabiertortod.valencia.es/rest/datasets/estado_sonometros_cb/t248652.xml</str>
</resource>
Donde el parámetro LAeq es la medida del nivel de ruido[1]
Para obtener este mismo resultado devuelto por la API en un programa en tiempo real con Node-RED, tan solo tenemos que iniciar Node-RED en nuestro navegador (para instalar Node-RED en tu ordenador puedes seguir las instrucciones aquí)
Con tan solo 6 nodos (incluidos por defecto en la instalación básica de Node-RED) podemos construir este flow o programa que solicita los datos del sensor instalado en "Sensor de ruido del barrio de Ruzafa. Cádiz 3" y devolvernos el valor de ruido que se actualiza cada minuto de forma automática. Puedes ver un video demostrativo aquí.
Node-Red tiene muchas más posibilidades, es posible combinar varios flows para realizar programas mucho más complejos o construir dashboards muy visuales cómo este para aplicaciones finales.
En definitiva, en este artículo te hemos mostrado cómo no necesitas saber programar ni utilizar complejos programas de software para hacer tus propias aplicaciones accediendo a datos abiertos en tiempo real. Puedes obtener mucha más información sobre cómo empezar a usar Node-RED aquí. También puedes probar otras herramientas similares a Node-RED cómo Apache Nify o ThingsBoard. Estamos seguros de que las posibilidades que se te ocurren son infinitas. ¡Anímate a crear!
[1] Nivel sonoro continuo equivalente. Se define en la ISO 1996-2:2017 como el valor del nivel de presión en dBA en ponderación A de un sonido estable que en un intervalo de tiempo T posee la misma presión sonora cuadrática media que el sonido que se mide y cuyo nivel varía con el tiempo. En este caso el período establecido para este sensor es de 1 minuto.
Contenido elaborado por Alejandro Alija,experto en Transformación Digital e Innovación.
Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.