Qualidades do Serviço do WS-ReliableMessaging
É possível obter diferentes qualidades de serviço com o WS-ReliableMessaging, dependendo do nível de durabilidade e suporte de transação fornecidos pelo armazenamento utilizado para gerenciar o estado do sistema de mensagens confiável. Essas qualidades de serviço variam desde a proteção contra perda de mensagens em uma rede, por meio da proteção contra a falha no servidor.
O WebSphere Application Server fornece as seguintes três qualidades de serviço para o WS-ReliableMessaging quando usar a ligação SOAP sobre HTTP. Todas as três qualidades de serviço são suportadas quando os aplicativos são implementados no servidor de aplicativos. Os aplicativos do contêiner do cliente e do cliente thin utilizam apenas a primeira opção.
- Não gerenciado não persistente
- É possível configurar os aplicativos de serviços da Web para usar o WS-ReliableMessaging como um armazenamento na memória padrão. Essa qualidade de serviço requer a configuração mínima. No entanto, ela não é transacional e, embora permita o reenvio de mensagens que estão perdias na rede, se um servidor ficar indisponível você perderá as mensagens. Essa qualidade de serviço destina-se apenas para servidor único, e não funciona em um cluster.
Essa qualidade de serviço não é suportada na plataforma z/OS.
- Gerenciado não persistente
- Essa opção de qualidade de serviço na memória utiliza um mecanismo do sistema de mensagens para gerenciar o estado de sequencia e as mensagens são gravadas no disco se a memória estiver baixa. Essa qualidade de serviço permite reenviar as mensagens que são perdidas na rede e também podem recuperar-se da falha no servidor. Entretanto, o estado é descartado depois que um mecanismo do sistema de mensagens reinicia; portanto, nesse caso você perderá mensagens. Essa opção suporta clusters, assim como servidores únicos.
- Gerenciado persistente
- Esta qualidade de serviço para chamadas de serviço da Web assíncronas é recuperável. Essa opção também utiliza um mecanismo do sistema de mensagens e armazenamento de mensagem para gerenciar o estado da sequencia. As mensagens persistem no servidor solicitador do serviço e no servidor do provedor de serviço da Web e são recuperáveis caso o servidor fique indisponível. As mensagens que não foram transmitidas com êxito quando o servidor se tornou indisponível poderão ser transmitidas após a reinicialização de servidor.
- A qualidade de serviço que você obtém usando WS-ReliableMessaging é um resultado direto da durabilidade do armazém que gerencia as mensagens.
- Quando você usa a entrega por ordem e as qualidades gerenciadas de serviço, se o serviço provoca um erro, a mensagem é reenviada para o serviço.
- Você deve assegurar-se de que ao interagir com implementações de outros fornecedores do WS-ReliableMessaging, as outras implementações fornecem a qualidade de serviço necessária.
Como São Implementadas as Qualidades de Serviços Diferentes
Quando o aplicativo de serviço da Web chama o serviço da Web, a mensagem SOAP é incluída no armazenamento de WS-ReliableMessaging. Para qualidades de serviço Gerenciadas, a transação do aplicativo de envio é usada para colocar a mensagem no armazenamento de mensagem. Após a transação ser consolidada, a mensagem é elegível para entrega. A outra opção de qualidade de serviço não é transacional, portanto ela considera a mensagem qualificada para entrega imediatamente.
O protocolo WS-ReliableMessaging é usado para entregar, de maneira confiável, a mensagem para o servidor de destino em que está armazenada e confirmada.
A mensagem é lida da loja e despachada para o aplicativo de recebimento. Para a qualidade de serviço Persistente Gerenciado, a transação é utilizada para ler a mensagem e, em seguida, despachar o aplicativo.
Para obter mais informações sobre o uso de transações WS-ReliableMessaging, consulte Fornecendo Sistema de Mensagens Transacionais Recuperáveis por meio do WS-ReliableMessaging.

As qualidades de serviços gerenciadas, gerenciadas persistentes e gerenciadas não persistentes, são suportadas pelo barramento de integração de serviços. Para cada conexão entre um aplicativo e um conjunto de políticas, você pode selecionar o barramento e o mecanismo do sistema de mensagens para o estado do protocolo do sistema de mensagens confiável.