WS-Notification: como os aplicativos clientes interagem no tempo de execução
Os aplicativos interagem com o broker de notificação por meio das trocas de mensagens de serviços da Web definidas nos padrões WS-Notification.
O relacionamento entre as cinco funções WS-Notification, NotificationBroker, PublisherRegistrationManager, NotificationProducer, SubscriptionManager e NotificationConsumer, são mostradas no seguinte diagrama:

Estas funções são equivalentes a três tipos de portas de serviços da Web nas quais o aplicativo pode chamar operações:
- NotificationBroker (que é uma extensão das funções NotificationProducer e NotificationConsumer)
- SubscriptionManager
- PublisherRegistrationManager
O primeiro ponto de contato para um aplicativo será sempre o tipo de porta NotificationBroker. Os aplicativos chamam operações neste nó de extremidade para criar assinaturas, inserir eventos de notificação no sistema ou para registrar-se como publicadores. Os objetos SubscriptionManager e PublisherRegistrationManager funcionam com o NotificationBroker para fornecer as funções gerais.
As referências a SubscriptionManager e a PublisherRegistrationManager são retornadas ao aplicativo como resultado de chamadas para NotificationBroker. Em específico, uma referência ao SubscriptionManager é retornada da operação Subscribe do NotificationBroker. Isto permite que um aplicativo influencie o ciclo de vida do recurso de Assinatura após sua criação. De forma semelhante, uma referência ao PublisherRegistrationManager é retornada da operação RegisterPublisher no NotificationBroker e permite que o aplicativo influencie o ciclo de vida do registro do publicador.
Como os aplicativos interagem com o intermediário totalmente por meio de trocas de mensagens do WS-Notification, esses aplicativos não detectam que os serviços NotificationBroker, SubscriptionManager e PublisherRegistrationManager são fornecidos pelo WebSphere Application Server. Isto significa que é possível modificar o aplicativo para usar qualquer fornecedor NotificationBroker, por exemplo, um oferecido por um fornecedor diferente ou em um servidor diferente, modificando o endereço do terminal no qual o aplicativo faz suas chamadas de serviços da Web.
WS-Notification define as seguintes funções nas quais um aplicativo pode interagir com o NotificationBroker. Estas funções definem os casos de uso para aplicativos.
- Publicador
- Um Publicador envia uma mensagem de notificação para um Intermediário ou NotificationConsumer para inserir notificações de eventos no sistema. Um aplicativo do Publicador não expõe um terminal de serviço da Web.
- Assinante
- Um Assinante faz uma assinatura em nome de um aplicativo NotificationConsumer (provavelmente diferente). Um aplicativo do Assinante expõe um terminal de serviço da Web.
- NotificationConsumer
- Um NotificationConsumer recebe mensagens de notificação:
- Um aplicativo "Consumidor de Push" expõe um terminal de serviços da Web para o qual a mensagem de notificação pode ser assincronamente enviada pelo Broker e pelo NotificationProducer.
- Um aplicativo do "Consumidor de Pull" chama uma operação no Intermediário e no NotificationProducer para receber uma Mensagem de Notificação.
- NotificationProducer
- Um NotificationProducer envia mensagens de notificação para NotificationBrokers e NotificationConsumers registrados. Um aplicativo NotificationProducer expõe um terminal de serviço da Web para suportar a operação Assinatura e fornecer acesso a propriedades do recurso NotificationProducer.
- Publicador baseado em demanda
- Um publicador com base em demanda é um aplicativo Publicador que também expõe um terminal de serviço da Web (como um NotificationProducer) para receber pedidos de pausa ou retomada.
É possível utilizar qualquer barra de ferramentas apropriada para gerar aplicativos WS-Notification para utilização com o NotificationBroker. Pegue o WSDL exposto por um ponto de serviço do WS-Notification e use uma ferramenta de desenvolvimento, tal como o IBM® Rational Application Developer, para gerar stubs nos quais o aplicativo pode ser codificado. Para obter exemplos deste tipo de codificação, consulte Desenvolvendo Aplicativos que Utilizam o WS-Notification.