PublishSubscribe

Publish & Subscribe

Introducción

La Plataforma de Interoperabilidad (PDI) es un conjunto de componentes de software y hardware integrados con el propósito de proveer una infraestructura tecnológica base para el desarrollo de la estrategía de Gobierno Electrónico del Estado Uruguayo.

Desde el punto de vista puramente tecnológico, la PDI apunta a implementar una plataforma de tipo SOA a nivel de Estado, que fomente la interoperabilidad entre organismos y entes públicos, donde clientes y servicios intercambian información vía el uso de Web Services.

Actualmente, la plataforma provee un conjunto de soluciones a la integración de aplicaciones tecnológicamente heterogéneas, destacándose el uso de estándares para la comunicación, mecanismos de seguridad avanzados, ruteo inteligente, transformación y validación de mensajes.

La presente sección describe uno de sus componentes, denominado Publish & Subscribe, cuyo propósito es ofrecer un mecanismo confiable y seguro para para la notificación de novedades entre organismos del Estado.

Descripción

En la actualidad, la implementación de los procesos de negocios de una organización involucran el uso de sistemas altamente distribuidos cuya ubicación, tecnologías y comportamiento puede ser sumamente variadas. Cuando los sistemas son de mediana o gran escala, el uso de comunicaciones sincrónicas punto a punto no resulta viable debido a la rigidez y complejidad que adquiere su desarrollo. Este tipo de sistemas demandan modelos de comunicación más flexibles, dinámicos y acoplamiento débil que permitan una mejor implementación de los procesos de negocios.

En este sentido, la posibilidad de contar con una infraestructura de middleware dedicada que brinde un esquema de comunicación asincrónico y de bajo acoplamiento puede mejorar el desarrollo de este tipo de aplicaciones. El esquema de interacción de Publish & Subscribe está enfocado en proveer el bajo acoplamiento requerido en la interacción de sistemas de gran escala.

Para dar soporte a esta solución, la Plataforma de Gobierno Electrónico (PGE) ofrece el servicio de Publish & Subsribe (P&S), brindando una infraestructura de software que facilite el intercambio de novedades1 entre los organismos del Estado, con el propósito de ofrecer mecanismos sencillos para la notificación de eventos y novedades de un organismo hacia otros organismos interesados.

El sistema Publish/Subscribe está basado en mecanismos de comunicación de tipo broadcast en donde un productor desea notificar cierta información a varios interesados.

Dentro del contexto de Publish/Subscribe se denomina productor a aquel sistema que produce la información y suscriptor a aquel sistema interesado en recibirla. Los productores comunican la información a los suscriptores por intermedio de canales de comunicación denominados tópicos. Cada vez que un productor envía una novedad a un tópico, el canal se encarga de retransmitirlo a cada uno de los suscriptores interesados.

Actualmente, existen dos mecanismos de entrega de novedades: push y pull. El mecanismo push consiste en que los suscriptores definen previamente dónde recibir las novedades. Cada vez que el servicio recibe una novedad, este la reenviará al destino definido por el suscriptor. Por otro lado, el mecanismo pull consiste en que el suscriptor consulta a la Plataforma en busca de novedades. Cada vez que el servicio recibe una novedad, este la almacena y queda a la espera que el suscriptor lo consulte y la retire.

Pull

En la modalidad pull, el responsable de verificar que no haya novedades pendientes y retrirarlas, es el suscriptor. En esta modalidad el sistema recibe las novedades y las almacena a la espera que los suscriptores lo consulten y las retiren. 

La siguiente imagen muestra un diagrama de componentes con la solución de envío de novedades en modalidad "Pull":

Push

En la modalidad de entrega push, el responsable de la entrega es el sistema y cada vez que recibe una novedad, este la reenvia inmediatamente al destino predefinido por el suscriptor. 

La siguiente imagen muestra un diagrama de componentes con la solución de envío de novedades en modalidad "Push":

 

Puede descargar el documento de arquitectura de la solución desde aquí.