Suporte ao Gerenciamento de Sessão

O WebSphere Application Server fornece recursos, agrupados abaixo do título Gerenciamento de Sessão, que suportam a interface javax.servlet.http.HttpSession descrita na especificação Servlet API.

Em concordância com a especificação da API do Servlet 2.3, o recurso de gerenciamento de sessões suporta sessões com definição de escopo por módulos da Web. Apenas servlets no mesmo módulo da Web podem acessar os dados associados a uma sessão em particular. Diversas solicitações a partir do mesmo navegador, cada uma especificando um aplicativo da Web exclusivo, resultam em diversas sessões com um ID de sessão compartilhado. É possível invalidar qualquer das sessões que compartilham um ID de sessão sem afetar as outras sessões.

É possível configurar um tempo limite da sessão para cada aplicativo da Web. Um valor de tempo limite do aplicativo da Web igual a 0 (o valor padrão) significa que o valor de tempo limite de invalidação a partir do recurso de gerenciamento de sessões é utilizado.

Quando um cliente HTTP interage com um servlet, as informações de estado associadas a uma série de pedidos de clientes são representadas como uma sessão HTTP e identificadas por um ID de sessão. O gerenciamento de sessão é responsável por gerenciar sessões HTTP, fornecendo armazenamento para dados de sessão, alocando IDs de sessão e rastreando o ID de sessão associado a cada pedido do cliente através da utilização de cookies ou técnicas de regravação de URL. O gerenciamento de sessão pode armazenar informações relacionadas à sessão de várias maneiras:

As duas últimas opções são referidas como sessões distribuídas. As sessões distribuídas são essenciais para utilizar sessões HTTP para o recurso de failover. Quando um servidor de aplicativos recebe um pedido associado a um ID de sessão que não existe atualmente na memória, ele pode obter o estado de sessão requerido, acessando o armazenamento externo (banco de dados ou memória a memória). Se o suporte a sessão distribuída não estiver ativado, um servidor de aplicativos não poderá acessar informações da sessão para pedidos de HTTP que são enviados a servidores diferentes daquele onde a sessão foi criada originalmente. O gerenciamento de sessão implementa otimizações de armazenamento em cache para minimizar código extra de acesso ao armazenamento externo, especialmente quando pedidos consecutivos são roteados para o mesmo servidor de aplicativos.

O armazenamento de estados de sessão em um armazenamento externo também fornece um grau de tolerância a falhas. Se um servidor de aplicativos ficar off-line, o estado de suas sessões atuais ainda estará disponível no armazenamento externo. Essa disponibilidade permite que outros servidores de aplicativos continuem processando pedidos de clientes subsequentes associados a essa sessão.

Salvar estados de sessão em uma localização externa não garante completamente sua preservação no caso de uma falha do servidor. Por exemplo, se um servidor falhar durante a modificação do estado de uma sessão, algumas informações serão perdidas e o processamento subsequente utilizando essa sessão poderá ser afetado. No entanto, esta situação representa um período muito pequeno de tempo quando há um risco de perda de informações da sessão.

A desvantagem de salvar os estados de sessões em um armazenamento externo é que acessar o estado da sessão em uma localização externa pode utilizar recursos valiosos do sistema. O gerenciamento de sessão pode melhorar o desempenho do sistema armazenando em cache os dados de sessão no nível do servidor. Vários pedidos consecutivos que são direcionados para o mesmo servidor podem localizar os dados de estado requeridos no cache, reduzindo o número de vezes que o estado real da sessão é acessado no armazenamento externo e, consequentemente, reduzindo a sobrecarga associada com o acesso à localização externa.

Evitar Problemas Evitar Problemas: A configuração do gerenciamento de sessões é uma configuração pós-implementação e está ligada aos destinos existentes. Se o mapeamento de destino for alterado após a configuração do gerenciamento de sessões, será necessário retornar para a página de configuração do gerenciamento de sessões no console administrativo ou usar o script wsadmin e aplicar as mudanças. Aplique as mudanças aos destinos de módulo se o gerenciamento de sessões estiver configurado para um módulo da Web. Aplique as mudanças a todos os destinos se o gerenciamento de sessões estiver configurado para um nível do aplicativo.gotcha

Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cprs_sesm
Nome do arquivo: cprs_sesm.html