PUBLICADA RELEASE 2.12.0 DE SOFIA2

(English version at the end)

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

Ver Releases

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

· Dashboards Sofia2: esta nueva funcionalidad permite crear visualmente dashboards personalizados, utilizando los gadgets Sofia2 y widgets como información del tiempo, feeds RSS…

Esto permite a partir de las ontologías disponibles para el usuario crear APPs de visualización:

· Nuevos tipos de gadgets: a los gadgets de tipo URL se han añadido gadgets tipo Mapa y gráficos de línea.

· Nuevas funcionalidad en el soporte de generación de Ontologías a partir de Excel/CSV. Sobre la funcionalidad base esta nueva versión permite:

-Seleccionar si la primera fila del Excel corresponde con los nombres de las columnas

-Modificar el nombre de las columnas

-Seleccionar el tipo de dato de cada columna, soportando estos tipos (String, Boolean, Number, Geometry-LAT y Geometry-LON)

En la imagen se muestra esta funcionalidad:

-Visualizar el aspecto de las instancias de la ontología que se genera:

· Independencia entre API Manager Sofia2 y SIB Sofia2: desde esta versión el API Manager no requiere de la existencia del SIB para resolver la funcionalidad de APIs Sofia2, permitiendo actuar como proxy de APIs Sofia2 y APIS externas. Esto permite su uso en instalaciones sin la existencia de un SIB.

· Nuevo Mensaje SSAP BULK este mensaje permite agrupar en un único envío al SIB diferentes mensajes SSAP de tipo INSERT, UPDATE o DELETE que serán procesados como mensajes individuales una vez recibidos por el SIB (los distintos mensajes agrupados, pueden actuar sobre diferentes ontologías, tanto utilizando el lenguaje nativo de la BDTR como lenguaje SQLLike).

En la instancia Sofia2 InCloud (sofia2.com) se ha disponibilizado este mensaje en los Gateways MQTT, Websocket y DWR del SIB.

También se ha disponibilizado en el API Java para así facilitar a los desarrolladores la construcción del mismo:

· UI de visualización del resultado de ejecución de procesos: se ha incorporado en la consola Web de configuración una UI que permite ver el estado en el que ha quedado un proceso tras su ejecución, o si ha habido algún tipo de error.

Permite consultar el tipo del proceso ejecutado, usuario propietario del proceso, su ontología, la fecha de ejecución y el estado del mismo.

Se accede a través del menú de Herramientas > Visualización Estado Procesos.

· Certificación Plataforma Sofia2 sobre WAS 8.5

· Mejoras API C: migrando la compilación a CMake lo que permite compilarlo de forma sencilla en cualquier sistema UNIX o Windows (vía Cygwin). La documentación se genera con Doxygen.

· Mejoras de usabilidad en UI Reglas CEP

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

PUBLICADA RELEASE 2.12.0 DE SOFIA2

SOFIA2 RELEASE 2.12.0 PUBLISHED

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

This new version adds the following features to the platform:

· Dashboards Sofia2: esta nueva funcionalidad permite crear visualmente dashboards personalizados, utilizando los gadgets Sofia2 y widgets como información del tiempo, feeds RSS…

Esto permite a partir de las ontologías disponibles para el usuario crear APPs de visualización:

· Dashboards Sofia2: this new functionality allows the composition of custom dashboards, using the gadgets created in the Sofia2 console, plus some widgets like weather information, RSS feeds,..

Using the available ontologies, a user can create with little effort an APP to display data:

· New gadget types: line charts and maps have been added to the URLs gadget.

· Brand New Features in ontology generation from Excel/CSV. This version extends ontology generation basis functionality, allowing:

– Select mode in case of first Excel row matches column names

– Modifying column names

– Selection of data type on each different row, supporting a wide range of different types (String, Boolean, Number, Geometry-LAT y Geometry-LON)

Image below shows ontology generation new features

Generated ontology instance visualization aspect

· Decoupling among API Manager Sofia2 and SIB Sofia2: From now on API Manager does not require SIB to solve Sofia2 APIs orchestration, behaving as Sofia2 APIs and external APIs proxy. This allows a standalone use, with no need of SIB existence.

· New SSAP Message BULK this message allows grouping different SSAP messages in a single send package. Message can be made of different types, like INSERT, UPDATE or DELETE and subsequently be processed on Sofia2 InCloud instances (sofia2.com). New BULK message is available on Gateways MQTT, Websocket and DWR in Sofia2 SIB.

BULK Messages has been disposed as Java API either, helping developers an easy exploitation of this feature:

· New process execution UI visualization: Web Console Configuration acquires new UI which shows a display of processes state after execution, as well as an error trace.

It is possible to check details like execution process type, process owner, ontology, execution date and current status.

This may be found on menu Tools > Process Status Visualization

· Platform Certification over WAS 8.5

· API C improvements: Compilation was migrated to CMake, which allows an easy compilation on any system, like UNIX or Windows (via Cygwin). Documentation is generated with Doxygen.

· UI CEP Rules usage improvements

· Several bugs were solved, including changes to performance, stability and reliability of the platform.

SOFIA2 RELEASE 2.12.0 PUBLISHED

Privacidad de Assets en Sofia2

