SOFIA2 RELEASE 2.9.0 PUBLISHED

Sofia2 new release 2.9.0 is now available. This version has also been deployed in the experimentation platform Sofia2 In-Cloud.

This new version add the following features to the platform:

· Processed messages information by Sofia2 In-cloud instance.

As an example of Sofia2’s plugins functionality, the number of messages processed by the platform is being collected. On the home page of Sofia2’s web, this information can be viewed in real time. Till now Sofia2 has processed over 118 million records, 31 millions of them are on the BDTR(BD Real Time) and over 87 millios on the BDH (Hadoop).

· Sofia2 API Manager (Version 2).

In this new version, you can create a complete API with all methods (insert, update, query,..) from an existing ontology.

The Test & Doc UI has been improved as well.

· Various improvements at Geographic Viewer: Now the shown information is updated every few seconds.

· Scripting Rules Engine and CEP Engine Integration

From this version on, Scripting Rules can be launched from an event triggered by a CEP rule (in addition to ontology and timer).

· Scripting Rules Engine Enhancements

On the other hand several improvements have been undertaken (to be continued in next releases). This release includes:

Launching a rule before the arrival of an instance of a ontologies group or a parent ontology (in which case the rule is triggered when an instance of any child ontology arrives).

The operations editor has now autocomplete and a new theme

New operations are included in the API that can be invoked from scripts (Administrators can also create new operations), the API now:

sendTweet(apiKey, apiKeySecret, token, tokenSecret, parameters)

sendMail(to, subject, msg)

httpGET(url)

httpGET(url, timeout)

httpPOST(url, parameters)

httpPOST(url, parameters, timeout)

getInBDTR(ontologyName, query)

insertInBDTR(ontologyName, data)

updateInBDTR(ontologyName, query, data)

rollback(ontologyName, id)

findInCircle(ontologyName, indexName, longitude, latitude, radio)

getValue(ontologyName, atribute)

· Wizard for simplified creation of ontologies.

Often platform users want to start dumping data immediately on the platform, creating a simple ontology, without following the recommended governance. For these scenarios this functionality simplifies the creation of such ontologies.

Through the corresponding menu

the attributes of the ontology can be defined along with its data type and whether they are mandatory or not.

These type data are supported in this version

By clicking the button the JSON schema corresponding to this ontology is generated.

· Contextual help for Platform’s users.

In order to guide users, now there is a table that shows all necessary steps to create Sofia2 applications. It shows the steps already done and serves as guide for the uncompleted ones.

· Assets management improvements:

Assets management has now been extended allowing now several management options of nodes and locations.

This allows to associate Assets to a node. Assets may also have a hierarchy. Allowing Tag searching

· Automatic Contributor (colaborator) role change request.

When a user logs into Sofia2 In-Cloud has a pre-assigned user level role. The user can use the platform in consult mode (can subscribe ontologies and create clients).

If he/she wants to publish data on the platform and use the advanced capabilities of the platform in general (such as scripting engine or CEP), needs to have a COLABORADOR role.

This new feature allows the user to request that role change directly from the console UI.

The administrator can validate each request responding positively or rejecting each of them. He can explain the reasons and if more information is required through email.

· Adjustments and Infrastructure improvements on KP Model and testing Smart Coruña’s CSC Gateway.

Work continues on the sofia2 software certification tests that will run on this gateway. Includes performance testing, stability, reconnection,..

· Improvements and bug fixes in Node.js API. This API is already being used by some contributors (thanks Julio and Marco)

· New examples and help guide in the Java API

· SDK version 2.9 SDKs platform update.

· Resolution of various bugs and incorporating improvements in performance and stability

SOFIA2 RELEASE 2.9.0 PUBLISHED

PUBLICADA RELEASE 2.9.0 DE SOFIA2

Ya está disponible la release 2.9.0 deSOFIA2, esta release también se ha disponibilizado en la Plataforma de Experimentación SOFIA2 In-Cloud.

Esta versión añade a la Plataforma las siguientes funcionalidades:

· Información sobre mensajes procesados por la instancia SOFIA2 InCloud

Como ejemplo de funcionalidad de Plugins de Sofia2 se están recogiendo en tiempo real el número de mensajes procesados por la plataforma.

