Gestión de sesiones SSAP

Uno de los principales retos de la plataforma Sofia2 es poder operar tanto en entornos controlados, por ejemplo como solución empresarial de integración, donde cada aplicación cliente de la plataforma es conocido y desarrollado bajo estricto control, como en entornos públicos y abiertos, por ejemplo como plataforma ciudadana Smart City, sirviendo de motor para que ciudadanos y pequeñas empresas puedan desarrollar sus propias aplicaciones sobre la plataforma, con una mínima intervención de los órganos de gobierno de la misma.

En Sofia2, cada sesión de cliente necesita un mínimo de recursos en el servidor, de manera que para dotar a la plataforma de la capacidad de poder ser expuesto en un entorno público y abierto, y gestionar el dimensionamiento de los recursos que necesitará para operar correctamente, se ha incluido en la Release 2.17 el control de gestión de sesiones SSAP. De este modo, para cada app cliente (KP) se puede limitar si se desea el número de sesiones abiertas concurrentemente, pudiendo decidir la política a seguir una vez alcanzado el máximo número de sesiones abiertas entre: Caducidad LRU, caducando la sesión que hace más tiempo que no se utiliza, o Denegación, denegando nuevas sesiones hasta que se cierre o caduque alguna de las ya existentes.

Con este nuevo elemento de control, Sofia2 se blinda tanto de clientes que pudieran hacer un uso abusivo de la plataforma, como de clientes que por una mala programación hagan una mala gestión de la sesión SSAP, abriendo nuevas sesiones indiscriminadamente.

Gestión de sesiones SSAP

Adaptador HL7

En esta release se añade una primera versión de un conector para dispositivos que envíen medidas en el estándar clínico HL7, en concreto para los mensajes de tipo ORU (Observation Result Unsolicited)

El Gateway expone mediante un servicio REST en el SIB una operación de envío de medidas con este estándar, transformándolo al formato json y al protocolo SSAP, para de esta manera ser almacenado en una ontología de Sofia2 (HL7ORU01) y devolver el ACK esperado por el dispositivo, también en el estándar HL7.

resthl7       collectionhl7

Adaptador HL7

Demostrador iBeacon

En la última release de Sofia2, la 2.17, se ha incluido un nuevo demostrador, en el que podremos ver las capacidades de la plataforma Sofia2, para manejar e integrarse de forma sencilla con los iBeacons. La demo es un control de paso básico que detecta la entrada o salida de las personas a partir de una APP en su teléfono Android.

Brevemente, los iBeacons (o Beacons), son pequeños y sencillos dispositivos bluetooth 4.0 (BLE, Bluetooth Low Energy) que actúan de forma similar a una baliza, con una gran duración de batería (del orden de años) y con los que se pueden comunicar dispositivos con el mismo standard Bluetooth 4.0, aunque está principalmente orientado a teléfonos móviles. Algunos ejemplos de uso son: detectores de presencia, distancia e incluso geoposicionamiento indoor.

Esta demo, se compone de una APP de Android, que es la encargada de comunicarse con Sofia2 y los Beacons, junto con un Dashboard que es en el que se visualizan los contadores de paso y las personas que hay en el interior.

En la APP de Android se tendrá que activar el Bluetooth en un dispositivo con Android 4.3 o superior y Bluetooth 4.0. Dentro de la APP, se buscarán y seleccionarán dos iBeacons cercanos y previamente colocados, uno de ellos se asociará con la parte inicial de una entrada y otro con la parte final de la misma. También, deberá seleccionarse la entrada que se detectará por la APP. Una vez realizado esto, se podrá establecer una conexión con Sofia2.

En el Dashboard se seleccionará la entrada que se representará y se pulsará el botón de conexión con el SIB. Con esto se visualizarán las entradas, salidas y personas que hay en el interior en tiempo real.

Este Dashboard lo podremos encontrar en la zona de demostradores de la web o directamente a través de este enlace:

Dentro del mismo, podremos descargar tanto el código fuente tanto de la aplicación Android, como del Dashboard o directamente desde aquí:

Demostrador iBeacon

Incorporación de red social Facebook a capacidades Social Media de la Plataforma

Se amplían las funcionalidades de Redes Sociales en el apartado de Social Media en la Release 2.17 de Sofia.

Búsqueda de páginas Facebook: A partir de un formulario incial, podemos buscar páginas de Facebook. Para cada página se obtiene información básica como nombre de la página, imagen de perfil, cantidad de Likes, y el acceso a “TimeLine” de post pertenecientes a ésa página en concreto.

Además es posible almacenar las búsquedas en la Base de datos de Sofia.

Clicando en el botón del TimeLine una página de Facebook, se obtiene la lista de los últimos posts publicados en esa página.

Para cada Post se obtiene nombre de la persona que lo ha publicado, imagen de perfil, texto del post incluyendo la muestra de imágenes incorporadas en el post, la cantidad de Likes, cantidad comentarios adheridos, y la cantidad de republicaciones del propio post. Además es posible almacenar en Ontologías la información de post recibida.

Incorporación de red social Facebook a capacidades Social Media de la Plataforma

CRUD (Instancias) de Ontologías

En la realease 2.17 de sofia se ha incluido una herramienta en la consola que permite realizar CRUD (Create, Read, Update, Delete) de instancias de ontologías.

Se puede acceder desde el menú Ontologias>Crud ontologias desde la consola donde encontramos una tabla con la lista de ontologías sobre las que tenemos permisos.

