Configuración del bus de integración de servicios del servicio de mensajería web

El servicio de mensajería web facilita el uso del bus de integración de servicios como parte de WebSphere® Application Server V6.1.x y posteriores para proporcionar la función de publicación y suscripción subyacente que necesita para dar soporte a los clientes Bayeaux. Para determinar cómo interactúan los publicadores y los suscriptores de Bayeaux con el bus de integración de servicios, debe proporcionar algunos parámetros de configuración cuando se despliega una aplicación que proporciona capacidad Bayeaux.

El concepto de canal de suscripción de Bayeaux es equivalente a un tema en el bus de integración de servicios que permite la clasificación de sucesos en grupos relacionados, por ejemplo, /sports/football o /weather. En el bus de integración de servicios, existen temas en un destino de espacio de temas al que se conectan los productores y los consumidores. Los temas de un espacio de temas son completamente independientes de los temas, aunque tengan el mismo nombre, que existen en un espacio de temas diferente. Por lo tanto, parte de la configuración del servicio de mensajería web ofrece al desarrollador de aplicaciones la posibilidad de especificar qué espacio de temas de bus de integración de servicios utilizan las aplicaciones Bayeaux.

Asimismo, los sucesos (mensajes) publicados en un espacio de temas de bus de integración de servicios tienen una fiabilidad aplicada que determina cómo se tratan los mensajes dentro del bus. Esto incluye las condiciones en las que se pueden descartar los mensajes en la infraestructura de mensajería. En algunos casos de ejemplo, pueden descartarse los mensajes si el servidor tiene una restricción de recursos, posiblemente debida a una elevada carga de trabajo, mientras que en otros es preferible mantener los mensajes, incluso con el riesgo de sobrecargar el servidor.

Cuando se configuran casos de ejemplo avanzados que incluyen conceptos como la gestión de cargas de trabajo o la seguridad, también es necesario tener en cuenta las implicaciones de estos requisitos en el bus de integración de servicios. Cada uno de estos conceptos se describe con más detalle a continuación.

Las siguientes opciones están disponibles para configurar la forma en que las aplicaciones Bayeaux interactúan con el bus de integración de servicios.

  busName

    Se necesita un bus de integración de servicios para las operaciones de mensajería web. Los clientes sólo pueden conectarse a un bus de integración de servicios individual mediante un URI entrante individual. La conexión a varios buses sólo es posible si se crea una definición de configuración de mensajería web aparte y se especifica un nombre de bus diferente, pero el cliente deberá conectarse a través de URI diferentes y utilizar varias conexiones. Cuando se utiliza un cliente Ajax sólo es factible realizar una conexión Bayeux a un solo servidor en una sola página Web. Distintas páginas pueden especificar distintos URI y conectarse a distintos buses.

Nombre: busName
Necesario u opcional: Obligatoria
Tipo de datos: Sring
Valores soportados: El nombre de cualquier bus de integración de servicios
Valor predeterminado: Sin valor predeterminado
Descripción:

El bus de integración de servicios que utilizan los clientes de mensajería web entrantes para las operaciones de publicación y suscripción.

  destination

    En la mayoría de los casos de ejemplo, una aplicación Bayeaux debe consumir o producir mensajes de un espacio de temas individual del bus de integración de servicios. La propiedad destination permite al desarrollador de aplicaciones especificar qué espacio de temas se utiliza para todas las interacciones con el bus de integración de servicios.

Nombre: destino
Necesario u opcional: Opcional
Tipo de datos: Sring
Valores soportados: El nombre de cualquier espacio de temas de bus de integración de servicios
Valor predeterminado: Default.Topic.Space
Descripción:

Este es el espacio de temas en el bus de integración de servicios donde la aplicación consume y produce.

El destino especificado puede ser un espacio de temas real o un alias (consulte Destinos de alias) de un espacio de temas. La utilización de un alias permite aislar la aplicación del nombre real del espacio de temas.

Cuando se utiliza esta propiedad para nombrar el espacio de nombres que utilizan las aplicaciones Bayeaux, el nombre del tema dentro del espacio de temas se determina a partir del nombre de canal de suscripción de Bayeaux, eliminando la primera barra inclinada. Por ejemplo, un nombre de canal "/sports/football" se correlaciona con un tema de bus de integración de servicios "sports/football"

