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.

IBM MQ Explorer

IBM MQ Explorer

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 :

Source index.html

Source index.html

et voici le résultat :

Page index

Page index


(les connaisseurs auront reconnu l’image de fond !)

On clique sur le lien de la première console (Grim) :

Login MQ Console Grim

Login MQ Console Grim

MQ Console Grim

MQ 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.