Departamento de Gobernanza Pública y Autogobierno

Plataforma de Eventos

Detalles

Objetivo de la plataforma

La plataforma de PLATEA Integración — Eventos se crea con la finalidad de que la información generada por un aplicativo del Gobierno Vasco pueda ser difundida a otras aplicaciones (departamentales y/o terceros) que necesiten consumir dicha información. En sentido inverso, también permite la recepción de información generada por aplicativos externos al ámbito de Gobierno Vasco para su consumo por aplicaciones departamentales internas.

Para ello se ha diseñado un componente técnico (Enrutador/Propagador) que se adapta las necesidades de comunicación asíncrona de la administración. Este componente, mediante la implementación del patrón «Publish&Subscribe», recibe mensajes con determinada información y los reenvía a otras aplicaciones.

Para una integración más completa entre las aplicaciones que hacen uso de la plataforma de Eventos, se ha dotado a ésta de unos canales de entrada y salida que implementan distintas tecnologías de comunicación:

  • Canales de entrada: jms, http y webservice
  • Canales de salida: jms, http, webservices, plsql, ficheros

La plataforma de Eventos está diseñada de forma que el contexto de red de la publicación y consumición de evento por parte de los aplicativos que hacen uso de la misma sea transparente. De esta forma, se garantiza:

  • La integración entre aplicaciones departamentales del Gobierno Vasco
  • La integración de aplicaciones departamentales con terceros, mediante el uso de canales sobre protocolo http sobre la Platea Integración - Servicios

Visión funcional

Para una mejor comprensión del funcionamiento de la Plataforma de Eventos de Integración, es necesario conocer los actores/términos participantes.

Actor/Término Descripción
Evento Mensaje que contiene la información. Esta información contiene datos acerca de la aplicación generadora y datos propios del evento. Los eventos son generados por aplicaciones, distribuidos por el propagador y consumidos por aplicaciones. Todos los eventos están registrados en el catálogo de eventos
Aplicación generadora Aplicación informática, que puede estar en cualquiera de los entornos de Ejie (intranet, extranet o internet) y que envía eventos al propagador de su contexto a través de unos de sus canales de entrada. Estas aplicaciones deben estar dadas de alta en el catálogo de eventos
Aplicación suscriptora Aplicación informática, que puede estar en cualquiera de los entornos de Ejie (intranet, extranet o internet) y que recibe eventos del propagador de su contexto. Estas aplicaciones deben estar dadas de alta en el registro de suscriptores
Propagador/ Enrutador Aplicación informática que recibe eventos a través de los canales de entrada, los valida contra el catálogo de eventos y los reenvía a las direcciones de los suscriptores a través de los canales de salida. La información que entra es exactamente la misma a la que sale, e independientemente de la tecnología usada en los canales de entrada y/o salida
Catálogo de eventos Modelo de base de datos que define las características y propiedades de un evento y lo asocia con una o varias aplicaciones
Registro de suscriptores Modelo de base de datos que define las características de una suscripción, como canal de salida, dirección de enlace, evento al que se suscribe y contexto

El funcionamiento del Propagador/Enrutador es el siguiente:

  • Cuando una aplicación generadora publica un evento, éste es recibido en el Propagador/Enrutador a través de su canal de entrada
  • Tras la recepción del mensaje, se comprueba que éste:
    • Tiene el formato definido por la solución de eventos
    • Está dado de alta en el catálogo de eventos
    • Cumple con los requisitos de seguridad XL-Net (en caso de que sea un evento securizado)
  • Tras la comprobación, el Propagador/Enrutador busca internamente en el registro de suscriptores qué aplicaciones están suscritas al evento que ha recibido. Por cada suscripción encontrada, envía una copia del mensaje por el canal y dirección de la configurada.

Todo el proceso descrito anteriormente queda trazado en la BBDD de la solución de eventos, siendo estas trazas accesibles a través de la consola pública de eventos.

