Sofia2 participates in the SESIAD Virtual Laboratory

labVirtual

 

The Virtual Laboratory of the Secretary of State for the Information Society and Digital Agenda (SESIAD) was born under the standard UNE 178104 “Integrated management systems of the smart city” with the aim of becoming a benchmark for national and international platforms, being a place of experimentation in which companies and developers can evaluate the compatibility of their products with different Smart Cities platforms.

 

labVirtual

 

Currently, platforms that participate in the Virtual Laboratory are Sofia2, from Minsait by Indra, SmartBrain from Cellnex and Thinking City from Telefónica. They collaborate with SESIAD contributing their expertise and participating in the improvement of interoperability between platforms.

 

plataformas

 

As we saw in IoT Data Models: Initiatives and Sofia2 Data Model, there are different Initiatives of standardization of a Data Model in IoT. A Data Model represents the structure of your data and relationships, and therefore, organizes the elements and standardizes how they relate to each other.

 

gsma1

 

GSMA and FIWARE Data Models are defined in JSON, so their representation as Sofia2’s Ontology is immediate. We saw how they are supported and how easy it is to work with these entities in Sofia2

 

To achieve better interoperability between platforms, NGSI 9/10 v2 was selected as a common protocol for the Interoperability Layer. We saw in this document how they are supported and how to consume APIS modeled according to the semantic FIWARE Data Model and published in Sofia2 following the NGSI 9/10 v2 protocol.

 

In our experience with the Virtual Laboratory, in addition to making recommendations for new attributes and modifications in the Data Model, we had the opportunity to perform a Proof of Concept (PoC) by creating a connection  and transformation flow of real data from Smart City A Coruña to GSMA/FIWARE Data Model on Sofia2’s Platform.

 

In this example, Smart Coruña parking data is collected and is ingested in an Ontology on the Sofia2’s platform. Each time an instance of this ontology is received, a Script is launched and transforms this data adapting them to the Data Model and, consulting them, we see how, effectively, the Data Models are fulfilled.

 

dataingestGSMA

 

Also in this Proof of Concept we could publish this data through the API MANAGER of Sofia2 to later see that anyone with the proper permits can access this data via API, Curl or through the Virtual Laboratory portal.

 

consumptionGSMA

 

 

All this process is explained in the post Acquisition, transformation and consumption of data with GSMA/FIWARE Data Model, and has been captured in the demonstrator, which, in addition to parking data, collects data from beaches and museums.

 

demostrador

 

You can find all the information related to the SESIAD Virtual Laboratory here, as well as all the necessary tools (Data Model, APIs, Security tokens, examples …) to develop on the platforms complying with this interoperability model here

 

 

 

 

Sofia2 participates in the SESIAD Virtual Laboratory

Acquisition, transformation and consumption of data with GSMA/FIWARE Data Model

dataingestGSMA

 

In the post How to work with Data Model FIWARE/GSMA in Sofia2 we saw how the Sofia2 platform supports the GSMA and FIWARE Data Models. We learned how to create Ontologies according to these models and how to insert data and consult them using the tool available on the BDTR and BDH Console. We also saw how to publish this Ontology as a RESTFul API and how to consume the API.

 

In addition, we have the document Use of FIWARE Data Model and API NGSI9 publication, where we explain how to consume APIS modeled conformant FIWARE Data Model semantics and published in the Platform following the NGSI-9 protocol.

 

For the example, we use the Ontologies:

  • GSMA_OffStreetParking_Destino
  • GSMA_PointOfInterest_Beach
  • GSMA_PointOfInterest_Museum

 

Step by step we explains how to subscribe to these Ontologies, how to consult your Data through the BDTR and BDH Console, how to subscribe to NGSI-9 APIs and consume them through the API Manager developer portal and how to access these APIs via Curl.

 

consumptionGSMA

 

With all this information, and knowing that Sofia2 allows you to create Rules Scripts (it is advisable to read the Scripting Engine Sofia2 User Guide) that will be executed before the arrival of instances of Ontologies or every so often, it is easy to understand how we can receive data with a determined structure and transform them to meet these Data Models.

 

We will check it through the following flow:

 

dataingestGSMA

 

In this example, Smart Coruña car park data is collected, an Ontology is ingested on the Sofia2 platform, each time an instance of this ontology is received, a Script is launched that transforms this data adapting it to the Data Model and consulting it, we see as indeed, it is fulfilled with the GSMA and FIWARE Data Models.

 

