WS-Notification: cómo interactúan las aplicaciones cliente en tiempo de ejecución
Las aplicaciones interactúan con el intermediario de notificaciones a través de los intercambios de mensajes de servicio web definidos en los estándares de WS-Notification.
En el diagrama siguiente se muestra la relación entre los cinco roles de WS-Notification, NotificationBroker, PublisherRegistrationManager, NotificationProducer, SubscriptionManager y NotificationConsumer:

Estos roles equivalen a tres tipos de puerto de servicio web a través de los cuales la aplicación puede invocar operaciones:
- NotificationBroker (que es una extensión de los roles NotificationProducer y NotificationConsumer)
- SubscriptionManager
- PublisherRegistrationManager
El primer punto de contacto de una aplicación siempre será el tipo de puerto NotificationBroker. Las aplicaciones invocan operaciones a través de este punto final para crear suscripciones, inserte sucesos de notificación en el sistema o regístrelos como editores. Los objetos SubscriptionManager y PublisherRegistrationManager trabajan con NotificationBroker para proporcionar las funciones globales.
Se devuelven las referencias a SubscriptionManager y PublisherRegistrationManager a la aplicación como resultado de las llamadas a NotificationBroker. En particular, se devuelve una referencia a SubscriptionManager procedente de la operación de suscripción del NotificationBroker. De este modo, una aplicación puede influir en el ciclo de vida del recurso de suscripción, después de haber sido creado. De forma similar, se devuelve una referencia al PublisherRegistrationManager procedente de la operación RegisterPublisher en el NotificationBroker y se permite influir a la aplicación en el ciclo de vida del registro del editor.
Puesto que las aplicaciones interactúan con el intermediario completamente a través de intercambios de mensajes WS-Notification, las aplicaciones desconocen que los servicios NotificationBroker, SubscriptionManager y PublisherRegistrationManager los proporciona WebSphere Application Server. Esto significa que puede modificar la aplicación para utilizar cualquier proveedor de NotificationBroker, por un ejemplo uno proporcionado por un proveedor diferente o en un servidor diferente, al modificar la dirección del punto final en el cual la aplicación realiza sus invocaciones de servicios web.
WS-Notification define los siguientes roles en los cuales una aplicación puede interactuar con el NotificationBroker. Estos roles definen los casos de uso para las aplicaciones.
- Editor
- Un editor envía un mensaje de notificación a un intermediario o NotificationConsumer con objeto de insertar notificaciones de suceso en el sistema. Una aplicación de editor no expone un punto final de servicio web.
- Suscriptor
- Un suscriptor realiza una suscripción en nombre de una aplicación NotificationConsumer (posiblemente diferente). Una aplicación de suscriptor expone un punto final de servicio web.
- NotificationConsumer
- Un NotificationConsumer recibe mensajes de notificaciones:
- Una aplicación "Push Consumer" expone un punto final de servicios web al cual se puede enviar de forma asíncrona el mensaje de notificación procedente del intermediario y NotificationProducer.
- Una aplicación "Pull Consumer" invoca una operación en el intermediario y NotificationProducer con objeto de recibir un mensaje de notificación.
- NotificationProducer
- Un NotificationProducer envía mensajes de notificación a NotificationBrokers y NotificationConsumers registrados. Una aplicación NotificationProducer expone un punto final de servicio web para dar soporte a la operación de suscripción y proporcionar acceso a las propiedades del recurso NotificationProducer.
- Editor basado en la demanda
- Un editor basado en demanda es una aplicación de editor que también expone un punto final de servicio web (como un NotificationProducer) de modo que recibe pausas o reanuda solicitudes.
Puede utilizar cualquier herramienta apropiada para generar aplicaciones WS-Notification para su uso con el NotificationBroker. Obtenga el WSDL expuesto por un punto de servicio WS-Notification y utilice una herramienta de desarrollo como, por ejemplo, IBM® Rational Application Developer para generar apéndices sobre los que se puede codificar la aplicación. Si desea ver ejemplos de este tipo de codificación, consulte Desarrollo de aplicaciones que utilizan WS-Notification.