Notes de version de Sun GlassFish Message Queue 4.4

Nouvelles fonctions de Message Queue 4.3

Message Queue 4.3 était une version mineure apportant un certain nombre d'améliorations de fonctions et des corrections de bogues. Cette section décrit les nouvelles fonctions incluses dans cette version :

Universal Message Service (UMS)

Message Queue 4.3 introduit un nouveau service UMS (Universal Messaging Service, service de messagerie universelle) et une API de messagerie qui permet d'accéder à Message Queue à partir de n'importe appareil compatible http. Par conséquent, la plupart des applications peuvent communiquer avec toute autre application et profiter de la fiabilité et de l'envoi garanti de messages JMS. En outre, le service UMS offre une évolutivité améliorée pour la messagerie JMS, permettant d'augmenter le nombre de clients de messagerie à l'échelle d'Internet.

Architecture

La figure suivante illustre l'architecture UMS de base :

Figure 1–1 Architecture UMS

Illustration indiquant que l'UMS est un pont entre des clients non JMS et un fournisseur JMS.

Le service UMS, qui s'exécute sur un serveur Web, est un langage neutre et indépendant de la plate-forme. Le service UMS sert de pont entre une application cliente non JMS et un fournisseur JMS. Il reçoit les messages envoyés via l'API UMS, les transforme en messages JMS, puis les envoie aux différentes destinations dans le fournisseur JMS par le biais du protocole natif du fournisseur. De même, il extrait les messages des destinations du fournisseur JMS, les transforme en texte ou en messages SOAP, puis envoie les messages aux clients non JMS comme demandé par les clients via l'API UMS.

L'API UMS, basée sur un protocole simple, non dépendant d'un langage, prend en charge les applications basées sur le Web et non basées sur le Web, et peut être utilisée avec les langages de script et de programmation. L'API est proposée dans deux styles : une API de messagerie simple qui utilise un protocole de type REST (Representational State Transfer) et une API de messagerie XML qui incorpore le protocole dans les en-têtes de messages SOAP. Dans les deux cas, cependant, l'API ne requiert qu'une seule requête http pour envoyer ou recevoir un message.

La simplicité et la flexibilité de l'API UMS signifie que AJAX, .NET, Python, C, Java et bien d'autres applications peuvent envoyer un message texte et/ou des messages SOAP (avec pièce jointe) aux destinations JMS ou recevoir de messages de destinations JMS. Par exemple, les applications Python peuvent communiquer avec les applications .NET, les applications iPhone avec les applications Java, etc.

Pour Message Queue 4.3, le service UMS prend uniquement en charge Message Queue en tant que fournisseur JMS.

Autres fonctions

Le service UMS est plus que le simple pont décrit ci-dessus. Il prend en charge les sessions client avec ou sans état. Si le client le demande, le service UMS conservera l'état de la session pour l'application client sur plusieurs requêtes de service. Le service UMS peut utiliser l'authentification par conteneur, être configuré pour authentifier les clients à l'aide du courtier Message Queue, ou les deux. Le service UMS prend également en charge les transactions, permettant ainsi aux applications clientes de valider ou répéter plusieurs requêtes de service comme une seule unité atomique.

Le service UMS pouvant prendre en charge un grand nombre de clients sur une connexion unique avec le courtier Message Queue, il facilite la charge des services de connexion du courtier, pour une évolutivité optimale. En outre, la capacité UMS peut être augmentée par mise à l'échelle horizontale, ce qui permet des charges de messagerie de niveau Internet.

Côté client, en raison de la simplicité de l'API UMS basée sur protocole, aucun client de bibliothèque n'est requis. Par conséquent, l'API peut être étendue à l'avenir pour mettre en œuvre des fonctions JMS sans mettre à niveau les applications clientes.

Utilisation du service UMS

Pour utiliser le service UMS, vous devez le déployer dans un conteneur Web prenant en charge les spécifications Servlet 2.4 ou version ultérieure, démarrer le courtier Message Queue, créer les destinations appropriées et écrire une application de messagerie qui utilise l'API UMS pour envoyer ou recevoir des messages.

Le fichier UMS imqums.war, contenu dans la distribution de Message Queue 4.3, est installé à l'emplacement suivant, en fonction de la plate-forme :

Vous pouvez renommer le fichier .war.

Tableau 1–5 Emplacement du fichier imqums.war

Plate-forme 

Emplacement du fichier imqums.war

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

Après avoir déployé le fichier imqums.war dans un conteneur Web à localhost:port, vous pouvez trouver la documentation UMS disponible à l'adresse suivante :

http://localhost:port/imqums

Sinon, vous pouvez trouver la documentation UMS comme suit :

Conteneurs Web pris en charge

Le service UMS est actuellement pris en charge sur les conteneurs Web suivants :

Prise en charge de la plate-forme AIX

