Configuración del gestor de sesiones HTTP para distintos servidores de aplicaciones

WebSphere eXtreme Scale se empaqueta con una implementación de gestión de sesiones que altera temporalmente el gestor de sesiones predeterminado para un contenedor web. Esta implementación proporciona opciones de réplica de sesiones, alta disponibilidad, mejor escalabilidad y configuración. Puede habilitar el inicio del contenedor de ObjectGrid incorporado genérico y del gestor de réplica de sesiones de WebSphere eXtreme Scale.

Acerca de esta tarea

Puede utilizar el gestor de sesiones HTTP con otros servidores de aplicaciones en los que no se ejecuta WebSphere Application Server, como WebSphere Application Server Community Edition. Para configurar otros servidores de aplicaciones para que utilicen la cuadrícula de datos, debe unir la aplicación e incorporar los archivos de archivado Java (JAR) de WebSphere eXtreme Scale en la aplicación.

Procedimiento

  1. Una la aplicación de modo que pueda utilizar el gestor de sesiones. Para utilizar el gestor de sesiones, debe añadir las declaraciones de filtro apropiadas a los descriptores de despliegue web para la aplicación. Además, los parámetros de configuración del gestor de sesiones se pasan al gestor de sesiones en el formato de parámetros de inicialización de contexto de servlet en los descriptores de despliegue. Existen tres formas en las que puede introducir esta información en la aplicación:
    • Script addObjectGridFilter:

      Utilice un script de línea de mandatos proporcionado junto con eXtreme Scale para unir una aplicación con declaraciones de filtro y configuración con el formato de parámetros de inicialización de contexto de servlet. El script inicio_wxs/session/bin/addObjectGridFilter.sh|bat toma dos parámetros: la vía de acceso absoluta al archivo archivador de empresa (EAR) o al archivo archivador web (WAR) que desea unir y la vía de acceso absoluta al archivo de propiedades splicer que contiene varias propiedades de configuración. El formato de uso de este script es el siguiente:

      [Windows]
      addObjectGridFilter.bat <archivo_ear_o_war> <archivo_propiedades_splicer>
      [Unix]
      addObjectGridFilter.sh <archivo_ear_o_war> <archivo_propiedades_splicer>

      [Unix] Ejemplo de utilización de eXtreme Scale instalado en un directorio autónomo en UNIX:

      1. cd inicio_wxs/session/bin
      2. addObjectGridFilter.sh /tmp/mySessionTest.ear inicio_wxs/session/samples/splicer.properties
      El filtro de servlet que se une mantiene los valores predeterminados para los valores de configuración. Puede alterar temporalmente estos valores predeterminados con las opciones de configuración que especifique en el archivo de propiedades en el segundo argumento. Para obtener una lista de los parámetros que puede utilizar, consulte Parámetros de inicialización del contexto del servlet.

      Puede modificar y utilizar el archivo splicer.properties de ejemplo proporcionado con la instalación de eXtreme Scale. También puede utilizar el script addObjectGridServlets, que inserta el gestor de sesiones ampliando cada servlet. No obstante, el script recomendado es el script addObjectGridFilter.

    • Script de construcción Ant:

      WebSphere eXtreme Scale se entrega con un archivo build.xml que se puede utilizar con Apache Ant, que está incluido en la carpeta raíz_was/bin de una instalación de WebSphere Application Server. Puede modificar el archivo build.xml para cambiar las propiedades de configuración del gestor de sesiones. Las propiedades de configuración son idénticas a los nombres de propiedades del archivo splicer.properties. Después de modificar el archivo build.xml, se invoca el proceso Ant ejecutando ant.sh, ws_ant.sh (UNIX) o ant.bat, ws_ant.bat (Windows).

    • Actualizar manualmente el descriptor web:

      Edite el archivo web.xml que se empaqueta con la aplicación web para incorporar la declaración de filtro, su correlación de servlets y los parámetros de inicialización de contexto de servlet. No utilice este método porque es propenso a errores.

    Para obtener una lista de los parámetros que puede utilizar, consulte Parámetros de inicialización del contexto del servlet.
  2. Incorpore los archivos JAR del gestor de réplica de sesión de WebSphere eXtreme Scale en la aplicación. Puede incorporar los archivos en el directorio WEB-INF/lib del módulo de aplicación o en la vía de acceso de clases del servidor de aplicaciones. Los archivos JAR varían según el tipo de contenedores que utilice:
    • Servidores de contenedor remotos: ogclient.jar y sessionobjectgrid.jar
    • Servidores de contenedor incorporados: objectgrid.jar y sessionobjectgrid.jar
  3. Opcional: Si utiliza servidores de contenedor remotos, inicie los servidores de contenedor. Consulte Inicio de servidores de contenedor si desea más detalles.
  4. Despliegue la aplicación. Despliegue la aplicación con un conjunto de pasos normales para un servidor o un clúster. Después de desplegar la aplicación, puede iniciarla.
  5. Acceda a la aplicación. Ahora puede acceder a la aplicación, que interactúa con el gestor de sesiones y WebSphere eXtreme Scale.

Qué hacer a continuación

Puede cambiar la mayoría de los atributos de configuración para el gestor de sesiones cuando indica a la aplicación que utilice el gestor de sesiones. Estos atributos incluyen variaciones en el tipo de réplica (síncrona o asíncrona), el tamaño de la tabla de sesión en memoria, etc. Aparte de los atributos que pueden cambiarse durante la instrumentación de la aplicación, los otros únicos atributos de configuración que puede cambiar después del despliegue de la aplicación son los atributos relacionados con la topología de clúster de servidores de WebSphere eXtreme Scale y la forma en que sus clientes (gestores de sesiones) se conectan a los mismos.
Comportamiento del escenario remoto: Si no se puede acceder a la cuadrícula de datos entera que aloja los datos de sesión de aplicación desde el cliente de contenedor web, en su lugar el cliente utiliza el contenedor web base del servidor de aplicaciones para la gestión de sesiones. Es posible que no se pueda acceder a la cuadrícula de datos en los escenarios siguientes:
  • Problema de red entre el contenedor web y los servidores de contenedor remotos.
  • Los procesos del servidor de contenedor remoto se han detenido.
El número de referencias de sesión que se mantiene en la memoria, especificado por el parámetro sessionTableSize, se sigue manteniendo cuando las sesiones se almacenan en el contenedor web base. Las sesiones utilizadas menos recientemente se invalidan desde la memoria caché de sesión de contenedor web cuando se sobrepasa el valor sessionTableSize. Si la cuadrícula de datos remota pasa a estar disponible, las sesiones que se han invalidado desde la memoria caché de contenedor web pueden recopilar datos de la cuadrícula de datos remota y cargar los datos en una nueva sesión. Si toda la cuadrícula de datos remota no está disponible y la sesión se invalida desde la memoria caché de sesión, los datos de sesión de usuario se pierden. Debido a este problema, no concluya toda la cuadrícula de datos remota de producción cuando el sistema se ejecute con carga.