Publicada Release 4.2 de Sofia2 IoT Platform

Ya está disponible la release 4.2 de Sofia2 IoT Platform (Minsait IoT Sofia2).

Esta release se ha disponibilizado en la Plataforma de Experimentación Sofia2 CloudLab.

Ver otras releases

Esta release incluye nuevos componentes y nuevas utilidades de apoyo al desarrollador de soluciones sobre la plataforma:

DESPLIEGUE DE APLICACIONES SPRING BOOT DESDE EL CONTROL PANEL

La Plataforma ahora permite desplegar aplicaciones Spring Boot simplemente subiéndolas a través del Control Panel, como se puede ver en la imagen:

Esta funcionalidad se ha implementado en KP-Container, de modo que ahora puede desplegar aplicaciones Python, Java y Spring Boot.

Además cuando esta aplicación Spring Boot actúa como un KP Sofia2 (es decir maneja ontologías) la plataforma es capaz de monitorizar por completo esta aplicación, a través de una instancia de Spring Boot Admin embebida en la plataforma.

NOTA: En el entorno de experimentación Sofia2 CloudLab sólo se permite al ROL ADMINISTRADOR desplegar aplicaciones Spring Boot. Pero en instancias dedicadas esta labor puede realizarla cualquier rol COLABORADOR.

SOPORTE MULTI-BDTR

El concepto de Ontología en la Plataforma consigue independizar la gestión de los datos del repositorio subyacente, de esta forma en Sofia2 puedo manejar una ontología de la misma forma aunque esta se almacene en la BDTR (por ejemplo en MongoDB o en un Postgresql) o bien en la BDH (Hadoop HIVE, Kudu, SAP HANA,…).

Hasta ahora una instalación Sofia2 sólo podía funcionar con una BDTR y con una BDH, es decir si usaba MongoDB como base de datos BDTR entonces todas las ontologías se almacenaban en esta base de datos. En esta versión añadimos la capacidad de que una misma instalación Sofia2 soporte diferentes BDTRs, de esta forma puedo seleccionar para cada ontología la base de datos sobre la que trabajará:

Con esto conseguimos que un mismo entorno Sofia2 pueda usar por ejemplo un HBase para almacenar datos de Logs, un MongoDB para datos IoT desde dispositivos Smart Home y un Postgresql para datos puros de gestión como clientes.

Se ha habilitado también una nueva opción de menú para guiar en la creación de ontologías desde una BD relacional:

EXPORTACIÓN E IMPORTACIÓN DE CONFIGURACIÓN Y DATOS DE LA PLATAFORMA

Esta utilidad ofrece un mecanismo para la importación y exportación de datos de configuración (usuarios, proyectos, ontologías, scripts,…) y de datos de negocio (instancias de ontologías).

De esta forma puedo de forma muy sencilla migrar una solución completa desde una instancia de desarrollo a una instancia de preproducción o producción.

Esta funcionalidad está accesible para cualquier rol COLABORADOR en la opción Herramientas > Exportar/Importar elementos

ESCRITORIOS SOFIA2

Los escritorios Sofia2 son aplicaciones Web que actúan como contenedores de otras aplicaciones web, que pueden ser proyectos web Sofia2, dashboards Sofia2 o aplicaciones externas. El escritorio gestiona la seguridad en el acceso a través de los usuarios de la plataforma.

Cualquier usuario COLABORADOR puede crear uno o más escritorios e ir añadiendo las aplicaciones que considere:

Dentro de un escritorio tenemos aplicaciones, que por defecto se abren como una pestaña:

Y widgets que se abren como un popup:

NUEVO ROL SYS_ADMIN

Hemos añadido un nuevo rol SYS_ADMIN que permite administrar una instalación de Sofia2 desde el propio Control Panel.

Por ejemplo, ahora las configuraciones de los diferentes DataSources gestionados en la plataforma los da de alta este rol:

GUÍA DE DESARROLLO DE SOLUCIONES

Uno de los objetivos fundacionales de la Plataforma Sofia2 fue simplificar y agilizar el desarrollo de todo tipo de aplicaciones, desde aplicaciones IoT en las que intervienen Gateways o dispositivos móviles a grandes sistemas Big Data, sin olvidar las aplicaciones web puras de gestión, para las que Sofia2 es un facilitador.

En este ámbito se ha añadido en la sección de Documentación una nueva guía que explica paso a paso cómo construir aplicaciones web (en la guía basadas en Spring Boot y Angular):

Complementando la guía se ha generado un entorno de desarrollo empaquetado como un ZIP que contiene todas las herramientas necesarias para construir estas soluciones (incluyendo JVM Java, IDE Eclipse, Maven, Apache Tomcat,…)

INTEGRACIÓN CON GIT