En la web puede verse en tiempo real esta información, a día de hoy llevamos 117 millones de registros procesados, 30 millones de ellos están en la BDTR (BD Tiempo Real) y más de 87 millones en la BDH (Hadoop).

· API Manager Sofia2 Versión 2

En esta nueva versión del API Manager a partir de una ontología Sofia2 se puede crear un API completa (con todos los métodos de inserción, actualización, consulta,…:

Se ha mejorado el interfaz de Portal del API Manager para acceder a la documentación y testarla:

· Mejoras en la demostración Visor geográfico con la información actualizándose cada pocos segundos:

· Integración entre Motor de Reglas Scripting y Motor CEP

A partir de esta versión las reglas Scripting pueden lanzarse a partir de un evento desencadena por una regla CEP (además de por ontología y por timer)

· Mejoras Motor de Reglas Scripting

Por otro lado se han acometido diversas mejoras (que continuarán en próximas releases) en este motor, se incluye:

Lanzar una regla ante la llegada de una instancia de un grupo de ontologías o de una ontología padre (en cuyo caso la regla se desencadena cuando llega una instancia de cualquier ontología hija)

En el editor de operaciones se ha añadido la función autocompletar además de un theme nuevo.

Se han incluido nuevas operaciones en el API que se puede invocar desde los scripts (administradores también pueden crear nuevas operaciones), el API queda:

sendTweet(apiKey, apiKeySecret, token, tokenSecret, parameters)

sendMail(to, subject, msg)

httpGET(url)

httpGET(url, timeout)

httpPOST(url, parameters)

httpPOST(url, parameters, timeout)

getInBDTR(ontologyName, query)

insertInBDTR(ontologyName, data)

updateInBDTR(ontologyName, query, data)

rollback(ontologyName, id)

findInCircle(ontologyName, indexName, longitude, latitude, radio)

getValue(ontologyName, atribute)

· Wizard para creación simplificada de ontologías.

Muchas veces los usuarios de la plataforma quieren comenzar de inmediato a volcar datos en la plataforma, creando una ontología sencilla y sin seguir la gobernanza de ontologías recomendada, para estos escenarios esta funcionalidad simplifica la creación de ontologías.

A través del menú correspondiente

Podemos definir los atributos de la ontología, su tipo de datos y si son obligatorias.

Se soportan estos campos:

Al pulsar se generará el esquema JSON correspondiente a esta ontología.

· Ayuda Contextual a los usuarios de la Plataforma

Con el objetivo de guiar a los usuarios se incluye una ayuda que indica los pasos necesarios para crear aplicaciones Sofia2, si los hemos completado y en caso de no haberlo hecho le lleva a la panatalla correspondiente:

· Ampliación en la gestión de Assets:

La gestión de Assets se ha ampliado permitiendo ahora la opción de gestión de nodos/sedes,

esto permite asociar Assets a un nodo que además pueden tener una jerarquía. Permitiendo buscar por Tags.

· Automatización solicitud de paso a colaborador de la plataforma

Cuando un usuario se registra en Sofia2 InCloud se le asigna el rol USUARIO, que permite utilizar la plataforma en modo consulta (puede suscribirse a ontologías y crear clientes).

Si quiere publicar datos en la plataforma y en general utilizar las capacidades avanzadas de la plataforma (como el motor scripting o CEP) necesita tener un rol COLABORADOR.

Con esta funcionalidad el usuario puede solicitar desde la propia consola el paso a COLABORADOR.

El administrador podrá validar cada petición respondiendo de forma positiva o rechazándolas explicando los motivos y si se requiere más información.

· Ajustes, mejoras de la Infraestructura KP Modelo y pruebas sobre al Gateway CSC de Smart Coruña

Se sigue trabajando en las pruebas de certificación del software Sofia2 que correrá en este gateway que incluye pruebas de rendimiento, estabilidad, reconexión,…

· Mejoras y resolución de bugs en API Node.js este API ya se está usando por algunos colaboradores (gracias Julio, Marco J)

· Nuevos ejemplos y ayuda en el API Java

· SDK versión 2.9

Actualización de los SDKs multiplataforma

· Resolución de diversos bugs e incorporación de mejoras de rendimiento y estabilidad

PUBLICADA RELEASE 2.9.0 DE SOFIA2

Arduino Yun = Arduino Mega+Linux

Arduino Yun es una nueva generación de Arduino con una placa basada en la ATmega32u4 (datasheet) y la Atheros AR9331.

Lo más interesantes de este Arduino es que soporta una distribución Linux (OpenWrt-Yun basada en OpenWrt).

Además la placa integra:

· Ethernet y WiFi support,

· un Puerto USB,

· slot micro-SD card slot,

· 20 digital input/output pins (7 PWM outputs y 12 analog inputs),

· Oscilador a 16 MHz

· Conexión micro USB: permite que el Yun se localice como una computadora

· Header ICSP

El Arduino Yun se distingue de otras placas Arduino al permitir la comnunicación con la distribución Linux embebida ofreciendo un Linux (comandos, scripts, incluye un Python) el que se programa con la sencillez de un Arduino, y por tanto programable con el API Arduino Sofia2.

Las características completas de este Arduino son:

Si después de leer esto estáis como yo pensando en que no podéis pasar sin esta maravilla 🙂 podéis seguir con su Getting Started Guide.

Eso sí de momento está un poco caro J

Arduino Yun = Arduino Mega+Linux

Patrones de diseño para Internet of Things

Interesante post en el que se recogen los principales patrones de diseño de aplicación a Arquitecturas IoT:

Patrones de diseño para modelos de información:

· Datos estructurados: XML y JSON

· Virtual Objects

· Composite Objects

· Hypermedia

· …

Patrones de diseño para interacción:

· REST

· Observer Pattern

· Publish/Subscribe

· Broker

· Proxy

· …

Patrones de diseño de programación de aplicaciones:

· REST Objects

· Event HAndler

· State Machine

· Rule Oriented Programming

· Discovery and Linking

· …

Patrones de diseño para infraestructura

· 6LowPan edge router

· WSN Access point

· Application Gateway

· M2M WAN

· …

Patrones de diseño para Seguridad IoT:

· PGP

· DTLS sobre UDP

· …

Patrones de diseño para Internet of Things

Patrones de diseño para Internet of Things

Interesante post en el que se recogen los principales patrones de diseño de aplicación a Arquitecturas IoT:

Patrones de diseño para modelos de información:

· Datos estructurados: XML y JSON

· Virtual Objects

· Composite Objects

· Hypermedia

· …

Patrones de diseño para interacción:

· REST

· Observer Pattern

· Publish/Subscribe

· Broker

· Proxy

· …

Patrones de diseño de programación de aplicaciones:

· REST Objects

· Event HAndler

· State Machine

· Rule Oriented Programming

· Discovery and Linking

· …

Patrones de diseño para infraestructura

· 6LowPan edge router

· WSN Access point

· Application Gateway

· M2M WAN

· …

Patrones de diseño para Seguridad IoT:

· PGP

· DTLS sobre UDP

· …

Patrones de diseño para Internet of Things

Gobierno de Ontologías en Sofia2 (parte II)

Continuando con el primer post sobre gobierno sobre Ontologías en Sofia2 hoy veremos otros aspectos importantes a la hora de definir nuestras ontologías, como es la nomenclatura y tipado.

Nomenclatura:

  • Utilizar nombres en inglés y se seguirá el estándar Java (aka “camel”).
  • Para la definición de plantillas nombres cortos y autoexplicativos con primera letra en mayúsculas. Las primeras letras identifican el tipo de ontología:

Feed: Feed

Command: Cmd

Alert: Alrt

Schedule: Schdl

Audit: Adt

KPI: Kpi

  • Para la definición de ontologías primera letra en minúscula, empiezan siempre por el tipo de ontología. Ejemplo para una Espira: feedEspira, cmdEspira, adtEspira …
  • Para la definición de atributos de las ontologías primera letra en minúsculas, sin espacios, sin caracteres especiales.
  • Para la definición de constantes utilizadas como valores posibles para los atributos de las ontologías: todas las letras en mayúsculas. Por ejemplo: MOBILE, FIXED, VIRTUAL.

Seguir leyendo “Gobierno de Ontologías en Sofia2 (parte II)”

Gobierno de Ontologías en Sofia2 (parte II)