Como ya sabemos, las Apps Sofia2 (KPs) pueden tener asociados Assets, esto es, dispositivos físicos pertenecientes a un determinado Tipo de Asset, cuya ubicación geográfica y propiedades son configurables desde la consola de administración de la plataforma. Pudiendo ser solicitadas por el propio KP a la plataforma a través de un mensaje SSAP GET_CONFIG (https://about.sofia2.com/2014/04/14/conociendo-el-protocolo-de-interoperabilidad-de-sofia2-ssap/) o de un mensaje SSAP QUERY sobre la tabla Asset de la BDC (https://about.sofia2.com/2014/09/17/consulta-de-assets-y-tipos-de-asset-a-traves-del-protocolo-ssap/).

En la release 2.11 de Sofia2 se ha añadido privacidad a los Assets, de manera que un usuario de tipo Administrador o Colaborador puede declarar sus Assets como públicos o privados.

Un Asset declarado como público será visible en las consultas de otros usuarios Colaboradores, bien a través de sus KP o a través de la herramienta de consulta a Bases de datos de la consola de administración. Mientras que si es declarado privado, únicamente será visible para su propietario o usuarios con rol administrador y sus KPs.

La gestión de la configuración del Asset tanto si es público como si es privado solo podrá realizarla su propietario o un administrador, de modo que aunque un Asset sea público, un usuario que no sea su propietario o tenga rol administrador, no podrá modificar sus propiedades.

La visibilidad de un Asset se configura junto con el resto de propiedades en las pantallas de creación y de modificación del Asset en la consola de Administración:

Privacidad de Assets en Sofia2

API JMS accesible desde reglas

Una de las características menos “visible” en la release 2.11 de Sofia2 es el API JMS. Este API es accesible desde la consola de creación de reglas, añade a las operaciones ya existentes cuatro sencillos métodos para enviar mensajes, en formato json o xml, a una cola o a un topic de un Broker JMS*.

api JMS
api JMS

De esta manera podremos definir con una sencilla regla que, por ejemplo, para las instancias que lleguen de una determinada ontología (una alarma, una medida de un sensor, etc…) y que cumplan una determinada condición (que una medida supere un cierto umbral) las enviará a una cola disponible en el broker JMS (activeMQ por ejemplo)  en este caso un mensaje “Hola Sofia2”. Los mensajes encolados podrá ser consumidos por otro sistema para ser almacenados o representados visualmente.

regla
regla

broker

(*) En Sofia2 InCloud se ha disponibilizado un ActiveMQ accesible bajo petición

API JMS accesible desde reglas

Consulta de Assets y Tipos de Asset a través del protocolo SSAP

Como ya conocemos, las Apps Sofia2 (clientes KP) interoperan con la plataforma Sofia2 y por ende con otras Apps Sofia2 a través del protocolo SSAP (https://about.sofia2.com/2014/04/14/conociendo-el-protocolo-de-interoperabilidad-de-sofia2-ssap/).

En la release 2.11 de Sofia2 se ha extendido el protocolo SSAP para poder hacer consultas sobre determinadas tablas de la Base de datos de configuración. En concreto, es posible consultar la información de los Tipos de Asset (tabla TipoAsset en BDC) existentes así como de los Assets (tabla Asset en BDC) asociados a Apps Sofia2 de las que el usuario sea propietario, o que hayan sido declarados como públicos por su propietario.

Un mensaje SSAP de este tipo consiste en un mensaje SSAP Query indicando:

  • queryType: enumerado BDC
  • query: Sentencia select sobre la tabla Asset o TipoAsset.

{

“body”:”{

“query”:”{select * from asset where identificacion=’tweets_sofia’}”,

“queryType”:”BDC

}”,

“direction”:”REQUEST“,

“messageId”:null,

“messageType”:”QUERY“,

“ontology”:null,

“sessionKey”:”<session_key>”

}

El resultado desde el SIB es una mensaje SSAP Query de respuesta, que incluye un array JSON con el resultado de la sentencia sobre la tabla Asset o TipoAsset:

{

“body”:”{

data“:”[

{ \”asset\”: {\”identificacion\”: \”tweets_sofia\”,\”responsable\”: \”\”,\”descripcion\”:
\”\”,\”publico\“:
true,\”tipoAsset\”: {\”identificacion\”: \”Twitter\”,\”urlImagen\”: \”\”,\”descripcion\”: \”\”},\”instanciaKp\”: {\”identificacion\”: \”kp_tweets_sofia_instance1\”,\”kp\”: {\”identificacion\”: \”kp_tweets_sofia\”,\”descripcion\”:
\”\”,\”propietario\”: {\”identificacion\”: \”sofia\”}}},\”tag\”: \”\”}}

]”,

                   “error”:null,

“errorCode”:null,

“ok”:true

}”,

“direction”:”RESPONSE“,

“messageId”:null,

“messageType”:”QUERY“,

“ontology”:null,

“sessionKey”:”<session_key>”

}

Asimismo, esta mima funcionalidad se ha incluido en las herramientas de la consola de administración de Sofia2 en http://sofia2.com/console

De este modo eligiendo la opción de menú Herramientas > Consola BDTR y BDH podemos ver que entre las bases de datos disponibles nos aparece la opción BDC y entre las tablas disponibles para consulta, nos aparecen las que almacenan la información de Assets y Tipos de Asset:

Una vez realizada la consulta, el resultado aparecerá formateado en JSON:

Consulta de Assets y Tipos de Asset a través del protocolo SSAP

Consultas geográficas: cómo obtener el punto más cercano a una posición

En Sofia2 se soporta consultas geográficas en formato SQL-LIKE y en formato nativo (dependiente de la BDTR subyacente, en el caso de la instancia de Sofia2 InCloud MongoDB).

La query en SQL para obtener el punto más cercano a 1 km de la coordenada (-8.4, 43.37):

select * from  FeedautobusGijon WHERE Feed.geometry S_near(ST_Point(-8.4, 43.37), 1000) limit 1;

Que se traduciría en lenguaje nativo MongoDB a esta:

db.FeedautobusGijon.find({“Feed.geometry”:{$near:{$geometry: {type: “Point”, coordinates: [-8.4, 43.37]},$maxDistance:  1000}}}).limit(1);

Consultas geográficas: cómo obtener el punto más cercano a una posición