Soporte de norma AENOR UNE-178104 de Plataforma Integral de Ciudad Inteligente

Intro

En el marco de Estrategia de Normalización para las Ciudades Inteligentes, el Comité Técnico de Normalización sobre Ciudades Inteligentes (AEN/CTN 178) ha publicado un conjunto de normas entre la que está la norma UNE 178104 (Sistemas Integrales de Gestión de la Ciudad Inteligente).

Esta norma está orientada a definir las capacidades, componentes y requisitos de una Plataforma Integral de Ciudad como sistema centralizado de información y sus requisitos de interoperabilidad, en la que se establece la necesidad de una plataforma o sistema operativo de la ciudad que permita facilitar los servicios a los ciudadanos, a la vez que procurar la máxima eficiencia y una fácil integración en el entorno.

Como veremos, onesait Platform es una plataforma certificada bajo esta norma UNE.

La norma se centra en describir:

  • Visión funcional de la plataforma integral de la ciudad inteligente

  • Visión tecnológica de la plataforma integral de la ciudad inteligente

  • Métricas de la Plataforma Integral

Visión funcional de la plataforma integral de la ciudad inteligente

La evolución de las ciudades hacia el modelo de Ciudades Inteligentes tiene como principales objetivos ser más sostenibles (social, económica y medioambientalmente), más eficientes y mejorar la calidad de vida de los ciudadanos, mediante el uso de la tecnología.

La plataforma se constituye como elemento fundamental de una Ciudad Inteligente ya que es la pieza que orquesta todas estas funcionalidades/objetivos.

Una Plataforma Integral tiene como objetivo proporcionar una visión integrada de ciudad, de forma que su evolución contribuya a consolidarse como sistema nervioso de la ciudad ayudando a integrar los sistemas verticales ya existentes y futuros que atienden las necesidades de las ciudades (movilidad, ambiental, gobierno, personas…) en un sistema único transversal de la ciudad que constituya una verdadera ciudad inteligente, al funcionar como un todo.

Visión tecnológica de la plataforma integral de la ciudad inteligente

Debe tenerse en cuenta que la Plataforma Integral está soportando la Ciudad Inteligente y que por tanto los requisitos técnicos que deben exigirse a esta Plataforma deben ser completos y exigentes:

En la Visión Tecnológica tenemos un conjunto de Requisitos técnicos exigibles a una Plataforma Integral, que son:

  • Horizontalidad: capacidad de soporte de diferentes ámbitos de aplicación, de manera que sea posible la implementación simultánea de múltiples servicios en la misma infraestructura.

  • Interoperabilidad: capacidad de soporte de diferentes tecnologías, dispositivos y mecanismos de captura de infor­mación, y estándares de comunicación, así como otros sistemas de información internos/corporativos y/o externos.

  • Rendimiento: habilidad del sistema para manejar en tiempo real un elevado número de dispositivos, servicios y procesos de manera eficiente.

  • Escalabilidad: capacidad de poder incrementar capacidad de proceso y almacenamiento sin tener que modificar la arquitectura.

  • Robustez y Resiliencia: capacidad para seguir funcionando ante problemas.

  • Seguridad: garantías del sistema en cuanto a seguridad, privacidad y confianza se refiere.

  • Modularidad: la plataforma debe tener un enfoque modular que permita desplegarla por partes (por ejemplo, módulo Big Data) de forma sencilla.

  • Continuidad operativa o disponibilidad: capacidad del sistema para estar operativo en cualquier momento.

  • Capacidad de Recuperación: capacidad para gestionar de forma eficiente los fallos que puedan afectar a la disponibilidad.

  • Flexibilidad: habilidad de la plataforma para funcionar con diferentes servicios inteligentes de ciudad.

  • Extensibilidad: capacidad de la plataforma para poder ampliarse para dar soporte a nuevas necesidades.

  • Semántica: el uso de conceptos semánticos en la Plataforma permite la interoperabilidad entre plataformas y por tanto entre ciudades.

  • Capacidades Big Data: para integrar un gran cantidad de datos generados desde múltiples fuentes y con diferentes estructuras.

  • Basada en estándares abiertos: lo que simplifica la integración con otras plataformas y el desarrollo de aplicaciones sobre la Plataforma que puedan ser reusables y portables entre diferentes plataformas.

  • Evolucionable: facilitando su capacidad de extensión en el futuro mediante estándares ampliamente adoptados.

  • Integral: la plataforma debe trabajar como un todo, no como piezas desacopladas que no están preparadas para trabajar en conjunto.

  • Operable y gestionable: la plataforma debe poder gestionarse, operar, mantenerse e instalarse de forma sencilla.

