Soporte para protocolo FI-WARE NGSI-10

En la release 3.0 de Sofia2 se ha incluido compatibilidad con el protocolo Fi-WARE NGSI-10, permitiendo de este modo que el SIB Sofia2, pueda actuar como un Context Broker compatible con Fi-WARE.

Para ello se ha habilitado un Gateway REST en la url http://sofia2.com/sib/services/NGSI10/ , que ofrece las operaciones estándar del protocolo NGSI-10 para la gestión de entidades. Podemos consultar las operaciones de este nuevo API en la sección de documentación de APIs REST de Sofia2: https://sofia2.com/sib/#

Internamente, Sofia2 maneja las entidades de contexto como ontologías, que son almacenadas en BDTR y a las que se les puede aplicar el resto de capacidades de la plataforma como son reglas en tiempo real, notificación de eventos NGSI-10 al resto de Apps Sofia2, pre-procesado y enriquecimiento de la información con procesos R y Python, Historificación a BDH con capacidades analíticas… Y proveyendo algunas ventajas adicionales al protocolo NGSI-10 como son:

· Integración con el resto de APIs Sofia2, incluyendo las que permiten comunicación bidireccional (MQTT, Ajax-Push, Websocket…), ampliando de este modo el abanico de clientes que pueden utilizar la información de contexto en modo suscripción, incluyendo clientes web Javascript.

· Permite separar lógica y físicamente, el almacenamiento de las entidades en distintas ontologías, en función del usuario y el tipo de entidad.

· Permite a los desarrolladores de las Apps, realizar consultas sobre las entidades del contexto, utilizando la simplicidad del lenguaje SQLLIKE o la potencia del lenguaje Nativo de la BDTR de Sofia2:

· Gestión de la información de contexto a través de APIs RESTful puras utilizando el Gateway REST de Sofia2 o exponiendo la ontología a través del API Manager.

· Validación de que las entidades de contexto cumplen con las restricciones del esquema definido en la ontologia por el usuario, a través de la consola de administración o del API REST de gestión, dando una mayor calidad a la información almacenada en la plataforma.

Para que una aplicación cliente pueda comunicarse con Sofia2 utilizando el protocolo FI-Ware NGSI-10, es necesario registrarla en la plataforma como un App Sofia2 (KP) y generar un token de autenticación.

Una vez registrada como App Sofia2, utilizará el token provisto para autenticar con el Gateway NGSI-10, enviándolo en cada petición, con el atributo de cabecera http x-auth-token de FI-Ware.

A continuación vamos a mostrar como una App NGSI-10 se integra con el resto de Apps Sofia2, gracias a que internamente la información del Context Broker se convierte en ontologías Sofia2.

Para ello, crearemos una App Sofia2 utilizando el API Java y el protocolo MQTT, que se suscribirá, utilizando el protocolo SSAP de Sofia2, a una ontología donde se almacenan entidades de contexto FI-Ware:

Una vez lanzada, utilizamos un cliente REST para enviar una entidad al Gateway NGSI-10:

Comprobamos que recibimos la respuesta correcta desde el Gateway NGSI-10:

Y volvemos la App Sofia2 desarrollada con el Api Java para comprobar que hemos recibido la notificación, esta vez por el Gateway MQTT:

Soporte para protocolo FI-WARE NGSI-10

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s