ejemploparking1

Acquisition, transformation and consumption of data with GSMA/FIWARE Data Model

Adquisición, transformación y consumo de datos GSMA/FIWARE Data Model

flujoDeconexion

En el post Cómo trabajar con Data Model FIWARE/GSMA en Sofia2 vimos cómo la plataforma Sofia2 soporta los Data Models GSMA y FIWARE. Aprendimos cómo crear Ontologías conforme a estos modelos y cómo insertar datos y consultarlos mediante la herramienta disponible en la plataforma Consola BDTR y BDH. También vimos cómo publicar esta Ontología como un API RESTFul y cómo consumir el API.

 

Además, disponemos del documento Uso de FIWARE Data Model y publicación API NGSI9donde se explica cómo consumir APIS modeladas conforme semántica FIWARE Data Model y publicadas en la Plataforma siguiendo el protocolo NGSI-9.

 

Para el ejemplo se utilizan las Ontologías:

  • GSMA_OffStreetParking_Destino
  • GSMA_PointOfInterest_Beach
  • GSMA_PointOfInterest_Museum

 

Paso a paso se explica cómo suscribirnos a éstas Ontologías, cómo consultar sus Datos mediante la Consola BDTR y BDH, cómo suscribirse a APIs NGSI-9 y consumirlas mediante el portal del desarrollador del API Manager y cómo acceder a estas APIs vía Curl.

 

consumoDatos

 

Con toda esta información, y conociendo que Sofia2 permite crear Reglas Scripts (se aconseja leer el documento Guía de Uso Motor Scripting Sofia2) que se ejecutarán ante la llegada de instancias de Ontologías o cada cierto tiempo, es fácil entender cómo podemos recibir datos con una estructura determinada y transformarlos para cumplir con estos Data Models. 

 

Lo comprobaremos mediante el siguiente flujo:

flujoDeconexion

 

En este ejemplo, se recogen datos de parkings de Smart Coruña, se ingestan en la plataforma Sofia2 a una Ontología, cada vez que se recibe una instancia de esta ontología se lanza un Script que transforma estos datos adaptándolos a los Data Model y consultándolos, vemos como efectivamente, se cumple con los Data Models GSMA y FIWARE.

 

ejemploparking

Adquisición, transformación y consumo de datos GSMA/FIWARE Data Model

Ejemplo APIS NGSI v2 en Sofia2

ngsi8Una de las capacidades del API Manager de Sofia2 es permitir exponer ontologías como entidades para ser consultadas mediante el protocolo NGSI v2.

En este post vamos a mostrar como crear una pequeña aplicación que realiza consultas a Sofia2 mediante el protocolo NGSI v2.

Una entidad NGSI tiene siempre dos atributos obligatorios:

  • id: identificador único de la entidad.
  • type: define el tipo de entidad.

De manera que para exponer con el API Manager de Sofia2 una ontologia como API NGSI v2 es necesario que disponga al menos de dichos atributos.

Seguir leyendo “Ejemplo APIS NGSI v2 en Sofia2”

Ejemplo APIS NGSI v2 en Sofia2

Data Model GSMA en Sofia2

1

Se ha disponibilizado en Sofia2 la documentación que define el soporte y funcionamiento de los Data Model GSMA en la plataforma Sofia2.

La asociación GSMA (asociación de operadores móviles) está trabajando en un IoT Big Data Harmonised Data Model. Por otro lado en la iniciativa FIWARE se han inspirado en el Data Model GSMA para crear los FIWARE Data Models.

Los Data Models GSMA (también llamados FIWARE DataModel) se definen en JSON, por lo que su representación como Ontología Sofia2 es inmediata. Para ello, haremos uso de las plantillas predefinidas en Sofia2 que soportan los anteriores modelos:

plantillas

En la documentación, que te puedes descargar aquí, o puedes consultar en versión web aquí, encontrarás cómo se definen los modelos de datos en Sofia2 para soportar los Data Models GSMA, ejemplos de uso, y un completo “Hands On” que abarca la creación de Ontologías, carga de datos mediante CRUD de Instancias, consulta de datos con la Consola BDTR y BDH, y cómo publicar Ontologías como API RESTFUL.

Data Model GSMA en Sofia2