Sun GlassFish Message Queue 4.4 Notas de la versión

Nuevas funciones de Message Queue 4.3

Message Queue 4.3 es una versión secundaria que incluye varias mejoras de funciones y errores corregidos. En esta sección se describen las nuevas funciones incluidas en esta versión:

Universal Message Service (UMS)

Message Queue 4.3 incluye un nuevo servicio UMS (Universal Messaging Service) y una API de mensajería que permiten acceder a Message Queue desde cualquier dispositivo con http. Como resultado, prácticamente cualquier aplicación puede comunicarse con otras aplicaciones y aprovechar la fiabilidad y el envío garantizado de la mensajería JMS. Además, el servicio UMS ofrece una mayor escalabilidad para la mensajería JMS, lo que permite aumentar el número de clientes de mensajería hasta proporciones de escala de Internet.

Arquitectura

La siguiente figura muestra la arquitectura UMS básica:

Figura 1–1 Arquitectura UMS

Ilustración que muestra el servicio UMS como puerta de enlace entre clientes no JMS y un proveedor JMS.

UMS, que se ejecuta en un servidor web, es un servicio independiente de la plataforma y con lenguaje neutro. El servicio UMS actúa como una puerta de enlace entre cualquier aplicación cliente no JMS y un proveedor JMS. Recibe mensajes enviados con la API UMS, los transforma en mensajes JMS y los produce en destinos del proveedor JMS mediante el protocolo nativo del proveedor. De modo similar, extrae mensajes de destinos del proveedor JMS, los transforma en mensajes de texto o SOAP y los envía a clientes no JMS según lo soliciten los clientes mediante la API UMS.

La API UMS, sencilla, independiente del lenguaje y basada en protocolo, admite tanto aplicaciones web como no basadas en web, y puede usarse con lenguajes de secuencias de comandos y de programación. La API está disponible en dos modelos: una API de mensajería sencilla que utiliza un protocolo de tipo REST (REpresentational State Transfer), y una API de mensajería XML que incrusta el protocolo en un encabezado de mensaje SOAP. En ambos modelos, la API sólo necesita una solicitud http para enviar o recibir un mensaje.

La sencillez y flexibilidad de la API UMS permite que aplicaciones AJAX, .NET, Python, C, Java y de otro tipo puedan enviar mensajes de texto o SOAP (con adjuntos) a destinos JMS o recibir mensajes de destinos JMS. Por ejemplo, las aplicaciones Python pueden comunicarse con aplicaciones .NET, las aplicaciones de iPhone pueden comunicarse con aplicaciones Java, etc.

Para Message Queue 4.3, el servicio UMS sólo admite Message Queue como proveedor JMS.

Funciones adicionales

La función del servicio UMS va más allá que una simple puerta de enlace, descrita anteriormente. Admite sesiones cliente con estado y sin estado. Si lo solicita el cliente, el servicio UMS mantendrá el estado de sesión de la aplicación cliente en varias solicitudes de servicio. El servicio UMS puede utilizar autenticación administrada por contenedor, o configurarse para autenticar los clientes mediante el agente de Message Queue, o ambos. El servicio UMS también admite transacciones, lo que permite a las aplicaciones cliente confirmar o deshacer varias solicitudes de servicio como una única unidad atómica.

El servicio UMS admite un gran número de clientes en una única conexión con el agente de Message Queue, lo que reduce la carga de los servicios de conexión del agente y permite una escalabilidad máxima. Además, la capacidad del servicio UMS puede aumentarse con escalado horizontal, lo que permite trabajar con cargas de mensajes de escala de Internet.

En el cliente, gracias a la sencillez de la API UMS basada en protocolo, no se necesitan bibliotecas de cliente. Como resultado, la API puede ampliarse en el futuro para aplicar nuevas funciones JMS sin necesidad de actualizar las aplicaciones del cliente.

Uso del servicio UMS

Para utilizar el servicio UMS debe implementar UMS en un contenedor web compatible con las especificaciones Servlet 2.4 o posterior, iniciar el agente de Message Queue, crear los destinos correspondientes y escribir una aplicación de mensajería que utilice la API UMS para enviar o recibir mensajes.

El archivo UMS imqums.war, incluido en Message Queue 4.3, se instala en la siguiente ubicación, según la plataforma:

Puede cambiar el nombre del archivo .war según sus necesidades.

Tabla 1–5 Ubicación del archivo imqums.war

Plataforma 

Ubicación de imqums.war

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