Esta nueva funcionalidad permite la asociación de una instancia de SCM GIT con una instalación de la plataforma Sofia2, con el objetivo de poder utilizar dicho repositorio como repositorio SCM de los desarrollos/soluciones que se realizan sobre la plataforma.

DOCUMENTACIÓN DE LAS ONTOLOGÍAS

Las Ontologías son el core de la plataforma, componen el Modelo de Dominio que maneja una solución Sofia2.

Para mejorar el intercambio de información entre los diferentes roles y equipos que trabajan con la plataforma en esta versión se puede añadir una descripción a la ontología y a cada uno de los atributos que la componen.

Así como generar un informe en PDF de esta metainformación:

REVISIÓN DE ARQUITECTURA SOFIA2

Arrancamos en esta release un proceso de revisión y adecuación de la plataforma. Entre las líneas ya lanzadas tenemos:

· Reestructuración de proyectos Maven que componen el código fuente de la plataforma:

· Automatizacióncompleta de todos los despliegues de la plataforma con Jenkins

· Generación de Contenedores Docker de toda la plataforma

· Automatización de despliegue de entornos Piloto con Ansible: https://about.sofia2.com/2017/10/20/como-instalar-plataforma-sofia2-en-un-so-linux-centos-con-ansible/

Publicada Release 4.2 de Sofia2 IoT Platform

Sofia2 IoT Platform 4.2 Released

Sofia2 IoT Platform (Minsait IoT Sofia2) release 4.2 is now available.

This release is available on the experimentation platform Sofia2 CloudLab

See other releases

The release includes several new features and improvements. These are the most relevant among them:

SPRING BOOT APPLICATIONS DEPLOYMENT FROM CONTROL PANEL

The Platform now allows to deploy Spring Boot applications simply by uploading them through the Control Panel, as you can see in the image::

 

This functionality has been implemented in KP-Container, so you can now deploy Python, Java and Spring Boot applications.

In addition, when this Spring Boot application acts as a a Sofia2 KP (ie manages ontologies) the platform is able to fully monitor this application, through an instance of Spring Boot Admin embedded in the platform.

NOTE: In Sofia2 CloudLab experimentation environment, only the ROL ADMINISTRATOR is allowed to deploy Spring Boot applications. But in dedicated instances this work can be done by any COLLABORATING role.

MULTI-BDTR SUPPORT

The concept of Ontology in the Platform manages to make the data management of the underlying repository independent, so that in Sofia2 I can manage an ontology in the same way even if it is stored in the BDTR (for example in MongoDB or in a Postgresql) or in the BDH (Hadoop HIVE, Kudu, SAP HANA, …).

Until now, a Sofia2 installation could only work with a BDTR and with a BDH, that is, if it used MongoDB as a BDTR database, then all the ontologies were stored in this database. In this version we add the ability of the same Sofia2 installation to support different BDTRs, so I can select the database on which it will work for each ontology:

With this we get that the same Sofia2 environment can use for example an HBase to store data from Logs, a MongoDB for IoT data from Smart Home devices and a Postgresql for pure management data as clients.

A new menu option has also been enabled to guide the creation of ontologies from a relational database:

EXPORT AND IMPORTATION OF CONFIGURATION AND DATA FROM THE PLATFORM

This utility offers a mechanism for the import and export of data configuration (users, projects, ontologies, scripts, …) and business data (instances of ontologies). In this way I can very easily migrate a complete solution from a development instance to a preproduction or production instance. This functionality is accessible for any COLLABORATOR role in Tools> Export / Import

 

SOFIA2 DESKTOP

Sofia2 desktops are Web applications that act as containers for other web applications, which can be Sofia2 web projects, Sofia2 dashboards or external applications. The desktop manages access security through the users of the platform. Any COLLABORATOR user can create one or more desktops and add the applications they consider:

Inside a desktop we have applications, which by default open as a tab:

And widgets that open as a popup:

SYS_ADMIN NEW ROL

We have added a new SYS_ADMIN role that allows administering a Sofia2 installation from the Control Panel itself. For example, now the configurations of the different DataSources managed in the platform are registered in this role:

SOLUTION DEVELOPMENT GUIDE

One of the foundational objectives of the Sofia2 Platform was to simplify and speed up the development of all types of applications, from IoT applications involving Gateways or mobile devices to large Big Data systems, without forgetting pure web management applications, for which Sofia2 is a facilitator. In this area, a new guide that explains step by step “how to build web applications” (in the guide based on Spring Boot and Angular) has been added in the Documentation section:

Complementing the guide has generated a development environment packaged as a ZIP that contains all the necessary tools to build these solutions (including JVM Java, IDE Eclipse, Maven, Apache Tomcat, …)

INTEGRATION WITH GIT

This new functionality allows the association of an instance of SCM GIT with an installation of the platform Sofia2, with the aim of being able to use this repository as SCM repository of the developments / solutions that are carried out on the platform.