Vista de Capas de la Plataforma

El modelo de Capas ayuda a establecer las responsabilidades funcionales de cada nivel.

Esto lleva a modelar la Plataforma Integral en las siguiente Capas que describen lógicamente el tratamiento de la información, dejando fuera toda la parte de infraestructura:

  • Sistemas de Captación: los forman tanto las redes sensores/actuadores gestionadas por la Ciudad (semáforos, riego parques, etc.) como dispositivos de los ciudadanos (móviles, etc.), sistemas IT externos, redes sociales, etc.

  • Capa de Adquisición/Interconexión: ofrece los mecanismos para la captación de los datos desde los Sistemas de Captación. También es la encargada de permitir la interconexión con otros sistemas externos que sólo consuman datos. Abstrae la información de los Sistemas de Captación con un enfoque semántico estándar.

  • Capa de Conocimiento: ofrece el soporte para el procesado de los datos, la incorporación de valor y la transformación de servicio. Recibe datos tanto de la Capa de Adquisición (sensores) como de la Capa de Interoperabilidad. En esta capa pueden encontrarse las funcionalidades que permitan el movimiento de datos escalable (con un conjunto de APIs unificadas para que interaccionen todos los elementos) y el resto de las funciones de tratamiento y análisis de los datos para generar nuevos datasets o modificar/completar los existentes.

  • Capa de Interoperabilidad: facilita la prestación de los servicios en el ámbito de la Ciudad Inteligente. Ofrece interfaces sobre la Capa de Conocimiento estableciendo políticas de seguridad. Ofrece conectores para que sistemas externos puedan acceder a la Plataforma y viceversa. Permite construir servicios a partir de los datos de la Plataforma. Para ello una de las APIs ofrecidas a los desarrolladores debe ser la API nativa de acceso a los datos de la capa de conocimiento (por ejemplo: la API del bróker de datos descrito en el punto anterior).

  • Capa de Servicios Inteligentes: se trata de Servicios Municipales conectados a través de la plataforma de interoperabilidad y de los APIs provistos. Estas aplicaciones podrán estar corriendo sobre la Plataforma o ser servicios externos que publican o consumen información. Podrán ser desarrollados por los mismos o por otros agentes. Podrá ofrecer APIs complementarias a los desarrolladores, adicionales a las descritas anteriormente.

  • Capa de Soporte: esta capa transversal da soporte al resto de funcionalidades ofreciendo servicios como auditoría, monitorización, seguridad, etc.

Mapeo Arquitectura con Capas Modelo UNE