Cuando haya implementado el archivo imqums.war en un contenedor web en localhost:puerto, podrá consultar la documentación de UMS en:

http://localhost:puerto/imqums

De lo contrario, puede encontrar la documentación de UMS como se indica a continuación:

Contenedores web compatibles

Actualmente, los siguientes contenedores web admiten UMS:

Compatibilidad con la plataforma AIX

Message Queue 4.3 incluye paquetes para la plataforma AIX y el instalador correspondiente.

La implementación AIX de Message Queue admite el siguiente software:

Si necesita instrucciones de instalación, consulte el Capítulo 4, AIX Installation de Sun GlassFish Message Queue 4.4 Installation Guide.

En la plataforma AIX, los archivos de Message Queue se instalan en un único directorio raíz de Message Queue, IMQ_HOME. IMQ_HOME se refiere al directorio mqInstallHome/mq, mqInstallHome es el directorio raíz de la instalación especificado al instalar el producto (de manera predeterminada, es home-directory /MessageQueue).

La estructura de directorios de Message Queue resultante es la misma que en Windows (consulte la sección Windows del Apéndice A, Platform-Specific Locations of Message Queue Data de Sun GlassFish Message Queue 4.4 Administration Guide.)

Message Queue es compatible con la plataforma AIX, incluida la C-API de Message Queue. Si necesita instrucciones para generar y compilar aplicaciones C en la plataforma AIX, consulte XREF.

Nuevo instalador basado en Zip

Message Queue 4.3 incluye un nuevo instalador para distribuciones basadas en zip, en lugar de distribuciones de paquete nativo. El instalador permite instalar las nuevas distribuciones .zip de Message Queue para la plataforma AIX.

El nuevo instalador extrae los archivos .zip de Message Queue en cualquier directorio para el que el usuario tenga derechos de escritura (no son necesarios privilegios root) y también permite registrar la instalación de Message Queue con Sun Connection.

Para minimizar el tamaño de los paquetes de descarga, Java Runtime no se incluye en la distribución basada en zip (la mayoría de sitios ya lo tienen). Por lo tanto, el comando installer requiere que se especifique un JDK o JRE, ya sea mediante la variable de entorno JAVA_HOME o utilizando la opción -j en la línea de comando, como se muestra a continuación:

$ installer -j ruta-JDK/JRE

ruta-JDK/JRE es la ruta del JDK o JRE especificado.

Compatibilidad con plataformas ampliada

Message Queue 4.3 será compatible con las siguientes plataformas adicionales:

Mejoras adicionales

Message Queue 4.3 incluye las siguientes mejoras adicionales:

Nueva estructura de directorios en Windows

La estructura de directorios de la instalación de Message Queue en Windows se ha modificado con respecto a versiones anteriores, para que sea igual que en la plataforma AIX. En el futuro, esta estructura de directorios se utilizará también en Solaris y Linux para facilitar el uso de varias instalaciones en un único ordenador y las actualizaciones automáticas de Message Queue mediante Sun Connection; un servicio de Sun que facilita el control, la organización y el mantenimiento de hardware y software de Sun (consulte Compatibilidad del instalador con el registro en Sun Connection).

Nuevas propiedades de agente

Pueden utilizarse las siguientes propiedades nuevas para configurar un agente:

Tabla 1–6 Propiedades de envío y enrutamiento de agente

Propiedad 

Tipo 

Valor predeterminado 

Descripción 

imq.transaction.producer.maxNumMsgs

Entero 

1000

El número máximo de mensajes que un productor puede procesar en una única transacción. Se recomienda que el valor sea inferior a 5000 para evitar que se agoten los recursos.  

imq.transaction.consumer.maxNumMsgs

Entero 

100

El número máximo de mensajes que un consumidor puede procesar en una única transacción. Se recomienda que el valor sea inferior a 1000 para evitar que se agoten los recursos.  

imq.persist.jdbc.connection.limit

Entero 

5

El número máximo de conexiones que pueden estar abiertas en la base de datos. 

Mejoras de la API de administración JMX

Se han añadido claves de datos compuestas y un atributo nuevo a la API JMX:

Si necesita más información, consulte el Capítulo 3, Message Queue MBean Reference de Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients.

Listado de suscripciones duraderas de suscriptores comodín

El comando para obtener una lista de las suscripciones duraderas:

list dur [-d topicName]

se ha mejorado para poder especificar el nombre de tema. Si no se especifica ningún tema, el comando muestra todas las suscripciones duraderas de todos los temas, incluidas las que contengan caracteres comodín.