ONTOLOGIES DOCUMENTATION

The Ontologies are the core of the platform, they make up the Domain Model that manages a Sofia2 solution. To improve the exchange of information between the different roles and teams that work with the platform in this version, a description can be added to the ontology and to each of the attributes that comprise it.

As well as generate a PDF report of this metainformation:

REVISION OF SOFIA2 ARCHITECTURE

We start in this release a process of revision and adaptation of the platform. Among the lines already launched we have:

· Restructuring of Maven projects that make up the source code of the platform:

 

· Full automation of all platform deployments with Jenkins

 

· Generation of Docker Containers of the entire platform

· Automation of deployment of Pilot environments with Ansible: https://about.sofia2.com/2017/10/20/como-instalar-plataforma-sofia2-en-un-so-linux-centos-con-ansible/

Sofia2 IoT Platform 4.2 Released

10 Tendencias Tecnológicas para 2018 según Gartner: Intelligent (II)

Continuando con el post 10 Tendencias Tecnológicas para 2018 según Gartner (I) hoy la primera tendencia: Intelligent:

Tendencia nº 1: AI Foundations

El uso de la Inteligencia Artificial (IA) para mejorar la toma de decisiones, reinventar modelos de negocios y ecosistemas, y rehacer la experiencia del cliente impulsará iniciativas digitales hasta 2025.

Está claro que el interés en IA está creciendo. Una encuesta reciente de Gartner mostró que el 59% de las organizaciones aún están recopilando información para construir sus estrategias IA, mientras que el resto ya ha avanzado en la experimentación o la adopción de soluciones de IA.

Aunque el uso correcto de AI tendrá grandes recompensas, la promesa de la inteligencia artificial general donde los sistemas realizan mágicamente cualquier tarea intelectual que un ser humano puede hacer y dinámicamente aprenden tanto como los humanos son especulativos en el mejor de los casos. Narrow AI , que consiste en soluciones de aprendizaje automático que se dirigen a una tarea específica (como entender el lenguaje o conducir un vehículo en un entorno controlado) con algoritmos elegidos que están optimizados para esa tarea, es donde está el foco hoy.

"Las empresas deben centrarse en los resultados empresariales habilitados por los sistemas que explotan las tecnologías de inteligencia artificial y dejar el AI genérico en manos de los investigadores y escritores de ciencia ficción", dice Cearley.

Tendencia nº 2: Aplicaciones inteligentes y analítica

En los próximos años, cada App, web y servicio incorporará inteligencia artificial en algún nivel. AI se integrará en el contexto de muchas categorías de aplicaciones y dará lugar a otras completamente nuevas. AI se ha convertido en el próximo gran campo de batalla en una amplia gama de mercados de software y servicios.

Las aplicaciones inteligentes también crean una nueva capa intermedia inteligente entre personas y sistemas y tienen el potencial de transformar la naturaleza del trabajo y la estructura del lugar de trabajo, como se ve en asistentes de clientes virtuales y asesores y asistentes empresariales.

"Explorar aplicaciones inteligentes como una forma de aumentar la actividad humana, y no simplemente como una forma de reemplazar a las personas".

Augmented analytics es un área de crecimiento particularmente estratégica que utiliza el aprendizaje automático para automatizar la preparación de datos, el descubrimiento de conocimiento y el intercambio de información para una amplia gama de usuarios empresariales, trabajadores operativos y científicos de datos.

Tendencia n. ° 3: Cosas inteligentes

Las cosas inteligentes usan AI y Machine Learning para interactuar de una manera más inteligente con las personas y el entorno. Algunas cosas inteligentes no existirían sin AI, pero otras son cosas existentes (una cámara) que AI hace inteligente (una cámara inteligente).

Estas cosas funcionan de forma semiautónoma o autónomamente en un entorno sin supervisión para completar una tarea en particular (un vehículo agrícola autónomo). A medida que la tecnología se desarrolle, la IA y el aprendizaje automático aparecerán cada vez más en una variedad de objetos que van desde equipos médicos inteligentes hasta robots de cosecha autónomos.

A medida que proliferen las cosas inteligentes se construirán entornos colaborativos de cosas inteligentes. En este modelo, los dispositivos múltiples trabajarán juntos, independientemente o con el feedback humano.

[Category Gartner, Tecnología,ES]

10 Tendencias Tecnológicas para 2018 según Gartner: Intelligent (II)

IDC Technology Spotlight: The Power of the Platform in Smart Cities

Blog de Sofia2 IoT Platform

La lectura de este spotlight de IDC:

me ha hecho recordar los retos a los que nos enfrentamos cada vez que nuestra Plataforma Sofia2 a través de su personalización Indra Sofia2 Smart City Platform se implanta en una ciudad.

