WebSphere Application Server proporciona la protección a nivel de mensaje en un entorno en clúster. Puede utilizar Web Services Secure Conversation (WS-SecureConversation) para la protección a nivel de mensaje de
los servicios web API de Java™ para servicios web XML 2.0 (JAX-WS)
en un entorno en clúster.
Antes de empezar
Una solicitud de servicios web que está protegida con una Señal de contexto de seguridad
(SCT, Security Context Token) se direcciona a un servidor de un clúster, pero ese SCT podría
haberlo emitido o renovado otro servidor del clúster. Si la memoria caché distribuida de WebSphere
Application Server no se configura para hacer una réplica o no se hace la réplica con la agilidad
suficiente, el servidor que procesa la solicitud quizá no tenga acceso al SCT. Los pasos de la tarea descritos en este tema deben realizarse
únicamente si el valor de réplica para los miembros del clúster está establecido en actualización asíncrona
para la memoria caché distribuida de la seguridad de servicios web.
Para obtener
más información sobre los valores de actualización de la memoria caché, consulte el tema
Habilitación de la memoria caché distribuida utilizando actualización síncrona y recuperación de señales.
También puede habilitar la memoria caché distribuida de los servicios web con el valor predeterminado, que habilita
la actualización síncrona de los miembros del clúster.
Acerca de esta tarea
Realice los pasos siguientes de alto nivel para habilitar la memoria caché distribuida
y la afinidad de sesiones al utilizar Secure Conversation para la protección a nivel de mensaje
en un entorno en clúster.
Procedimiento
- Habilite la memoria caché distribuida para la Señal de contexto de seguridad.
- En la consola administrativa de WebSphere Application Server, pulse .
- Seleccione el recuadro de selección Habilitar colocación en memoria caché distribuida.
- Pulse en el botón de selección para seleccione Actualización
síncrona de miembros de clúster.
- Pulse Aplicar y, a continuación, pulse Guardar para guardar la configuración.
- Cree un dominio de réplica. Realice los pasos siguientes:
- En la consola administrativa, pulse .
- Escriba un nombre. Por ejemplo, ABCDomain.
- En Número de duplicaciones, seleccione la opción Todo el dominio.
- Pulse Aceptar y, a continuación, pulse Guardar
para guardar la configuración.
- Habilite la memoria caché dinámica. Realice estos pasos para todos los servidores del clúster:
- En la consola administrativa, pulse .
- Seleccione la opción Habilitar la réplica de memoria caché.
- Seleccione el nombre de dominio que ha creado.
Por ejemplo, ABCDomain.
- Seleccione el tipo de duplicación como Ambos, push y pull.
- Pulse Aceptar y, a continuación, pulse Guardar
para guardar la configuración.
- Opcional: Cambie el intervalo de actualización del lote de
memoria caché distribuida. De forma predeterminada, el intervalo de actualización de lote de memoria caché distribuida es de
1.000 milisegundos. No obstante, puede establecer este intervalo en un valor inferior a
1.000 milisegundos. Para cambiar el valor, siga estos pasos para cada servidor del clúster:
- En la consola administrativa, pulse .
- Especifique el nombre de la propiedad com.ibm.ws.cache.CacheConfig.batchUpdateInterval.
- Especifique el valor de la propiedad.
- Pulse Aceptar y, a continuación, pulse Guardar
para guardar la configuración.
- Instale y configure un servidor web o proxy que admita la afinidad de sesiones. IBM® HTTP Server y el servidor proxy WebSphere Application Server admiten la afinidad de sesiones. En el Information Center de WebSphere Application
Server, consulte el tema "Comunicación con los servidores web"
para obtener información sobre cómo instalar y configurar IBM HTTP Server.
- Configure los sistemas cliente para enviar las solicitudes de servicios web
al host y puerto donde se ejecuta el servidor web o el servidor proxy.
El servidor web
o el servidor proxy a continuación envía las solicitudes al miembro de clúster adecuado.
- En los servicios que reciben las solicitudes de los servicios web, que están protegidos
mediante Web Services Secure Conversation, seleccione la opción de política
Sesión habilitada del transporte HTTP. Complete la configuración del conjunto de políticas
siguiendo estos pasos:
- Añada la política de transporte HTTP al conjunto de políticas que los servicios
están utilizando.
- En el panel de configuración de la política de transporte HTTP, seleccione Sesión habilitada.
- Pulse Aceptar y, a continuación, pulse Guardar
para guardar la configuración.
- En los sistemas cliente que envían las solicitudes de los servicios web y que están
protegidos mediante Secure Conversation, habilite la propiedad Mantener sesión del transporte HTTP. Complete la configuración del conjunto de políticas o establezca la propiedad mediante programa. Si utiliza un conjunto de políticas con la configuración, siga estos pasos:
- Añada la política de transporte HTTP al conjunto de políticas que los clientes
están utilizando.
- En el panel de configuración de políticas de transporte HTTP, seleccione la opción Sesión
habilitada.
- Pulse Aceptar y, a continuación, pulse Guardar
para guardar la configuración.
Resultados
Después de que se han completado las configuraciones, habrá habilitado la memoria caché distribuida
y la afinidad de sesiones al utilizar Secure Conversation en un entorno en clúster. Si el servidor que procesa la solicitud no tiene acceso al SCT, no podrá satisfacer la solicitud
con el error de El SCT es nulo o no es válido.
Ejemplo
En el ejemplo siguiente, que es un fragmento de código, se muestra cómo
establecer mediante programa la propiedad Sesión de mantenimiento en el objeto JAX-WS correcto.
Map<String> rc = ((BindingProvider) port).getRequestContext();
...
rc.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, Boolean.TRUE);
... </String>