Configuración del gestor de sesiones HTTP con WebSphere Application Server

Mientras que WebSphere Application Server proporciona función de gestión de sesiones, el rendimiento disminuye a medida que el número de solicitudes aumenta. WebSphere eXtreme Scale se entrega empaquetado con una implementación de gestión de sesiones que proporciona réplica de sesiones, mejor escalabilidad y opciones de configuración más potentes.

Antes de empezar

Acerca de esta tarea

El gestor de sesiones HTTP de WebSphere eXtreme Scale soporta ambos servidores, los remotos y los incrustados, para el almacenamiento en la memoria caché.
  • Caso de ejemplo de incrustado

    En el caso de ejemplo de incrustado, los servidores de WebSphere eXtreme Scale comparten ubicación en los mismos procesos donde se ejecutan los servlets. El gestor de sesiones se puede comunicar directamente con la instancia local de ObjectGrid, lo que evita costosos retardos de red.

    Si utiliza WebSphere Application Server, coloque los archivos inicio_wxs/session/samples/objectGrid.xml y inicio_wxs/session/samples/objectGridDeployment.xml proporcionados en los directorios META-INF de sus archivos WAR (Web ARchive). eXtreme Scale detecta automáticamente estos archivos cuando se inicia la aplicación e inicia automáticamente los contenedores de eXtreme Scale en el mismo proceso que el gestor de sesiones.

    Puede modificar el archivo objectGridDeployment.xml en función de si desea utilizar la réplica síncrona o asíncrona y de cuantas réplicas desea configurar.

  • Caso de ejemplo de servidores remotos

    En el escenario de servidores remotos, los servidores de contenedor se ejecutan en distintos procesos que los servlets. El gestor de sesiones se comunica con un servidor de contenedor remoto. Para utilizar un servidor de contenedor remoto conectado a la red, el gestor de sesiones se debe configurar con los nombres de host y los números de puerto del dominio de servicio de catálogo. El gestor de sesiones utilizará una conexión de cliente de eXtreme Scale para comunicarse con el servidor de catálogo y los servidores de contenedor.

    Si los servidores de contenedor se inician en procesos independientes autónomos, inicie los contenedores de eXtreme Scale con los archivos objectGridStandAlone.xml y objectGridDeploymentStandAlone.xml proporcionados en el directorio de ejemplos del gestor de sesiones.

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 varias formas en las que puede introducir esta información en la aplicación:
    • Unión automática con WebSphere Application Server

      Puede configurar la aplicación para utilizar el gestor de sesiones HTTP de WebSphere eXtreme Scale al instalar la aplicación. Puede editar también la configuración de servidor o de la aplicación para utilizar el gestor de sesiones HTTP de WebSphere eXtreme Scale. Si desea más información, consulte Empalmar automáticamente aplicaciones para la gestión de sesiones HTTP en WebSphere Application Server.

    • Unión automática de la aplicación con propiedades personalizadas

      No tiene que unir manualmente las aplicaciones cuando la aplicación se ejecuta en WebSphere Application Server o WebSphere Application Server Network Deployment.

      Añada una propiedad personalizada a una célula o a un servidor para definir el archivo splicer.properties para todas las aplicaciones de ese ámbito. Siga los pasos siguientes para configurar la propiedad personalizada:

      1. En la consola administrativa de WebSphere Application Server, navegue a la vía de acceso correcta donde desea definir que la propiedad personalizada para indicar la ubicación del archivo splicer.properties.
        • Para establecer la propiedad personalizado para todas las aplicaciones o para una aplicación específica, pulse Administración del sistema > Célula > Propiedades personalizadas.
        • Para establecer la propiedad personalizada para aplicar a todas las aplicaciones en un servidor de aplicaciones específico, pulse Servidor de aplicaciones > <nombre_servidor> > Administración > Propiedades personalizadas. El nombre de propiedad es com.ibm.websphere.xs.sessionFilterProps y su valor es la ubicación del archivo splicer.properties que requieren las aplicaciones. A continuación se muestra una vía de acceso de ejemplo de un archivo: /opt/splicer.properties.
      2. Añada la propiedad personalizada com.ibm.websphere.xs.sessionFilterProps. Este valor de propiedad personalizada proporciona la ubicación del archivo splicer.properties que se va a editar. El archivo existe en el gestor de despliegue. Si desea indicar el archivo splicer.properties para una aplicación específica con una propiedad personalizada de nivel de célula, especifique el nombre de la propiedad personalizada como: <nombre_aplicación>,com.ibm.websphere.xs.sessionFilterProps, donde nombre_aplicación indica el nombre de la aplicación para la que desea aplicar la propiedad personalizada.
      Importante: Asegúrese de que el archivo splicer.properties actualizado está en la misma vía de acceso en todos los nodos que contienen un servidor de aplicaciones que aloja la aplicación o las aplicaciones que se están uniendo para la réplica de sesión.

      Los ámbitos de célula de servidor y de aplicación son los ámbitos disponibles y sólo están disponibles si se trabaja con un gestor de despliegue. Si requiere un ámbito distinto, una manualmente las aplicaciones web.

      Recuerde: Observe también que la opción de unión automática funciona únicamente si todos los nodos que ejecutan la aplicación contienen el archivo splicer.properties en la misma vía de acceso. Para entornos mixtos que contienen nodos Windows y UNIX, esta opción no es posible, así que debe unir manualmente la aplicación.
    • Puede unir la aplicación con el 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. Para un despliegue de WebSphere Application Server, este script se carga en <inicio_was>/optionalLibraries/ObjectGrid/session/bin/addObjectGridFilter.bat/sh. En un despliegue autónomo, este script está en WXS_HOME/ObjectGrid/session/bin/addObjectGridFilter.sh/bat. El script oddObjectGridFilter utiliza dos parámetros:
      • Aplicación: vía de acceso absoluta del archivo de archivado empresarial que se unirá
      • Vía de acceso absoluta del archivo de propiedades de splicer que contiene diversas propiedades de configuración.

      El formato de uso de este script es el siguiente:

      [Windows]
      addObjectGridFilter.bat [archivo_ear] [archivo_propiedades_splicer]
      [Unix]
      addObjectGridFilter.sh [archivo_ear] [archivo_propiedades_splicer]
      [Unix] Ejemplo utilizando eXtreme Scale instalado en WebSphere Application Server en UNIX:
      1. cd inicio_wxs/optionalLibraries/ObjectGrid/session/bin
      2. addObjectGridFilter.sh /tmp/mySessionTest.ear raíz_was/optionalLibraries/ObjectGrid/session/samples/splicer.properties

      [Unix] Ejemplo utilizando eXtreme Scale instalado en un directorio autónomo en UNIX:

      1. cd raíz_was/session/bin
      2. addObjectGridFilter.sh /tmp/mySessionTest.ear raíz_was/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.

    • Una manualmente la aplicación con el 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. Puede modificar el archivo build.xml e invocar el proceso Ant ejecutando el mandato siguiente:
      • [Unix] ant.sh, ws_ant.sh
      • [Windows] ant.bat, ws_ant.bat
      (UNIX) o (Windows).
    • Actualice 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. 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.
  3. 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: réplica síncrona o asíncrona, tamaño de 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 de escenario remoto: si no se puede acceder a toda la cuadrícula de datos que aloja los datos de sesión de la aplicación desde el cliente de contenedor web, en su lugar el cliente utiliza el contenedor web base en WebSphere Application Server 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.