El autor explica y justifica la importancia de una Plataforma Smart City en el contexto de una ciudad inteligente:

La misión de una Smart City es la transformación digital enfocada a conseguir mejorar el desarrollo económico, la sostenibilidad y la operación de la ciudad y la mejorar de la calidad de vida de los residentes.

Las tecnologías emergentes son fundamentales para conseguir estos resultados, concretamente las ciudades inteligentes deben aprovechar los datos de los dispositivos, redes, infraestructura, aplicaciones para desarrollar nuevos conocimientos y nuevos productos y servicios.

Las plataformas Smart Cities son un mecanismo clave para integrar tecnologías, habilitar el desarrollo rápido de nuevas aplicaciones y crear un ecosistema conectado.

¿Qué…

Ver la entrada original 1.180 palabras más

IDC Technology Spotlight: The Power of the Platform in Smart Cities

¿Cómo invocar a un API REST externa desde el motor de flujos Sofia2?

En este ejemplo vamos a invocar a un API Externa desde el motor de flujos integrado en la plataforma.

En la versión 3.4 de Sofia2 se integró Node-RED como motor de flujos (post aquí), una funcionalidad típica a implementar desde esta programación visual es la de invocar a un API REST externa para posteriormente procesarlo en la plataforma (almacenarlo en la BDTR, hacer analítica, representarlo,…)

En el ejemplo invocaremos al API de Análisis del Sentimiento de MeaningCloud (qué es MeaningCloud). MeaningCloud es un Servicio Web que ofrece APIs (https://www.meaningcloud.com/developer/apis) que pueden invocarse vía REST con el token que nos dan tras registrarnos. Queremos probar este API:

Para poder crear un flujo Node-RED en Sofia2 tengo que seguir estos pasos:

1. Primero debo crear un proyecto, para eso desde

selecciono

2. Dentro del proyecto debo ir a la opción y crear un dominio:

3. Una vez creado el dominio ya puedo ir a Mis Flujos:

Donde veré mi Dominio, que puedo arrancar o parar desde

4. Una vez arrancado el dominio abajo veré Mis Flujos:

Desde donde puedo ir a

5. Una vez dentro de mi dominio Node-red podré crear los flujos que necesite:

Hemos creado un flujo muy sencillo, que luego habría que completar con el procesamiento completo (que se ejecute en cierto momento y que guarde los datos).

El nodo principal es este: que realiza la llamada al API:

El nodo anterior se encarga de pasar los parámetros:

Entre ellos el key para poder invocarlo, el texto a analizar, lenguaje y las headers para poder invocarlo.

A la salida hemos puesto un nodo Debug que nos permite ver el resultado de la invocación:

Como podéis ver, el resultado me da esto:

{
"status":{
"code":"0",
"msg":"OK",
"credits":"1",
"remaining_credits":"19974"
},
"model":"general_es",
"score_tag":"P",
"agreement":"AGREEMENT",
"subjectivity":"OBJECTIVE",
"confidence":"100",
"irony":"NONIRONIC",
"sentence_list":[
{
"text":"A ver si esto te parece positivo",
"inip":"0",
"endp":"31",
"bop":"y",
"confidence":"100",
"score_tag":"P",
"agreement":"AGREEMENT",
"segment_list":[
{
"text":"A ver si esto te parece positivo",
"segment_type":"main",
"inip":"0",
"endp":"31",
"confidence":"100",
"score_tag":"P",
"agreement":"AGREEMENT",
"polarity_term_list":[
{
"text":"positivo",
"inip":"24",
"endp":"31",
"confidence":"100",
"score_tag":"P"
}
]
}
],
"sentimented_entity_list":[

],
"sentimented_concept_list":[

]
}
],
"sentimented_entity_list":[

],
"sentimented_concept_list":[

]
}

Podemos ver la documentación del API para entender bien el significado de los conceptos: https://www.meaningcloud.com/developer/sentiment-analysis/doc/2.1/response

¿Cómo invocar a un API REST externa desde el motor de flujos Sofia2?

10 Tendencias Tecnológicas para 2018 según Gartner (I)

Gartner llama Intelligent Digital Mesh a la malla colaborativa entre personas, dispositivos, contenido y servicios.. Esta malla está habilitada por modelos digitales, plataformas de negocios y un conjunto rico e inteligente de servicios para soportar el negocio digital.

Donde:

Intelligent: cómo el AI se está filtrando a través de cualquier tecnología para permitir construir sistemas más dinámicos y flexibles.

Digital: Meclando los mundos rales y virtuales para crear en entorno digital conectado

Mesh: las conexiones entre las personas, negocios, dispositivos, contenido y servicios para serir los resultados digitales

[Category Gartner, Tecnología]

10 Tendencias Tecnológicas para 2018 según Gartner (I)