Una vez seleccionada la ontología haciendo click en el icono “ver” nos permite lanzar una consulta (en nativo o SQL-Like) que nos devuelve las instancias encontradas en formato tabular.

Desde aquí puedo eliminar directamente un registro, seleccionar una instancia para editarla, o crear uno nuevo en un formulario generado a partir del esquema de la ontología:

El formulario se genera a partir del esquema de la ontología, mostrando la información definida en el esquema y resaltando los errores al introducir valores erróneos en el formulario.

Si los datos introducidos en el formulario son válidos, nos generará una instancia JSON válida para insertar un nuevo registro a la ontología o bien modificar uno existente si éste ha sido previamente seleccionado.

CRUD (Instancias) de Ontologías

Mejoras de estabilidad e Infraestructura del KP Modelo

El KPModelo es un software encargado de la ejecución y gestión de clientes Kps de alto nivel en la plataforma Sofia2.

Su finalidad es permitir el mantenimiento remoto de las AppModelo, centralizando su configuración y gestión de versiones en el SIB, facilitar el desarrollo de clientes aportando mecanismos para el control de errores, persistencia, suscripción y monitorización.

Durante la últimas releases se han realizado nuevas pruebas de rendimiento y estress ante situaciones no óptimas. Esta versión amplía considerablemente el conjunto de situaciones de recuperación de errores, haciendo uso de una nueva arquitectura encarada al almacenamiento muy flexible, que incorpora la tecnología de persistencia en memoria o en disco mediante la base de datos embebida H2.

Las mejoras en materia de rendimiento y escalabilidad que incluye esta versión eliminan la necesidad de recurrir a alternativas a medida y facilitan el desarrollo exclusivo de la lógica de negocio.

Entre las ventajas de esta versión se incluye:

Eliminacion de Leaks
Las pruebas realizadas al KpModelo permiten el funcionamiento continuado del Kp a lo largo del tiempo sin ninguna degradación de memoria. Se han realizado test en el KpMeteorologico de SmartCities Coruña durante las últimas semanas sin apreciar tendencia al alza del consumo en el Heap de Memoria.

Reducción de Memoria usada:
Se ha minimizado el uso de objetos en memoria mediante técnicas de reutilización de objetos. El KpModelo de la actual release es apto para desenvolverse en micro dispositivos con hasta 128megas de memoria sin ningún tipo de problema. Los tests realizados sobre el Kp Meteorologico de la Coruña ocupa una media menor de 30Mb no llegando nunca a superar los 35Mb.

Asimismo se ha realizado un ajuste detallado de los distintos espacios de memoria configurable en la máquina virtual.

Optimización del Rendimiento

En las modificaciones del Kp para la release se ha tenido especial cuidado en mantener los recursos en unos mínimos aceptables. La sostenibilidad de los recursos es un tema crítico dado que la mayoría dispositivos donde se ejecutará el KpModelo serán Gateways autónomos de difícil acceso y recuperación del software. Elementos como el uso mínimo de cpu y reutilización de hilos del sistema han sido mejorados y testeados a fondo.

Auditoría JMX: el marco de auditoría se incluyen todas las operaciones necesarias para hacer un seguimiento de las variables más importantes del sistema. Gracias a los endpoints JMX, los administradores pueden crear y filtrar las trazas de auditoría de las variables y operaciones del sistema.

Mejoras de estabilidad e Infraestructura del KP Modelo

Gestión de la Configuración de Software

En la versión 2.17 de Sofia2 se incorpora una nueva versión de la Gestión de la Configuración del Software.

Esta funcionalidad permite configurar las aplicaciones que se van a cargar en los distintos dispositivos. Existirá una configuración de aplicación SW (war a almacenar) y otra configuración aplicada a la parametrización.

En la consola, se accederá a la sección Gestión SW

Para crear una nueva Gestión de SW se accederá a la opción Mis Configuraciones SW. Se mostrará una pantalla con el listado de configuraciones SW y se pulsará sobre Crear Configuración.

La pantalla de creación constará de dos partes diferenciadas:

– La configuración de aplicación SW:

En esta sección se incorporará la aplicación a configurar, se incluirá un nombre, versión y una descripción.

– La gestión de la parametrización:

En esta sección se incorporará una descripción de la parametrización, así como los distintos parámetros configurables.

Una vez dada de alta, se podrán realizar modificaciones sobre la configuración. Si se modifican datos sobre la configuración de la aplicación SW se generará una nueva versión. Si se modifican datos de la gestión de la parametrización se generará una nueva versión de configuración de la parametrización. Pudiendo tener varias versiones de configuración de parametrización para la misma configuración de aplicación. Sólo una de dichas configuraciones estará activa.

En la pantalla de consulta se podrá activar la configuración de parametrización que se desee.

Una vez dada de alta, se podrá asignar a los distintos componentes las aplicaciones SW configuradas. La pantalla mostrará las aplicaciones disponibles, las versiones de configuración, el listado de kps y las instancias de dichos kps.

Cuando se seleccione una combinación de aplicación y versión se podrá asignar al KP o instancia seleccionado. Si se selecciona * aplicará a todos los elementos (Kps o Instancias).

Si se selecciona KP pero no instancia, la configuración de aplicación aplicará a todas las instancias de ese KP. Si se no se selecciona ni KP ni Instancia, se aplicará a todas las instancias de todos los KPs.

Si se asigna una nueva versión de APP a una combinación KP-InstanciaKP se borran las anteriores y se asigna la nueva.

Podrán asignarse varias Aplicaciones a la misma combinación KP-Instancia KP.

Gestión de la Configuración de Software