A partir de a arquitectura de la plataforma podemos mapear los diferentes componentes de la plataforma con las capas de la norma:

 

  • CAPA DE ADQUISICIÓN/INTERCONEXIÓN: Módulos desde los que es posible alimentar a la plataforma en función de la tipología u origen de los datos. Son:

    • IoT Broker: Broker de procesamiento de mensajes de la plataforma. 

    • Data Flow: Flujos ETL que alimentan la plataforma desde fuentes de datos externas.

    • Digital Twin Broker: Broker de conexión de aplicaciones o sistemas físicos, modelados en la plataforma mediante el paradigma de Digital Twin.

    • Video Broker: Broker para recepción de video.

 

  • CAPA DE CONOCIMIENTO: Módulos que almacenan, dan acceso y procesan información 

    • Semantic Data Hub: Agrupa todos los recursos de almacenamiento de la plataforma, tanto de operación (Tiempo Real) como históricos.

    • Query Engine: Proporciona soporte para ejecutar consultas Nativas y SQL sobre los datos almacenados en la plataforma. 

    • Flow Engine: Motor de flujos de la plataforma, permite programar de forma visual los flujos de información en la plataforma. 

    • Digital Twin Orchestrator: Proporciona un orquestador para gestionar flujos de información que involucren sistemas externos modelados como Digital Twin.

    • SQL Streaming Engine: Permite realizar procesamiento de flujos (stream processing) sobre Kafka utilizando lenguaje SQL para realizar sobre el flujo filtrado de datos, transformaciones, joins, agregaciones temporales…

    • KPIs Engine: Generación de Indicadores KPI agregando en ventanas temporales información de entidades almacenadas en la plataforma.

    • Notebooks & Models: Entorno para el desarrollo y ejecución de algoritmos y modelos predictivos. 

    • Dashboard Engine: Soporte para generar y visualizar de forma gráfica la información almacenada en la platafoma.

 

  • CAPA DE INTEROPERABILIDAD: Modulos que exponen información de forma abierta y normalizada:

    • Api Manager: Ofrece acceso a la información publicada en la plataforma exponiéndola como APIs REST.

    • Open Data: Integración con el portal Open Data CKAN, exponiendo la información deseada como recursos CKAN.

    • Data Link: Proporciona acceso a las Bases de datos de la plataforma vía JDBC/ODBC para su explotación por herramientas BI.

    • Motor de Informes: Generador de informes predefinidos mediante una plantilla, utilizando la información existente en la plataforma

 

  • CAPA DE SERVICIOS : Aplicaciones y sistemas desarrollados sobre la plataforma, que proporcionan servicios de negocio especializados.

    • Smart Waste: Solución de gestión de Residuos urbanos de Minsait

    • Cityland Scape Manager: Solución smartcity de Minsait para gestión centralizada y en tiempo real de los distintos verticales de la ciudad, incluyendo capacidades analíticas y de cuadro de mando.

    • Smart Destination Manager: Solución smartcity de Minsait enfocada en la gestión de activos y campañas turísticas, así como capacidades analíticas y desarrollo de cuadros de mando. 

    • MLM: Solución de gestión de edificios públicos integrando analítica de video, voz y control de paso



  • CAPA DE SOPORTE: Módulos que proporcionan servicios transversales a la plataforma.

    • Accesss Manager: Proporciona servicios de autenticación y seguridad en los diferentes módulos. 

    • Control Panel + API REST: Panel de control de la plataforma desde el que es posible gestionar todos los elementos y conceptos. 

    • Config DB: Base de datos de configuración.

    • Migration Tools: Utilidades de Migración y generación de backups.

    • Audit: Consulta de eventos de auditoria de todos los módulos de la plataforma.

    • Monitoring Tools: Consola de monitorización de todos los módulos. Y Servicios JMX para integración con herramientas de monitorización.

    • Webapps Manager: Gestión y serviciado de aplicaciones web desarrolladas sobre la plataforma.

    • SDK: Kit de desarrollo y APIs multilenguaje para el desarrollo de aplicaciones.

Protocolos IoT soportados

Los Protocolos IoT soportados por la plataforma de ciudad inteligente deben basarse en protocolos y tecnologías estándares.

La capa de protocolos del IoTBroker se compone de plugins que pueden ser desarrollados ad-hoc en función del tipo de dispositivo o sistema a conectar.

Los gateways de referencia actualmente dan soporte a los siguientes protocolos:

  • MQTT: Protocolo de mensajería bidireccional (Publicación-Suscripción), que funciona sobre TCP/IP. Adecuado para comunicaciones. Proporciona baja sobrecarga por cabeceras, lo que lo hace adecuado para dispositivos de capacidades reducidas. No obstante se puede utilizar en cualquier tipo de sistema, ya que soporta un tamaño máximo de mensaje de 256 Mb.

  • REST: Protocolo cliente-servidor sin estado que funciona sobre HTTP. Es el estándar de facto de la web.

  • Websocket: Protocolo de comunicación que proporciona un canal de comunicación bidireccional, via HTTP.

  • AMQP: Protocolo de mensajería con soporte para comunicación mediante colas como como comunicación bidireccional (Publicación-Suscripción), que funciona sobre protocolo TCPI/IP. Al igual que MQTT es muy ligero, lo que lo hace adecuado para dispositivos de capacidades reducidas.

  • CoAP: Protocolo de comunicación basado en el modelo REST, pero diseñado para M2M y uso en dispositivos con restricciones de procesamiento.

  • Kafka: protocolo adecuado para escenarios Big Data con alta concurrencia.

