Pasar al contenido principal

Ayuntamiento de Barcelona

Ayuntamiento
de Barcelona

Image
AytoBCN - Cabecera

Herramientas transversales para la ciudadanía

ClienteAyuntamiento de Barcelona
Desarrollonazaríes intelligenia
PaísEspaña

El Ayuntamiento de Barcelona ofrece multitud de productos software tanto para ciudadanía como para personal interno del ayuntamiento. Tiene un impacto directo en millones de personas, y, por tanto, la automatización, informatización y capacidad de escalado de sus sistemas es una prioridad.

Al ser una corporación grande, tiene muchos servicios transversales y políticas de infraestructura comunes, por lo que toda aplicación que se despliega en el ecosistema corporativo requiere multitud de integraciones a sistemas comunes, y cumplir con estándares prefijados para seguridad, arquitectura, infraestructura, y datos globales.

El ecosistema tecnológico en el Ayuntamiento de Barcelona incluye las últimas tendencias como Kubernetes, API First, API Manager centralizador de todos los productos, Integración y Despliegue continuo y automatizado, frontales SPA, y muchas otras tendencias de vanguardia. 

Nuestra participación

Desde 2018 comenzamos a colaborar en diferentes proyectos con el Ayuntamiento de Barcelona, donde principalmente hemos desarrollado nuevos sistemas mediante tecnologías como Python DRF y Angular en últimas versiones. Así mismo hemos colaborado estrechamente con el área de arquitectura tecnológica para definir los pipelines de despliegue automatizado que afectan a estas tecnologías.

Hemos trabajado en varios productos software transversales como NASIA, IRIS, Fitxer d’Entitats, eComunicacions… y, además, colaboramos con ellos en el mantenimiento correctivo y evolutivo de tecnología Python de la corporación, así como ofreciendo soporte técnico de niveles L1 y L2 para estas aplicaciones.  

Image
Screen of the Ayuntamiento de Barcelona homepage displayed on a laptop

Características técnicas principales

Image

Sistema de búsqueda rápido con ElasticSearch

  • Usamos ElasticSearch en varios procesos para poder realizar búsquedas complejas de forma ágil. Para ello hemos realizado procesos de indexación orientados a dos grandes áreas: búsqueda y resultado. El objetivo principal de esta dinámica es poder generar resultados de búsqueda compleja sin impactar a la Base de Datos transaccional, de forma que el gran volumen de búsquedas se resuelva entre sistemas caché y ElasticSearch, obteniendo así resultados óptimos en la gestión de recursos y eficiencia computacional del sistema.
Image

Procesos en segundo plano.

  • Para el diseño de interfaces usables, una de las características principales es la agilidad de los procesos, ya que debe evitarse tener interfaces de reacción lenta. Para ello todo proceso que pueda ejecutarse en segundo plano, o que sea computacionalmente complejo se deriva a un sistema de cómputo en segundo plano basado en REDIS y Celery, consiguiendo así frontales de respuesta rápida. Además de la agilidad frontal, se han creado sistemas de computo de segundo plano resilientes que permiten ejecutar cada proceso de forma satisfactoria y que resiste posibles problemas puntuales derivados de conexiones a sistemas externos que puedan fallar de forma eventual.
Image

Integraciones con otros sistemas.

  • Hay multitud de sistemas externos con los que debe relacionarse cada aplicación dentro de esta corporación, para así respetar las fuentes de verdad de los datos y garantizar la coherencia de los sistemas. Por ello se ha desarrollado un sistema de conexiones robustas y con trazabilidad explicativa, para poder hacer seguimiento de posibles problemas de forma satisfactoria.
Image

Optimización de payload con DynamicSerializers

  • Se han utilizado serializadores dinámicos en las APIs que se han desarrollado para así permitir moldear el tamaño de la respuesta de un endpoint adaptándola a las necesidades del frontal en cada momento. De esta forma, el payload que se envía desde el servidor a los frontales se reduce a lo mínimo imprescindible, a la par que se diseña un sistema altamente mantenible y escalable. 
Image

Autogeneración de código con YASAG.

  • En el contexto de estos proyectos se ha creado la librería YASAG (https://www.npmjs.com/package/yasag), liberada como Open Source, que automatiza la generación de código Angular para crear conectores automáticos y resilientes entre el frontal y la API. La librería YASAG se usa actualmente en multitud de proyectos, no solo dentro del Ayuntamiento, y facilita y agiliza el desarrollo de aplicaciones basadas en Angular + API REST JSON que exporte un formato de documentación estándar Open API 2.0

our
powerups

PowerUp

ME

MVP Engineering

Se caracteriza por la formación de equipos ágiles y cohesionados, especializados en iteraciones rápidas y toma de decisiones eficiente para proyectos con requisitos de lanzamiento a corto plazo pero sostenibilidad a largo plazo. La sinergia de trabajar con equipos con experiencia previa asegura un inicio fluido, algo que a menudo es difícil de lograr con equipos nuevos.

PowerUp

GE

Growth Engineering

Potencia productos software existentes, enfocándose en su evolución y mantenimiento tecnológico para asegurar escalabilidad y robustez. Nuestros equipos de expertos ofrecen soluciones que van desde integraciones hasta globalización, se adaptan a las complejidades y preparan los productos para liderar en el mercado. Es un aliado para las empresas que buscan innovar y expandirse. También asegura calidad y relevancia continua.

Descripción de algunas funcionalidades

NASIA: Sistema transversal para gestión de equipamientos y eventos de la ciudad. Este sistema centraliza toda la información corporativa relativa a los equipamientos y la agenda de eventos que ocurren en la ciudad de Barcelona, y provee una API centralizada que es usada por más de 800 sitios webs diferentes para poder hacer llegar la información de forma segmentada a la ciudadanía. 

Image
Ayto. BCN
Image
Ayto BCN

eComunicacions: Sistema de comunicaciones electrónicas transversales para la ciudadanía. Este sistema centraliza todas las preferencias de suscripción de la ciudadanía a los diferentes boletines del Ayuntamiento, centralizando a su vez todas las aceptaciones explícitas relativas a RGPD. Además, ofrece un sistema de edición de newsletters, seguimiento y métricas de llegada y apertura. Por tanto, este sistema facilita las tareas de comunicación, de forma multicanal (email, SMS, Telegram,…) y está desarrollado en Python y Angular. 

Fitxer d’Entitats: Centraliza en un único lugar toda la información que mantiene el Ayuntamiento sobre asociaciones y grupos de interés. Este sistema facilita tener un registro único que pueda ser usado por las diferentes áreas de la corporación pública, manteniendo así un origen de información válido y acreditado de dichas asociaciones. Este sistema se comunica con diferentes sistemas del Ayuntamiento para automatizar procesos, así como con el Portal Electrónico para facilitar los procesos de nuevas altas de asociaciones o solicitudes de modificación de las existentes. 

Soporte técnico Canales Digitales: Ofrecemos los servicios de oficina de soporte técnico para las aplicaciones del departamento de Canales Digitales del Ayuntamiento de Barcelona. En esta oficina realizamos tango gestión de incidencias, como tareas técnicas que facilitan el día a día de otras empresas tecnológicas que necesitan integrarse en el ecosistema de Canales Digitales de la corporación, tales como creación de dominios, certificados, hosting, buenas prácticas, módulos homologados de Drupal o Wordpress…