Inclusion de MQ Console dans une iFrame
Historiquement, les outils d’administrations MQ allaient du mode ligne en MQSC (inclus dans MQ) à la suite commerciale d’administration à plusieurs dizaines de milliers d’euros.
Parmi les outils gratuits utilisés aujourd’hui, on trouve essentiellement MQ Explorer, un outil IBM founit avec MQ, qui est un client lourd à installer sur un poste de travail Window ou Linux.
Depuis la version 9.0.1, IBM propose un nouvel outil également gratuit : MQ Console.
Il s’agit d’une application web qui permet de piloter l’environnement MQ depuis un simple navigateur.
L’application web s’exécute dans une instance pré-configurée du serveur d’application Liberty, livrés avec MQ.
MQ Console propose la plupart des fonctions de MQ Explorer, et est suffisant pour 80 % des utilisateurs. Pour les autres, MQ Explorer apporte les fonctions avancées dont il ont besoin.
Dans sa version actuelle, MQ Console a néanmoins quelques limitations. Une des plus visible est qu’il y a une instance de MQ Console par « installation MQ ». Donc si vous avez 3 serveurs utilisant MQ, vous devez ouvrir 3 onglets dans le navigateur.
A partir de MQ version 9.1.3, IBM propose une nouvelle fonction qui permet d’incorporer les affichages de MQ Console dans des iFrames, ce qui permet d’ouvrir toutes vos consoles dans un seul onglet de navigateur.
Voici un exemple (très dépouillé) de page html qui permet d’afficher successivement les consoles de 3 serveurs dans une même page :
et voici le résultat :
(les connaisseurs auront reconnu l’image de fond !)
On clique sur le lien de la première console (Grim) :
Toutes les combinaisons sont possibles, par exemple afficher plusieurs consoles simultanément (si vous avez un grand écran !) ou naviguer entre les consoles via des onglets dans la page.
Il y a un peu de configuration à faire côté MQ Console : il faut spécifier quelles sont les pages autorisées à inclure la console, via la commande :
setmqweb properties -k mqConsoleFrameAncestors -v xxx
où xxx est la liste des pages source autorisées à inclure la console.
Il est possible d’employer des jokers (‘*’) au début du nom de host ou dans le port
Exemple
https://*:* : toutes les pages depuis tous les ports sont autorisées à inclure la console
https://*.dc-labs.fr:888 : seules les pages d’un sous-domaine de dc-labs.fr et venant du port 888 sont autorisées
https://ibmmq.fr : seules les pages venant du host ibmmq.fr, depuis tous les ports, sont autorisées
Dans le futur, il est probable qu’IBM va proposer des améliorations sur la manière de regrouper l’affichage de plusieurs consoles dans une même page web.