Notificación con intermediarios
La especificación Web Services Brokered define cómo se hace responsable un intermediario, NotificationBroker, de la diseminación de los mensajes producidos por uno o más Editores a cero o más NotificationConsumers.
En la sección 4 de WS-BrokeredNotification Version 1.3 OASIS Standard se describe la notificación con intermediarios tal como se indica a continuación:
Existen tres etapas distintas en el proceso de notificación.
- Observación de la situación y sus características destacables;
- Creación del artefacto Notification que captura las características destacables de la situación y
- Distribución de copias de Notification a cero o más partes interesadas.
Las etapas 1 y 2 se producen en su mayor parte fuera del ámbito de la arquitectura de WS-Notification; esta especificación no restringe los métodos a través de los cuales se deben producir estas etapas. Hacemos referencia a una entidad que realiza las etapas 1 y 2 como Editor.
Sin embargo, la familia WS-Notification de especificaciones especifica cómo SE DEBERÍA PRODUCIR la diseminación de mensajes. Existen dos modelos predominantes a través de los cuales se diseminan los artefactos Notifications en WS-Notification: directo y con intermediarios.
En el caso directo, el servicio web de publicación implementa intercambios de mensajes asociados con la interfaz NotificationProducer; es responsable de aceptar los mensajes Subscribe y enviar los Notifications a las partes interesadas. El implementador de este servicio web puede optar por programar este comportamiento o delegar las implementaciones especializadas del comportamiento de entrega de Subscribe y Notification. Este caso está cubierto por WS-BaseNotification Versión 1.3 OASIS Standard.
En el caso con intermediarios, un intermediario (NotificationBroker), es responsable de diseminar los mensajes generados por uno o más editores a cero o más NotificationConsumers.
Existen tres patrones asociados con la relación entre el editor y el NotificationBroker: publicación simple, publicación iniciada por intermediario y publicación basada en la demanda.
En la siguiente ilustración se muestra la publicación simple:

En el escenario de la publicación simple, la entidad editor es responsable sólo de las funciones básicas del editor: observar la situación y formatear el artefacto Notification que describe la situación. El paso de diseminación se produce cuando el editor envía el mensaje de notificación a NotificationBroker.
En el patrón de publicación iniciado por intermediario, el rol del editor es desempeñado por un servicio web que implementa NotificationProducer. El acto de observar la situación y formatear el artefacto Notification se produce dentro de la lógica de implementación del propio NotificationProducer. El artefacto Notification lo disemina NotificationProducer que envía el mensaje Notify a NotificationBroker. Notification también puede diseminarse a través del envío del mensaje Notify a cualquier NotificationConsumers que se ha suscrito a NotificationProducer.
Nota: en cualquiera de los dos casos anteriores, es posible que NotificationBroker requiera que el editor se registre en el mismo antes de enviar el mensaje de notificación. Por ejemplo, si el intermediario desea controlar quién puede publicar en un tema determinado, puede realizar una comprobación de control de accesos durante el registro. No obstante, un NotificationBroker puede permitir que los editores publiquen sin un registro previo, si así lo decide.
El último patrón, basado en demanda, requiere que el editor sea un NotificationProducer y, por lo tanto, acepte el mensaje de suscripción. El uso de la publicación basada en demanda está previsto en casos donde el acto de observar la situación o de formatear el artefacto Notification pudiera resultar costoso y, por lo tanto, se debería evitar si no existen partes interesadas en dicho Notification. Un editor indica su intención de utilizar este patrón registrándose con NotificationProducer y establecer el componente Demand del mensaje de solicitud RegisterPublisher en "true". De acuerdo con este estilo de registro, el NotificationBroker envía el mensaje de suscripción al editor (recuerde que en esta situación el editor debe implementar los intercambios de mensajes asociados con la interfaz NotificationProducer).

Además, se espera que el NotificationBroker haga una pausa en su suscripción, siempre que no tenga suscriptores activos para la información proporcionada por el Editor. Si el NotificationBroker tiene suscriptores activos, está obligado a reanudar su suscripción al editor.
Copyright © OASIS Open 2004-2006. Reservados todos los derechos.
Este documento y sus traducciones pueden copiarse y proporcionarse a terceros, los trabajos que se deriven de este material que comenten o describan de otro modo, o bien sirvan de ayuda para su implementación, pueden prepararse, copiarse, publicarse y distribuirse, parcial o totalmente, sin ningún tipo de restricción, siempre que el anterior aviso de copyright y este párrafo se incluyan en todas estas copias y trabajos derivados. No obstante, el propio documento no puede modificarse de ningún modo, por ejemplo, eliminando el aviso de copyright o las referencias a OASIS; excepto si fuera necesario con objeto de desarrollar especificaciones OASIS, en cuyo caso se deberán seguir los procedimientos para los copyrights definidos en el documento de derechos de propiedad intelectual de OASIS, o, si fuera necesario, traducirlo a otros idiomas que no sean el inglés.