El uso de la plataforma de Eventos aporta las siguientes ventajas a las aplicaciones que hacen uso del mismo:

  • Implementación del patrón «Publish&Suscribe»: difusión de un mismo mensaje a N destinatarios, sin que la aplicación publicadora tenga que encargarse de la implementación y/o administración de dicha lógica
  • Alta disponibilidad y garantía de entrega: la arquitectura de la solución de eventos está diseñada con el propósito de ofrecer una disponibilidad total, garantizando además la entrega del mensaje mediante un sistema de reintentos configurable por el suscriptor. Al dar de alta una suscripción, el responsable indica el número de reintentos a realizar en caso de error, así como el intervalo de tiempo entre reintentos. Se garantiza por lo tanto la entrega siempre que el suscriptor se encuentre disponible antes de que el número de reintentos configurado por él mismo sea superado)
  • Transparencia en las comunicaciones a dos niveles de escenario:
    • internos: resuelve los problemas de comunicación entre aplicaciones del Gobierno Vasco desplegadas en diferentes contextos de la red corporativa. De esta forma, se posibilita la integración por mensajería asíncrona entre aplicaciones entre las cuales no hay visibilidad por la configuración del firewall
    • externos: resuelve los problemas de comunicación entre aplicaciones del Gobierno Vasco y terceros ubicados en redes sectoriales o en la Web con necesidades de publicación y/o consumo de eventos. Esta resolución es bidireccional, permitiendo tanto a aplicaciones corporativos como a terceros la publicación y/o suscripción a eventos. Para ello, se hace uso de la combinación entre canal de entrada y/o salida por protocolo http, y las posibilidades de comunicación que ofrece la plataforma de servicios de Integración
  • Trazabilidad de los mensajes: el ciclo de vida de los mensajes desde su llegada al Propagador/Enrutador hasta su publicación en los diferentes suscriptores, queda completamente trazado en el sistema
  • Consola de consulta: permite el acceso de las asistencias técnicas en modo consulta a la información del catálogo de eventos y a las trazas de los eventos tratados por el sistema. Esta consola consta de las siguientes funcionalidades:
    • Catálogo de eventos: consulta de aplicaciones, responsables, eventos y suscripciones registradas en el sistema
    • Trazas de eventos: seguimiento de los estados de un evento durante su tratamiento en la plataforma (recepción, enrutamiento y salida)

    Platea Integración Eventos proporciona además una serie de herramientas orientadas a la visión de Gestión IT del servicio:

    • Monitorización y alarmas
    • Servlet para la monitorización tanto de la plataforma de Eventos en si (estado de sus componentes) como del funcionamiento de los procesos de publicación y suscripción generados por las aplicaciones
    • Configuración de las herramientas de monitorización para la explotación de la información de la información devuelta por el servlet de monitorización
    • Gestión de despliegues: consola de administración para la configuración del catálogo de eventos (aplicaciones y responsables, eventos y suscripciones)

    Visión técnica

    Platea Integración Eventos se construye sobre una plataforma Weblogic/J2EE estándar, no basándose en ningún producto de mercado. Esto es así ya que, tras analizar las diferentes opciones de mercado que implementaban patrones de mensajería y comprobar las limitaciones de éstas, se ha apostado por la construcción de una plataforma ad-hoc en base a los requisitos de comunicación asíncrona de Gobierno Vasco.

    Componente Descripción
    Patrones Implementación del patrón de mensajería Publish & Suscribe
    Tecnología

    Servidores WLS 10.3.5

    Desarrollos realizados en JDK 1.6

    BBDD Oracle 11g

    Canales de entrada
    • jms: canal basada en colas. Desplegadas como recursos Queue en un weblogic
    • http: canal basado en un simple servlet que escucha las peticiones http
    • webservice: canal compuesto por un servicio web
    Canales de salida
    • jms: canal capaz de enviar mensajes a una cola jms remota
    • webservice: basado en un cliente que se conecta a un servicio web remoto. Este servicio seria implementado por la aplicación suscriptora
    • plsql: canal que se conecta con un procedimiento almacenado de base de datos. Este procedimiento seria el implantado por el suscriptor
    • http: canal que envía una petición http a la dirección de suscripción. Esta dirección puede ser un servlet, ASP, JSP,….. del suscriptor
    Redes y comunicaciones Integración de redes transparente a nivel interno/departamental (entre contextos de red). La integración con externos/terceros (JASO, red SARA, Internet) se realiza mediante protocolo http a través de la plataforma de Servicios de Integración
    Trazas Generación asíncrona (vía JMS) de procesos, trazas y métricas, sobre BBDD Oracle
    Catálogo de eventos Desarrollo construido sobre J2EE/WLS sobre BBDD Oracle
    Consola de administración Desarrollo construido sobre J2EE/WLS sobre BBDD Oracle

    Procedimiento

    De cara a facilitar el uso de la plataforma de Eventos de Integración, de forma homónima al trabajo realizado para la plataforma de Servicios, se ha definido un flujo de trabajo alineado con la Gestión IT de Gobierno Vasco. Mediante este flujo las Asistencias Técnicas solicitan el alta de aplicaciones, eventos y suscripciones en la plataforma de Eventos, y promocionan de forma sencilla estos cambios en los diferentes entornos.

    Para ello, tras haber definido conjuntamente con los grupos de Gestión IT los pasos y tareas a realizar sobre la plataforma de Eventos, se ha proporcionado la documentación necesaria para que las Asistencias Técnicas soliciten sus cambios en esta plataforma:

    • Plantillas para la solicitud de alta de aplicación en la plataforma de eventos
    • Plantillas para la creación de eventos y suscripciones, asociados a la aplicación dada de alta (o ya existente previamente)
    • Normativa de uso de la plataforma de eventos, en la que se incluye una visión funcional y técnica de la plataforma, así como ejemplos de uso de la misma 
    • Versión 1: 03-07-2017 (última versión)