Estandarizando las soluciones inteligentes con FIWARE

fiware.jpg
Solucionex
29
Abr 22

¿Qué es FIWARE?

FIWARE es una plataforma open source, impulsada por la Unión Europea, que nos provee de una arquitectura y un conjunto de especificaciones que nos permite el desarrollo de soluciones inteligentes en proyectos IOT, Smart Cities, Open Data, etc. 

 

Especificaciones FIWARE

Dentro de la plataforma FIWARE, la integración de los componentes se hace siguiendo una API, concretamente la FIWARE NGSI, de la que tenemos dos versiones: la FIWARE-NGSI V2 y la FIWARE-NGSI-LD.

Siendo la primera la más estable, el actual desarrollo de FIWARE va camino de la segunda, proporcionándonos funcionalidades más enfocadas en la semántica y el enriquecimiento de los datos para ofrecer soluciones inteligentes de datos enlazados, más destinadas al ecosistema de las ciudades inteligentes.

Como la especificación NGSI-LD todavía no es estable, nosotros nos vamos a centrar en la versión de FIWARE para NGSI-V2.

 

Componentes FIWARE

La plataforma FIWARE se compone de multitud de componentes base, o desarrollados por terceros, y adaptados al ecosistema FIWARE para ofrecer una implementación rápida de soluciones inteligentes sobre dispositivos de electrónica inteligente, como son los dispositivos IOT, sensores, robots, etc. Podemos agrupar estos componentes en cuatro categorías principales según su objetivo o alcance.

 

Categorías de componentes FIWARE

 

  • Interfaces de IOT, sensores, robots y sistemas de terceros.
  • Gestión del contexto central (Context Broker)
  • Procesamiento, análisis y visualización de contexto
  • Control de acceso a datos, publicación y monetización
  • Herramientas de despliegue

 

A continuación vamos a definir los componentes más interesantes y/o utilizados en los desarrollos de soluciones inteligentes según su categoría.
 

Interfaces de IOT, sensores, robots y sistemas de terceros

IOT Agents

Se tratan de las diversas interfaces que hacen de agente comunicador con los dispositivos electrónicos. Hay tantas interfaces como protocolos y estándares de dispositivos existen. Nosotros nos vamos a centrar en dos principalmente:

  • IOT Agent JSON sobre HTTP/MQTT
  • IOT Agent Ultralight sobre HTTP/MQTT

 

Gestión del contexto central (Context Broker)

ORION Context Broker

Es el componente principal y obligatorio a la hora de utilizar la plataforma FIWARE. Este “intercambiador” de datos actúa como una pila de una sola posición donde se guarda el último dato recogido de un dispositivo, conocido como contexto actual. Es el componente que nos brinda la API NGSI-V2 para operar sobre los datos. El Context Broker se apoya en otros componentes para hacer un histórico de los diferentes contextos (datos) como son Cygnus o Quantum Leap.

(Leer más sobre el Context Broker)

Cygnus

Este componente nos permite almacenar el historial de contexto que se crea como una secuencia de datos que nos permite inyectar datos en los más conocidos sistemas de bases de datos, como son: MongoDB, PostgreSQL, MariaDB... 

Quantum Leap

Por otra parte tenemos este componente que nos permite almacenar el contexto pero en sistema de bases de datos temporales como es el caso de CrateDB.

 

Procesamiento, análisis y visualización de contexto

Grafana

Esta aplicación nos permite construir y visualizar cuadros de mandos para visualizar los datos de manera métrica provenientes de los datos, de nuestros sensores o sistemas IOT, almacenados en nuestra base de datos.

(Ver tutorial de ejemplo)


Gestión de Acceso, Publicación y Monetización

FIWARE CKAN Extensions

CKAN se encuentra entre los sistemas de gestión de datos abiertos más populares. FIWARE nos ofrece una serie de extensiones para CKAN con las que sacar el mayor partido a nuestra plataforma y a la gestión y publicación de nuestros datos.

Keyrock Identity Management

Esta aplicación actúa en FIWARE como el componente responsable de la gestión de identidad. Podemos usar Keyrock para habilitar la autenticación y autorización basada en OAuth2 en nuestros demás servicios y aplicaciones. Además podemos integrar Keyrock con otro componentes como PEP Proxy (Wilma) o Authzforce.

Wilma

Podemos hacer uso de este PEP Proxy para reforzar la seguridad en nuestra plataforma FIWARE añadiendo la posibilidad de gestior el control de acceso a nuestras aplicaciones backend, esto es, permitir el acceso a cualquier "Generic Enabler" o a los servicios REST de cualquier API.

 

Herramientas de despliegue

Los componentes FIWARE están desarrollados para que puedan desplegarse utilizando técnicas estándar de contenerización como Docker.  FIWARE dispone de un repositorio para Helm que nos provee de un catálogo de "charts" listas para instalarse en Kubernetes utilizando el ya nombrado gestor de paquetes.


¿Cómo aplico FIWARE al mundo real?

 

Ecosistema Smart City o de Ciudades Inteligentes

Una de las aplicaciones más populares que tiene FIWARE en el mundo real es la de implementar soluciones "sensorizando" actividades rutinarias en nuestros municipios con las que obtener datos y poder optimizar dichas actividades en favor del ciudadano. Conocemos este ámbito de proyectos como soluciones Smart Cities o de Ciudades Inteligentes.

Concretamente en Extremadura, Badajoz tiene un Fiware iHub Advanced, Fiware Space, donde dar a conocer la plataforma FIWARE, formar a usuarios y empresas, además de mostrar las diferentes soluciones y proyectos FIWARE.

 

Ecosistema Smart Industry o Industria 4.0

Porque no solamente FIWARE está pensado como plataforma para proyectos de la administración pública, sino que al ser un proyecto de código abierto basado en aplicaciones de terceros, abraza todo tipo de proyecto que permita también a cualquier tipo de empresa, a nivel privado, disfrutar de un sistema inteligente que optimice sus procesos industriales.