Base de connaissances > Automation Engine et systèmes cibles > Java EE/JMX > Création de MBeans à partir des services web

Création de MBeans à partir des services web

Mode d'emploi pour la création de MBeans sur la base de services web.

Ce mode d'emploi présuppose des connaissances de Java et des services web.

Attention : L'Automation Engine n'offre aucune prise en charge des services web, ni des MBeans !

Généralités

Automation Engine prend en charge les services Web via l'utilisation de MBeans avec l'Agent JMX. De nombreux éditeurs offrent la plupart du temps, au lieu de MBeans, les services web qui permettent d'accéder à leurs applications. Ce mode d'emploi vous montre, étape par étape, comment créer un MBean à partir d'un service web existant. Nous utilisons comme exemple le service web "CurrencyConvertor", qui met à disposition Generic Objects Technologies Ltd. Il offre les derniers cours de conversion du change.

Il vous faut :

Attention : il n'est possible de créer des MBeans que pour les services web synchrones ! Les services web asynchrones sont d'une utilisation bien plus complexe et nécessitent une manipulation individuelle.

Testez exhaustivement le MBean créé !

Installation

1.

Configurer Apache Axis

2.

Générer les classes Java pour l'exécution des services web

3.

Créer un MBean pour l'utilisation des classes Java

ConverterMBean.java :

package com.uc4.ws;

import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;

public interface ConverterMBean {
double convertCurrency(String fromCurrency, String toCurrency)
throws ServiceException, RemoteException, IllegalArgumentException;
}

Converter.java :

package com.uc4.ws;

import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import NET.webserviceX.www.Currency;
import NET.webserviceX.www.CurrencyConvertorLocator;
import NET.webserviceX.www.CurrencyConvertorSoap;

public class Converter implements ConverterMBean {
public double convertCurrency(String fromCurrency, String toCurrency)
throws ServiceException, RemoteException, IllegalArgumentException {
CurrencyConvertorLocator locator = new CurrencyConvertorLocator();
CurrencyConvertorSoap soap = locator.getCurrencyConvertorSoap();
return soap.conversionRate(
Currency.fromString(fromCurrency),
Currency.fromString(toCurrency));
}
}

La méthode "convertCurrency" contient l'exécution du service web et utilise les classes Java générées. Elle crée une instance du localisateur de service et appelle la méthode "getCurrencyConvertorSoap" pour recevoir une souche SOAP. Ce modèle (localisateur-souche) est décrit dans la documentation d'Apache Axis.

La souche procède à l'appel du service web. Les paramètres sont convertis de "java.lang.String" à des objets "NET.webserviceX.www.Currency", étant donné que seuls des types de données simples peuvent être utilisés dans MBeans. Le résultat, c'est-à-dire le cours du change actuel, est renvoyé.

4.

Créer un fichier JAR pour le MBean et les classes Java

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="uc4" default="exampleMBean.jar">
<property name="classes_dir" value="bin" />
<target name="exampleMBean.jar" description="Web Service MBean">
<jar jarfile="exampleMBean.jar" basedir="${classes_dir}"/>
</target>
</project>

Dans un environnement de développement comme Eclipse, il ne vous faut pas de script Ant et vous pouvez créer le fichier JAR directement à l'aide d'une commande de menu.

5.

Démarrer l'Agent JMX avec le MBean

Java -cp axis.jar;commons-discovery-0.2.jar;commons-logging-1.0.4.jar;
wsdl4j-1.5.1.jar;saaj.jar;exampleMBean.jar;ucxjjmx.jar;jaxrpc.jar com/uc4/ex/jmx/UCXJMX

 Sous UNIX, le point-virgule ";" doit être remplacé par un deux-points ":".

L'Agent JMX ne requiert aucun Serveur d'application et peut s'exécuter de manière autonome. Une implémentation JMX est cependant nécessaire à l'exécution. Pour garantir cela, il suffit d'installer Java version 5. Cette version contient les packages JMX nécessaires de version 1.2.

Utilisation

1.

Créer le Job JMX

 La fonction JMX_CREATE_MBEAN crée une instance du MBean et l'enregistre dans le Serveur MBean local.

Le nom de domaine peut contenir tout caractère sauf ":", "*" et "?". Pour éviter les collisions entre MBeans et d'autres éditeurs, il est recommandé d'utiliser l'inverse du nom DNS de votre société pour le nom de domaine.

Les propriétés clés permettent d'assigner au MBean un nom unique dans le domaine. Elles sont séparées par une virgule ",". Une propriété clé se compose comme suit : propriété=valeur. La propriété ne doit correspondre à aucun attribut du MBean. Le nombre de propriétés clés n'est pas limité et l'ordre n'a pas non plus d'importance. Une propriété clé peut contenir tout caractère sauf des guillemets, des virgules, ":", "=", "*" et "?". Saisissez au moins une propriété clé.

2.

Utiliser le MBean

 La fonction JMX_INVOKE exécute une opération d'un MBean.

 Lisez le rapport avec la fonction script PREP_PROCESS_REPORT pour utiliser les valeurs fournies par les MBeans dans d'autres traitements ultérieurs. Les Exemples contiennent la description des étapes requises.