Inclusión capacidades GIS

Desde la plataforma se proporcionan diferentes capacidades GIS:

  • Almacenamiento georreferenciado de la información: Las entidades de datos modeladas en la plataforma como documentos JSON, soportan el estandar GeoJSON, de forma que es posible almacenar la información georeferenciada con cualquiera de los tipos del estándar (Puntos, Lineas, Poligonos…)

  • Soporte a consultas geográficas: Varios de los SGBD (MongoDB, ElasticSearch, PostgreSQL) sobre los que su sustenta la operación en Tiempo Real de la plataforma soportan índices y consultas geográficas que los usuarios y aplicaciones pueden ejecutar.

  • Visores GIS: Generación de visores GIS en HTML5, en tecnologías como CesiumJS y Leaflet (ampliable a otras tecnologías basadas en HTML5), configurados para representar diferentes capas:

    • Capa Base: Cartografía base del mapa, seleccionable de una galería configurable (Open Street maps, ESRI Street maps…)

    • Capas de tipo entidad de datos: Capas que representan entidades de datos (ontologías) almacenadas en la plataforma. Cualquier tipo de datos en la plataforma, que esté georeferenciado con un campo de tipo GeoJson se puede exponer como capa en un Visor GIS.

    • Mapas de calor: Representación de mapas de calor a partir de entidades de datos almacenadas en la plataforma. De nuevo cualquier tipo de datos en la plataforma, georreferenciado con un campo de tipo GeoJson y con un atributo que permita interpolar la nube de calor, se puede exponer como una capa en un Visor GIS.

    • Capas Externas: Capas provenientes de un servicio KML, WMS…

  • Serviciado y generación de código: Los visores GIS de la plataforma, para su integración en otras aplicaciones se pueden serviciar desde la propia plataforma, ofreciéndolos en una URL integrando seguridad. O se pueden exportar a código Javascript para ser integrados en la propia aplicación.

  • Integración en Dashboards con Drill Down: Como soporte a la toma de decisiones, los visores GIS se pueden integrar en los Dashboards de plataforma, para componer cuadros de mando que se complementen con información georeferenciada, permitiendo la interacción desde el visor con otros elementos del Dashboard, para proporcionar capacidades de filtro.

Enfoque Open Data: Difusión de información pública en tiempo real

La plataforma de ciudad inteligente debe permitir transmitir la información de manera abierta, fidedigna y de calidad.  Esta información debe ser publicada en formato estándar para permitir el acceso desde múltiples dispositivos. Esta información que debemos publicar puede ser usada en portales de transparencia, open data o para otros servicios públicos.

Dos módulos de la plataforma proporcionan acceso a información categorizada como pública en la plataforma en tiempo real, para su explotación por ciudadanos, organizaciones externas u otros servicios públicos. Ambas se basan en protocolos estandarizados del mercado (REST/HTTP, JSON, XML, CSV…):

  • API Manager: Ofrece acceso a la plataforma gestionando la información como APIs REST. De forma que la información puede ser consultada utilizando protocolo y métodos HTTP.

REST es uno de los estándares de integración más difundidos en la actualidad, soportándose en multitud de productos y aceptándose ampliamente en integración de aplicaciones y sistemas de cualquier tipo.

Cada entidad de información en la plataforma puede ser expuesta como un API REST independiente del resto de APIs, de forma que se pueden aplicar distintas políticas de disponibilidad y reglas de seguridad en el acceso a la información, en función del sistema, persona u organización que consuma el API. 

Se pueden aplicar reglas de procesamiento en el acceso a la información en cada operación de un API, de manera que pueda ser filtrado, enriquecido o preparado para su consumo, permitiendo realizar un pre-procesamiento: Editando la sentencia SQL que filtre el resultado y un post-procesamiento: Aplicando un procesamiento en Javascript, customizado para la operación, de forma que se transforme la respuesta que va a recibir el sistema cliente.

  • Open Data: la plataforma está integrada con el portal Open Data CKAN. Se trata del portal Open Data más difundido en la administración pública. Desde la plataforma, un usuario con permisos puede crear nuevos Datasets (Directorios) dentro del portal Open Data, así como visualizar los existentes en la actualidad. 

