O WebSphere Application Server fornece proteção de nível de mensagem em um ambiente em cluster. É possível utilizar o WS-SecureConversation (Web Services Secure
Conversation) para proteção de nível de mensagem de Serviços da Web JAX-WS
(Java™
API for XML Web Services) 2.0 em um ambiente em cluster.
Antes de Iniciar
Um pedido de serviços da Web que é protegido com um Security Context Token (SCT) é roteado para um servidor em um cluster, mas esse SCT pode ter sido emitido ou renovado por um servidor diferente no cluster. Se o cache distribuído do WebSphere Application Server não estiver configurado para replicar ou não replicar rápido o suficiente, o servidor que processa o pedido poderá não ter acesso ao SCT. As etapas da tarefa descritas nesse tópico precisam ser executadas apenas se a configuração de replicação para membros do cluster for configurada para atualização assíncrona para o cache distribuído da Segurança de Serviços da Web.
Para obter informações adicionais
sobre configurações de atualização do cache, leia o tópico Ativando o Cache Distribuído
Usando Atualização Síncrona e Recuperação do Token.
Também é possível ativar o cache distribuído da Segurança de Serviços da Web com a configuração padrão, o que ativa a atualização síncrona de membros do cluster.
Sobre Esta Tarefa
Execute as seguintes etapas de alto nível para ativar o cache
distribuído e a afinidade de sessão ao utilizar conversação segura para proteção
de nível de mensagem em um ambiente em cluster.
Procedimento
- Ative o cache distribuído para o Token de Contexto de Segurança.
- No console administrativo do WebSphere Application Server, clique em .
- Selecione a caixa de opção Ativar Armazenamento em Cache Distribuído.
- Clique no botão de opções para selecionar Atualização
Assíncrona de Membros de Cluster.
- Clique em Aplicar e, em seguida, clique em Salvar para
salvar a configuração.
- Crie um domínio de replicação. Realize as seguintes etapas:
- No Console Administrativo, clique em .
- Digite um nome. Por exemplo, ABCDomain.
- Em Número de Réplicas, selecione a opção Domínio Inteiro.
- Clique em OK e, em seguida, em Salvar para salvar a configuração.
- Ativer o cache dinâmico. Execute as etapas a seguir para cada servidor no cluster:
- No Console administrativo, clique em .
- Selecione a opção Ativar Replicação de Cache.
- Selecione o nome de domínio de replicação que você criou.
Por exemplo, ABCDomain.
- Selecione o tipo de replicação como Push e Pull.
- Clique em OK e, em seguida, em Salvar para salvar a configuração.
- Opcional: Altere o intervalo de atualização de lote do cache distribuído. Por padrão, o intervalo de atualização de lote do cache distribuído é 1.000 milissegundos. Entretanto, é possível configurar esse intervalo para um valor menor que 1.000 milissegundos. Para alterar o valor, conclua as seguintes etapas para cada servidor no cluster:
- No Console Administrativo, clique em .
- Digite o nome da propriedade
com.ibm.ws.cache.CacheConfig.batchUpdateInterval.
- Insira o valor da propriedade.
- Clique em OK e, em seguida, em Salvar para salvar a configuração.
- Instale e configure um servidor da Web ou servidor proxy que suporte afinidade de sessão. Os servidores proxy do IBM® HTTP Server e do WebSphere Application Server suportam afinidade de sessão. No Centro de Informações do WebSphere Application Server, leia o tópico "Comunicando-se com os Servidores da Web".
para obter informações sobre como instalar e configurar o IBM HTTP Server.
- Configure os sistemas do cliente para enviar as solicitações de serviços da Web para o host e porta em que o servidor da Web ou servidor proxy está executando.
O servidor da Web ou servidor proxy depois roteia as solicitações para o membro de cluster apropriado.
- Nos serviços que estão recebendo as solicitações de serviços da Web que são protegidos por meio do uso da Conversa Segura de Serviços da Web, selecione a opção Política da sessão de transporte HTTP ativada. Conclua a configuração do conjunto de política seguindo
estas etapas:
- Inclua a política Transporte HTTP no conjunto de política que está sendo utilizado
pelos serviços.
- No painel de configuração para a política Transporte HTTP, selecione Sessão
Ativada.
- Clique em OK e, em seguida, em Salvar para salvar a configuração.
- Nos sistemas do cliente que estão enviando as solicitações de serviços da Web e são protegidos por Conversa Segura, ative a propriedade de sessão Manutenção de transporte HTTP. Conclua a configuração do conjunto de política ou defina a propriedade
programaticamente. Se você estiver utilizando um conjunto de política com sua configuração, siga estas
etapas:
- Inclua a política Transporte HTTP no conjunto de política que está sendo utilizado
pelos clientes.
- No painel de configuração de política de Transporte HTTP, selecione a opção
Sessão Ativada.
- Clique em OK e, em seguida, em Salvar para salvar a configuração.
Resultados
Uma vez concluídas as configurações, você terá ativado o cache distribuído e
a afinidade de sessão ao utilizar conversação segura em um ambiente em cluster. Se o servidor que processa o pedido não tiver acesso ao SCT, o pedido falhará com o erro
SCT nulo ou inválido.
Exemplo
O exemplo a seguir, que é um trecho de código, demonstra com definir
programaticamente a propriedade Manter Sessão no objeto JAX-WS correto:
Map<String> rc = ((BindingProvider) port).getRequestContext();
...
rc.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, Boolean.TRUE);
... </String>