Soporte de gestión de sesiones

WebSphere Application Server proporciona recursos, agrupados con el nombre Gestión de sesiones, que dan soporte a la interfaz javax.servlet.http.HttpSession descrita en la especificación de la API de servlets.

De acuerdo con la especificación de la API de servlets 2.3, el recurso de gestión de sesiones da soporte al ámbito de sesiones de los módulos web. Sólo los servlets del mismo módulo web pueden acceder a los datos relacionados con una determinada sesión. Varias peticiones del mismo navegador, cada una con una especificación de una aplicación web exclusiva, dan lugar a varias sesiones con un ID de sesión compartido. Puede invalidar cualquiera de las sesiones que comparta un ID de sesión, sin que esto afecte a las otras sesiones.

Puede configurar un tiempo de espera de sesión para cada aplicación web. Un valor de tiempo de espera de aplicación web de 0 (el valor predeterminado) significa que se usa el valor de tiempo de espera de invalidación del recurso de gestión de sesiones.

Cuando un cliente de HTTP interactúa con un servlet, la información de estado asociada con una serie de peticiones de cliente se representa como una sesión HTTP y está identificada por un ID de sesión. La gestión de sesiones es responsable de gestionar las sesiones HTTP, proporcionar almacenamiento para los datos de sesión, asignar ID de sesión y supervisar el ID de sesión asociado con cada petición de cliente a través del uso de cookies o técnicas de regrabación de URL. La gestión de sesiones puede almacenar información relacionada con las sesiones de varias formas:

La dos últimas opciones se conocen como sesiones distribuidas. Las sesiones distribuidas son fundamentales para utilizar sesiones HTTP en el recurso de sustitución por anomalía. Cuando un servidor de aplicaciones recibe una solicitud asociada con un ID de sesión que no tiene actualmente en memoria, puede obtener el estado de sesión necesario accediendo al almacenamiento externo (base de datos o de memoria a memoria). Si el soporte de sesiones distribuidas no está habilitado, el servidor de aplicaciones no podrá acceder a la información de la sesión para las solicitudes HTTP que se envíen a los servidores que no sean el servidor donde se creó originalmente la sesión. La gestión de sesiones implementa optimizaciones de memoria caché para minimizar la carga necesaria para acceder al almacenamiento externo, especialmente cuando se direccionan solicitudes consecutivas al mismo servidor de aplicaciones.

El almacenamiento de estados de sesión en un almacén externo también proporciona un alto grado de tolerancia de errores. Si el servidor de aplicaciones se queda fuera de línea, el estado de las sesiones actuales continuará estando disponible en el almacén externo. Esta disponibilidad permite a los otros servidores de aplicaciones continuar procesando las siguientes peticiones de cliente asociadas con esa sesión.

Al guardar los estados de sesiones en una ubicación externa no se garantiza completamente su conservación en caso de anomalía del servidor. Por ejemplo, si el servidor falla mientras está modificando el estado de la sesión, se puede perder parte de la información, lo que afectará a los siguientes procesos que utilicen esa sesión. No obstante, esta situación representa un período de tiempo muy pequeño en el que existe el riesgo de perder información de sesiones.

El inconveniente de guardar estados de sesiones en un almacén externo es que el acceso al estado de la sesión en una ubicación utiliza una gran cantidad de recursos del sistema. La gestión de sesiones puede mejorar el rendimiento del sistema colocación en memoria caché los datos de la sesión a nivel del servidor. Si hay varias peticiones consecutivas que se dirigen al mismo servidor, podrán encontrar los datos de estado que necesiten en la memoria caché, lo que reducirá el número de veces que se accede al estado de la sesión en un almacén externo y, por lo tanto, la carga asociada con el acceso a una ubicación externa.

Avoid trouble Avoid trouble: La configuración de gestión de sesiones es una configuración posterior al despliegue y está ligada a los destinos existentes. Si cambia la correlación de destino después de configurar la gestión de sesiones, debe volver a la página de configuración de gestión de sesiones en la consola administrativa o utilizar scripts wsadmin y aplicar los cambios. Aplique los cambios a los destinos de módulo si la gestión de sesión se ha configurado para un módulo web. Aplique los cambios a todos los destinos si la gestión de sesiones se ha configurado para un nivel de aplicación.gotcha

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cprs_sesm
File name: cprs_sesm.html