Si el desarrollador de aplicaciones no sabe qué espacio de temas se utiliza, esta propiedad puede omitirse y se utilizará el espacio de temas predeterminado.

Tenga en cuenta que la propiedad multipleDestinations altera temporalmente esta propiedad, tal como se describe en la siguiente sección.


  multipleDestinations

    En los casos de ejemplo avanzados, puede que una aplicación Bayeaux deba producir o consumir con más de un espacio de temas de bus de integración de servicios, por ejemplo, para mostrar datos de un rango de fuentes diferentes como parte de un entorno de portlet. En este caso, el desarrollador de aplicaciones puede habilitar la propiedad multipleDestinations, que altera temporalmente la propiedad destination y le permite especificar el nombre del destino de espacio de temas (o alias) necesario como parte del nombre del canal de suscripción de Bayeaux.

Nombre: multipleDestinations
Necesario u opcional: Opcional
Tipo de datos: Boolean
Valores soportados: true o false
Valor predeterminado: false
Descripción:

Habilita una sintaxis alternativa del canal de suscripción de Bayeaux que da soporte a la especificación del nombre del espacio de temas de bus de integración de servicios de destino como parte del nombre de canal.

Cuando está habilitada, esta propiedad hace que se utilice el primer segmento del canal para especificar el nombre del espacio de temas. Por ejemplo, para publicar en un tema "track/relay4x100" en el espacio de temas "OlympicResults", la aplicación especifica el siguiente canal de suscripción de Bayeaux;

/OlympicResults/track/relay4x100

Tenga en cuenta que se ha habilitado multipleDestinations, el valor de la propiedad 'destination' se ignora.


  reliability

    Los sucesos (mensajes) publicados en un espacio de temas de bus de integración de servicios tienen una 'fiabilidad' aplicada que determina cómo se tratan los mensajes dentro del bus. Esto incluye las condiciones en las que se pueden descartar los mensajes en la infraestructura de mensajería. En algunos casos de ejemplo, pueden descartarse los mensajes si el servidor tiene una restricción de recursos, posiblemente debida a una elevada carga de trabajo, mientras que en otros es preferible mantener los mensajes, incluso con el riesgo de sobrecargar el servidor.

Nombre: reliability
Necesario u opcional: Opcional
Tipo de datos: Sring
Valores soportados:
  • BestEffortNonPersistent
  • ExpressNonPersistent
  • ReliableNonPersistent
  • ReliablePersistent
  • AssuredPersistent
Valor predeterminado: ExpressNonPersistent
Descripción:

Especifica el nivel de fiabilidad con el que los sucesos (mensajes) publicados por las aplicaciones Bayeaux se envían al bus de integración de servicios.

Puede encontrar más información sobre el comportamiento de estas opciones en la sección Niveles de fiabilidad de mensajes.

Tenga en cuenta que para las suscripciones no duraderas, los mensajes no están disponibles después del reinicio del servidor, porque la suscripción ya no existe. Esto significa que supone una ventaja limitada elegir uno de los dos niveles de fiabilidad persistente. En la mayoría de los casos, debe utilizarse uno de los valores no persistentes.


  clientCanPublish

    El protocolo Bayeux da soporte a los clientes que publican en el bus de integración de servicios. Dependiendo de la aplicación que esté desarrollando, puede permitir no sólo el flujo de mensajes desde el servidor a los clientes de mensajería web. Por ejemplo, puede preferir que los clientes deban publicar mediante una aplicación Web (servlet) y tener un mayor control sobre la inspección del contenido del mensaje antes de publicarlo en el bus de integración de servicios. De forma predeterminada, los clientes no pueden publicar mediante el protocolo Bayeux.

Nombre: clientCanPublish
Necesario u opcional: Opcional
Tipo de datos: Boolean
Valores soportados: true o false
Valor predeterminado: false
Descripción:

Indica si los clientes de mensajería web tienen permiso para publicar. De forma predeterminada, los clientes no pueden publicar. Debe establecer explícitamente clientCanPublish en true para dar soporte a la publicación del cliente.


  authType

    Los clientes de mensajería web entrantes deben estar autenticados y autorizados para conectarse al bus de integración de servicios cuando está habilitada la seguridad del bus. Consulte Protección de una aplicación habilitada para mensajería web para obtener más información.