Message Queue 4.3 fournit des packages pour la plate-forme AIX et un programme d'installation pour les installer.

L'implémentation AIX de Message Queue prend en charge les logiciels suivants :

Pour obtenir des instructions sur la procédure d'installation, reportez-vous au Chapitre 4, AIX Installation du Sun GlassFish Message Queue 4.4 Installation Guide.

Sur la plate-forme AIX, les fichiers Message Queue sont installés sous un répertoire de base Message Queue unique, IMQ_HOME. IMQ_HOME indique le répertoire mqInstallHome/mq, où mqInstallHome est le répertoire d'installation de base que vous avez spécifié lors de l'installation du produit (par défaut, home-directory /MessageQueue).

La structure du répertoire de Message Queue qui en résulte est identique à celle de la plate-forme Windows (reportez-vous à la section Windows de l'Annexe A, Platform-Specific Locations of Message Queue Data du Sun GlassFish Message Queue 4.4 Administration Guide).

La prise en charge de Message Queue pour la plate-forme AIX comprend la prise en charge de la C-API de Message Queue. Pour obtenir des instructions sur la création et la compilation d'applications C sur la plate-forme AIX, reportez-vous à XREF.

Nouveau programme d'installation à partir de zip

Message Queue 4.3 introduit un nouveau programme d'installation pour les distributions basées sur des zips, par opposition aux distributions de packages natifs. Le programme d'installation permet d'installer les nouvelles distributions .zip de Message Queue pour la plate-forme AIX.

Le nouveau programme d'installation extrait les fichiers .zip de Message Queue vers tout répertoire pour lequel vous disposez de droits d'accès en écriture (il n'est pas nécessaire de disposer de droits d'accès de superutilisateur), et il vous permet également d'enregistrer votre installation de Message Queue avec Sun Connection.

Pour réduire la taille de téléchargement des bundles, Java Runtime n'est plus inclus dans le zip de la distribution (la plupart des sites en sont déjà équipés). Par conséquent, la commande installer nécessite de spécifier un JDK ou un JRE, soit à l'aide de la variable d'environnement JAVA_HOME, soit à l'aide de l'option -j de la ligne de commande, comme suit :

$ installer -j JDK/JRE-path

JDK/JRE-path correspond au chemin d'accès au JDK ou JRE spécifié.

Prise en charge d'une plate-forme étendue

La prise en charge de la plate-forme mise à jour suivante sera certifiée pour Message Queue 4.3 :

Améliorations supplémentaires

Les améliorations supplémentaires suivantes sont incluses dans Message Queue 4.3 :

Nouvelle structure de répertoires sur les plates-formes Windows

La structure de répertoires installée pour Message Queue sur la plate-forme Windows a été modifiée par rapport aux versions précédentes pour la rendre identique à celle de la plate-forme AIX. Cette structure de répertoires sera également appliquée aux plates-formes Solaris et Linux dans le futur, afin de faciliter les installations multiples sur seul ordinateur et la mise à jour automatique de Message Queue via Sun Connection, un service hébergé par Sun qui vous aide à suivre, organiser et entretenir le matériel et les logiciels Sun (reportez-vous à la section Prise en charge du programme d'installation pour l'enregistrement à Sun Connection).

Nouvelles propriétés de courtier

Les nouvelles propriétés suivantes sont disponibles pour la configuration d'un courtier :

Tableau 1–6 Routage du courtier et propriétés de distribution

Propriétés 

Type 

Valeur par défaut 

Description 

imq.transaction.producer.maxNumMsgs

Entier 

1000

Nombre maximal de messages qu'un producteur peut traiter en une seule transaction. Il est recommandé que la valeur soit inférieure à 5 000 pour éviter d'épuiser les ressources. 

imq.transaction.consumer.maxNumMsgs

Entier 

100

Nombre maximal de messages qu'un consommateur peut traiter en une seule transaction. Il est recommandé que la valeur soit inférieure à 1 000 pour éviter d'épuiser les ressources. 

imq.persist.jdbc.connection.limit

Entier 

5

Nombre maximal de connexions qui peuvent être ouvertes à la base de données. 

Améliorations de l'API d'administration JMX

Un nouvel attribut et des clés de données composites ont été ajoutés à l'API JMX, comme suit :

Pour de plus amples informations, reportez-vous au Chapitre 3, Message Queue MBean Reference du Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients.

Liste des abonnements durables pour les abonnés de messages génériques

La commande permettant de dresser une liste des abonnements durables :

list dur [-d topicName]

a été améliorée afin que la spécification du nom de la rubrique soit facultative. Si la rubrique n'est pas spécifiée, la commande crée une liste de l'ensemble des abonnements durables pour toutes les rubriques (y compris ceux comportant des conventions d'attribution de noms avec des caractères génériques)