JMX séduit les développeurs Java
Avec JMX, les entreprises disposent d'un outillage quasi complet pour gérer leurs EJB. Pour les services web, tout est encore à faire.
01net.
le 02/05/03 à 00h00
' Un service web, c'est comme un produit dans une boutique. On peut le regarder, éventuellement le toucher, mais son administration reste le problème du commerçant ', plaisante
Eric Didier, PDG de la société de services Soamaï. Reste que si ledit service web est invoqué par une autre application, la connaissance de son état, de ses performances, peut se révéler indispensable.
Malheureusement, aujourd'hui, les moyens de superviser les services web sont assez limités. Il existe bien des possibilités de faire remonter des informations en utilisant les données contenues dans l'enveloppe WSDL (Web Services
Description Language), et de les véhiculer via Soap. Mais ces spécifications restent limitées, et rien d'autre n'est disponible pour l'instant.
Les consortiums de normalisation sont à l'?"uvre
' Le but du groupe de travail sur WSCI Web Service Choreography Interface est, en particulier, de donner les moyens de décrire ce que fait exactement le service web, dans quel environnement et avec
quel élément il pourra dialoguer ', affirme Yves Lafon, contact au sein du W3C pour le groupe de travail WSCI et Soap.
Malheureusement, même si WSCI est déjà intégré dans des serveurs d'applications comme celui de BEA, cette spécification nécessite encore des développements importants ' à la main '. Un
autre consortium, l'Oasis, vient lui de créer une unité spécialisée sur les problématiques d'administration : le Web Services Distributed Management (WSDM).
' Il existe deux types de normes, estime Christian Doguet, directeur avant-vente de BEA Systems France, celles développées par des consortiums qui s'affrontent entre eux, et celles
créées pour J2EE, qui sont claires et nettes pour tout le monde '. Et il est vrai qu'en ce qui concerne l'administration, le monde Java dispose déjà de l'arme fatale. Celle-ci répond au doux nom de JMX (Java Management
Extensions).
' Cette norme permet de surveiller tant les problématiques techniques que métier ', s'enthousiasme Arnaud Ladrière, directeur technique de l'éditeur Softeam. JMX s'appuie sur des EJB
(Enterprise JavaBeans) spécifiques, les MBeans (Managed Beans). Ces derniers peuvent être de quatre types standard, dynamique, open, model qui présentent un degré de complexité de développement croissant.
Les MBeans peuvent gérer, mais aussi piloter, les EJB. Les informations peuvent être agrégées au niveau du Managed Beans, remontées directement vers une interface graphique JMX comme celle proposée par Dirig , ou vers
les systèmes d'administration classiques. Ces technologies Java coexistent également avec un standard presque aussi ancien que la notion d'administration elle-même : SNMP (Simple Network Management Protocol).
Même si ses utilisateurs doivent se contenter d'informations concernant le container et le déploiement des EJB. D'autres utilisent un mélange de technologies propriétaires et de JMX pour détecter les parties de code responsables des
problèmes de performance des EJB, ou des applications tierces (bases de don-ONE. nées la plupart du temps) responsables de la dégradation du temps de réponse. Mais après, ' c'est au développeur de se
débrouiller ', rappelle Yohann Remi, consultant avant-vente J2EE chez Precise Software France.
Des composants JMX développés en quelques jours
Une société spécialiste de la personnalisation des téléphones portables envoie des logos et des sonneries à la demande. Ce contenu est envoyé en plusieurs SMS via un service web. Pour cela, les données transitent via un broker
spécialisé qui route le message chez l'opérateur mobile.
L'architecture de la société est basée sur le serveur d'applications de BEA, avec une implémentation de Java Management Extensions (JMX). Les MBeans (Managed Beans) chargés de l'administration des composants ont été développés
en quelques jours par la SSII en charge du projet.
Pour l'utilisateur, le premier intérêt de cet outil de gestion est de savoir si l'abonné a bien reçu sa sonnerie. Ce qui est fait en partie avec des rapports envoyés par le broker, l'opérateur et l'abonné téléphonique mobile. De
plus, avec la technologie JMX, le PDG de l'entreprise peut voir évoluer son chiffre d'affaires en temps réel. Pour cela, les composants métiers sont interrogés pour connaître le nombre de SMS envoyés. Cette information est mixée au niveau du MBeans
avec des méthodes complexes de facturation.
Ces méthodes sont différentes pour chaque envoi du fait de royalties reversées ou non aux maisons de disque, etc. Finalement, ces données consolidées sont envoyées sur une interface JMX développée pour l'occasion. Une console
BMC se charge de l'administration technique du reste du système. Coût de l'opération : entre deux et trois millions d'euros.
Application web : Arnaud Ladrière (Softeam) : ' Utiliser JMX pour bâtir des tableaux de bord métier '
' Les extensions JMX sont déjà mûres, car elles ne présentent rien de révolutionnaire dans le monde Java. Nous les avions déjà testées mi-2001, alors que la spécification n'était encore qu'un brouillon, et dès
cette époque, cela fonctionnait. Un des grands avantages de JMX est qu'on peut l'utiliser pour construire des tableaux de bord métier. La plupart du temps, les entreprises peuvent totalement s'appuyer sur les Managed Beans fournis avec leur serveur
d'applications. Dans le cas contraire, les MBeans sont de toute façon très simples à développer, en tout cas dans leur version standard ou dynamique. Pour ne rien gâter, la communauté Java est très active sur le sujet, ce qui est la preuve du manque
comblé par JMX. '