Nombre: authType
Necesario u opcional: Opcional
Tipo de datos: Sring
Valores soportados:
  • ninguno
  • auth_alias
  • basic
  • sso
Valor predeterminado: ninguno
Descripción:

Cuando la seguridad está habilitada, los clientes Web entrantes necesitan una identidad para autorizarse en el bus de integración de servicios. Especifique este parámetro de configuración para determinar dónde se obtiene la información de autenticación para iniciar una sesión en el bus de integración de servicios.

  • La opción "none" indica que no se ha utilizado ninguna información de ID de usuario y contraseña para iniciar una sesión en el bus de integración de servicios.
  • La opción "auth_alias" indica el ID de usuario y la contraseña obtenidos de la directiva de configuración de authAlias que se han utilizado para iniciar una sesión en el bus de integración de servicios.
  • La opción "basic" puede utilizarse cuando esté habilitada la seguridad Web para la aplicación. La opción "basic" utiliza los credenciales de la cabecera de autenticación básica para iniciar una sesión en el bus de integración de servicios.
  • La opción "sso" puede utilizarse cuando esté habilitada la seguridad Web para la aplicación. La opción "sso" utiliza los credenciales de las cookies LTPA para iniciar una sesión en el bus de integración de servicios.

Si alguna de las opciones no puede recuperar credenciales, se ejecuta un inicio de sesión en el bus de integración de servicios con un ID de usuario y una contraseña en blanco. Si está habilitada la seguridad del bus de integración de servicios, los clientes Web no podrán conectarse para realizar operaciones de mensajería web.


useDurable

   Se utilizará una suscripción duradera con el bus de integración de servicios para las peticiones de suscripción Bayeux cuando la propiedad de configuración useDurable se haya establecido en true. Una suscripción duradera se puede utilizar para mantener los mensajes publicados sobre un tema mientras el suscriptor está inactivo.

Nombre: useDurable
Necesario u opcional: Opcional
Tipo de datos: Boolean
Valores soportados: true o false
Valor predeterminado: false
Descripción:

Cuando se utilizan suscripciones duraderas para la mensajería web, los clientes Web podrán reanudar operaciones después de un periodo breve de tiempo sin perder mensajes cuando las suscripciones de un cliente Web con el bus de integración de servicios pasan a estar inactivas. Una suscripción puede volverse inactiva debido a lo siguiente: anomalía en el servidor, anomalía en el motor de mensajería o anomalía en la conexión con un motor de mensajería.

Al ejecutar una aplicación habilitada para la mensajería web en un entorno en clúster, debe pensar en establecer las propiedades de configuración useDurable y useDistributedSession en true para conseguir unos resultados óptimos para la sustitución por anomalía. Cuando las dos propiedades se establecen en true, un cliente de mensajería web podrá sustituir por anomalía un servidor por otro y reanudar todas las suscripciones duraderas.

Cuando se utilizan suscripciones duraderas para la mensajería web, cada cliente de mensajería web permanece unido al motor de mensajería al que se conecta primero. Cuando un cliente de mensajería web anula la suscripción de un tema, ya sea un resultado de una determinada operación de suscripción Bayeux, una operación de desconexión Bayeux o una caducidad de sesión Bayeus, el motor de mensajería debe estar en ejecución para que la operación de anulación de suscripción se complete. El motor de mensajería web realiza un seguimiento de la información de tecnología de la información y caduca cuando es posible, pero hay veces que no es posible. En estas situaciones, las suscripciones duraderas deben suprimirse manualmente a través de los procedimientos de administración.

Muchas veces hay un breve retardo antes de que se puedan reanudar las suscripciones duraderas del cliente de mensajería web. El mecanismo de asesoramiento de reconexión Bayeux se utiliza para indicar a los clientes de mensajería web que se reconecten después de un breve periodo de tiempo para restaurar estas suscripciones duraderas. El intervalo de reconexión se controla mediante la propiedad de configuración reinitInterval. La cantidad máxima de tiempo para intentar la reconexión se controla mediante la propiedad de configuración MaxReinitDuration.