Toda la información almacenada en las Bases de datos de la plataforma se puede exportar a recursos (ficheros) en el portal Open Data para que quede disponible a los usuarios de este.

La exportación de información al portal Open Data se puede hacer de forma explícita o periódica/programada. En ambos casos se configura mediante una sentencia SQL sobre la base de datos de plataforma a la que se puede aplicar una transformación. Por defecto se exporta en JSON, pero se pueden elegir otros formatos (XML y CSV), así como aplicarle plugins personalizados de transformación.

La seguridad de la información en el portal depende de la accesibilidad a los recursos que configure un administrador. Un usuario de la plataforma nunca podrá exponer información a la que no tiene permiso en plataforma, del mismo modo que únicamente será pública aquella información que se ha desplegado en CKAN como tal.

Reporting

En el ámbito de Reporting y visualización la plataforma ofrece:

  • Motor de Informes: Generación de informes integrados en la plataforma. Permite crear informes con la información almacenada en la plataforma, a partir de plantillas cargadas por los usuarios.

El motor de informes está basado en Jasper Reports, tecnología de referencia en el ámbito de la creación de informes y ampliamente implantada en la mayoría de las organizaciones debido a la cantidad de herramientas de elaboración de plantillas y de informes que la utiliza.

La plataforma soporta la conexión de herramientas de creación tanto de plantillas como de informes, a través de APIs REST y conectores a las bases de datos. Una vez creada la plantilla, se puede cargar en la plataforma para automatizar la creación de informes en diferentes formatos: PDF, HTML, XLS, CSV, XML…

Una vez generado un informe en plataforma, se puede automatizar su almacenamiento en la propia plataforma. Serviciado, poniéndolos a disposición de los usuarios autorizados. Envío, publicación del informe vía Mail, envío como adjunto a un servicio externo…

El motor de informes está integrado con el motor de flujos de la plataforma, de manera que se desde este se puede orquestar la generación de informes e incluirlos en el proceso de un flujo de trabajo.

  • Motor de Dashboards Soporte para la generación y visualización de Dashboards web en HTML 5 para visualizar la información almacenada en la plataforma mediante componentes gráficos como diagramas de diversos tipos, gráficas, tablas o incluso componentes customizados en HTML que se pueden realizar bajo demanda.

Se trata de un entorno de desarrollo en el que sin necesidad de programar, se pueden componer pantallas interactivas que permiten consultar y filtrar la información de la plataforma.

Permite visualizar y relacionar gráficamente tanto la información existente en la plataforma, como el resultado de la ejecución de notebooks y modelos, KPIs…

Perfilado de usuarios en la Plataforma

Entendiendo la plataforma de ciudad inteligente como nuevo core dentro de la ciudad, donde se dispone de toda la información centralizada, es clave asegurar la privacidad y seguridad de los datos almacenados y/o gestionados dentro de la misma.

En un entorno compartido de recursos como son las ciudades inteligentes debe garantizarse en envío y recepción segura de datos, autenticando los elementos que generan los datos de los que se alimenta la plataforma y los aplicativos que vayan a leer de ella.

Los usuarios de la plataforma van a ser personas o aplicaciones, por ello debe ser posible clasificar el tipo acceso en función del rol que desempeña dentro del sistema, limitando la información que visualizará cada uno de los usuarios, los informes y cuadros de mando que le serán visibles y las acciones que puede realizar dentro de la plataforma.

La plataforma soporta distintos roles dependiendo de la utilización que cada usuario vaya a hacer de la misma y de su información.

Todos los elementos de la plataforma están securizados por un servidor OAuth de manera que por defecto proporciona el modelo de seguridad nativo de la plataforma, pero que es extensible mediante plugins para conectar con los servicios de directorio o autenticación existentes o demandados por la organización.