Existe una sobrecarga adicional al utilizar suscripciones duraderas y debe realizarse una planificación antes de establecer esta propiedad. Consulte la documentación de bus de integración de servicios para obtener más información.

autoReinit

     Los clientes de mensajería web se reconectarán con el bus de integración de servicios y volverán a suscribirse a todos los temas cuando se detecte un problema en la comunicación con un bus de integración de servicios si la propiedad de configuración autoReinit está establecida en set.

Nombre: autoReinit
Necesario u opcional: Opcional
Tipo de datos: Boolean
Valores soportados: true o false
Valor predeterminado: false
Descripción:

Cuando un cliente de mensajería web detecta un error al comunicarse con un bus de integración de servicios, la propiedad autoReinit debe establecerse para reinicializar automáticamente una conexión con el bus de integración de servicios y volver a suscribirse a todos los temas a los que se estaba suscrito anteriormente. Durante el intervalo entre la pérdida de suscripción y la reinicialización, ninguno de los mensajes publicados en un tema alcanzarán el cliente de mensajería web.

Si las propiedades useDurable y autoReinit están establecidas en true, la propiedad useDurable entrará en vigor.

Al ejecutar una aplicación habilitada para la mensajería en un clúster, puede pensar en establecer las propiedades de configuración autoReinit y useDistributedSession en true. Cuando las dos propiedades se establecen en true, un cliente de mensajería web podrá reanudar operaciones cuando un servidor falle y las operaciones de mensajería web se reanudan en otro servidor. Si las propiedades autoReinit y useDurable están establecidas en false, el aviso de reconocimiento de comunicación repetido de Bayeux se envía al cliente indicando que el cliente debe volver a reconocer la comunicación e inicializar una nueva sesión Bayeux.

Muchas veces hay un breve retardo antes de que se puedan volver a inicializar las conexiones y suscripciones del cliente de mensajería web. El mecanismo de aviso de reintento de reconexión de Bayeux se utiliza para indicar a los clientes de mensajería web que se vuelvan a conectar después de un breve periodo de tiempo para reinicializar las suscripciones del cliente. Este intervalo de reconexión se controla mediante la propiedad de configuración reinitInterval. La cantidad máxima de tiempo para intentar la reconexión se controla mediante la propiedad de configuración MaxReinitDuration.

reinitInterval

   Cuando una de las propiedades de configuración autoReinit o useDurable son true y se produce un error al comunicarse con el bus de integración de servicios, al cliente de mensajería web se le indica que se vuelva a conectar periódicamente para reanudar las operaciones, tal como especifica la propiedad de configuración reinitInterval.

Nombre: reinitInterval
Necesario u opcional: Opcional
Tipo de datos: Entero
Valores soportados: Un valor especificado en segundos entre 1 y 300
Valor predeterminado: 10
Descripción:

Después de que un cliente de mensajería web encuentre un error al comunicarse con un bus de integración de servicios, puede haber un breve periodo de tiempo antes de que un cliente de mensajería web pueda reanudar la comunicación con un bus de integración de servicios. Cuando esto sucede, el reintento de reconexión de Bayeux con un aviso de intervalo se envía al cliente para indicar al cliente que se vuelva a conectar de acuerdo con el intervalo especificado por la propiedad de configuración reinitInterval. . El cliente de mensajería web intentará volver a conectarse hasta el máximo tiempo especificado por la propiedad de configuración maxReinitDuration.

maxReinitDuration

    La propiedad de configuración maxReinitDuration especifica la máxima cantidad de tiempo que un cliente de mensajería web intentará reanudar operaciones con un propiedad.

Nombre: maxReinitDuration
Necesario u opcional: Opcional
Tipo de datos: Entero
Valores soportados: Un valor especificado en segundos entre 10 y 600
Valor predeterminado: 60
Descripción:

Cuando las propiedades de configuración autoReinit o useDurable se establecen en true, un cliente de mensajería web intentará reanudar las operaciones con el bus de integración de servicios. En algunas situaciones, puede que no sea posible reanudar operaciones de una forma precisa. Una vez ha transcurrido el periodo maxReinitDuration, el cliente de mensajería web no intentará reanudar operaciones con el bus de integración de servicio y la sesión Bayeux caducará.



Condiciones de uso | Comentarios