Los roles contemplados son:

  • Administrator: Corresponde a un administrador de la plataforma

  • Analytics: Perfil DataScientist, habilitándosele herramientas específicas.

  • DataViewer: Perfil de consulta de datos y visualizaciones en dashboards

  • Developer: Desarrollador de proyectos sobre la plataforma.

  • DevOps y Operations: Perfiles de soporte a desarrollo y operaciones de proyectos sobre la plataforma.

  • Partner: Socio de plataforma, es el propietario de un producto de comercialización conjunta.

  • SysAdmin: Administrador del sistema. Puede realizar ciertas modificaciones de configuración.

  • User: Usuario sin privilegios, básicamente puede consultar elementos a los que otros usuarios le hayan dado permiso.

Otro criterio interesante en este ámbito de la autenticación y el perfilado, es que la plataforma como elemento de soporte al desarrollo de aplicaciones, proporciona el concepto de Proyecto y Realm.

Un Proyecto proporciona a un grupo de usuarios involucrados en un mismo proyecto de desarrollo, un entorno colaborativo sobre la plataforma en el que comparten los distintos elementos asociados al proyecto (Entidades de datos, modelos de dispositivos, Dashborads…). Asociado al proyecto, se puede crear lo que se denomina Realm. Un Realm proporciona desde plataforma la infraestructura de autenticación y perfilado al proyecto, incluyendo:

  • Definición de los roles específicos del proyecto (Independientes de los de la plataforma).

  • Importación de los usuarios que pueden utilizar el proyecto (desde plataforma o directorio corporativo).

  • Asociación de usuarios a los roles del proyecto.

  • Servicio OAuth de login para integrar con el login de la aplicación.

De este modo se libera a los proyectos desarrollados sobre la plataforma de integrarse con los servicios de autenticación de la organización.

Escalabilidad

La plataforma se diseñó desde el primer momento con el objetivo de garantizar un escalado efectivo a medida que los proyectos fueran requiriendo mayor capacidad de procesamiento y almacenamiento, con un enfoque de escalabilidad horizontal, orientado a aumentar la capacidad del sistema mediante la adición de nuevas máquinas a la solución, en lugar de requerir la realización de “upgrades” al hardware existente.

Además, la escalabilidad vertical también está asegurada, permitiendo incrementar la capacidad de la solución potenciando la infraestructura. 

En los momentos de necesidad de escalado se analizará y seleccionará la opción de escalado más adecuada.

Esta escalabilidad horizontal queda garantizada en todos los niveles:

  • Ingesta y procesamiento de información: Los módulos core de Sofia2 utilizan técnicas para distribuir el trabajo entre las distintas máquinas al clúster utilizando un Datagrid de alto rendimiento (Hazelcast). Además, al hacer una gestión stateless de la información (es decir, no se guarda información que haga dependientes dos peticiones seguidas), se habilita la capacidad de que, en cada petición, sea el nodo más ocioso quien atienda la solicitud y por tanto asuma la carga de procesamiento.

  • Consultas sobre información operacional: Al soportar el repositorio de información de tiempo real sobre la tecnología MongoDB, se habilita la replicación de la información de entre los diferentes nodos que componen el clúster y por tanto se reparte la carga proporcionando un tiempo de respuesta instantáneo a las queries ejecutadas.

  • Consultas sobre información analítica: Haciendo uso de Hadoop como infraestructura Big Data se soporta el almacenamiento, procesamiento y consulta de cantidades ingentes de información, mediante la colaboración coordinada de varios nodos de Hadoop en clúster repartiendo la carga de las consultas.

  • Escalado dinámico: La Plataforma utiliza mecanismos de detección de carga para realizar escalados y desescalados de manera dinámica mediante el uso de Docker y Kubernetes. Esto habilita que además de los repartos de carga habilitados en cada capa de la Plataforma mencionados en los puntos anteriores, se podrán provisionar también nuevos nodos a los clústers de manera automática, de modo que en momentos de picos de carga se pueda dar mayor capacidad a ciertas capas de manera temporal sin impactar al rendimiento global de la solución.

Además, como se verá en los siguientes apartados, la plataforma permite no solo el aumento de carga en el sistema, sino también la incorporación de nuevos servicios inteligentes, de modo que la Smart City pueda evolucionar de forma sencilla en función de las cambiantes necesidades de la ciudad, en el medio y largo plazo.