Leitfaden für die Erstellung von MBeans auf Basis von Webservices.
Diese Anleitung setzt Kenntnisse von Java und Webservices voraus.
Beachten Sie, dass Automic weder Support für die Webservices noch für die MBeans anbietet!
Automation Engine unterstützt Webservices durch die Verwendung von MBeans mit dem JMX-Agenten. Viele Hersteller bieten aber anstelle von MBeans zumeist Webservices an, die den Zugriff auf ihre Anwendungen ermöglichen. Dieser Leitfaden zeigt Ihnen Schritt für Schritt wie Sie aus einem existierenden Webservice ein MBean erzeugen können. Als Beispiel wird das Webservice "CurrencyConvertor" verwendet, das Generic Objects Technologies Ltd zur Verfügung stellt. Es liefert die aktuellsten Währungsumrechnungskurse.
Voraussetzungen:
Beachten Sie, dass Sie MBeans nur für synchrone Webservices erstellen können! Asynchrone Webservices sind im Gebrauch viel komplizierter und benötigen eine individuelle Handhabung.
Testen Sie das erzeugte MBean umfassend!
1. |
Apache Axis einrichten |
---|
2. |
Java-Klassen für den Aufruf des Webservices generieren |
---|
3. |
MBean für die Nutzung der Java-Klassen erzeugen |
---|
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));
}
}
Die Methode "convertCurrency" enthält den Aufruf des WebServices und verwendet dabei die generierten Java-Klassen. Sie erzeugt eine Instanz des Service-Locators und ruft die Methode "getCurrencyConvertorSoap" auf, um einen SOAP-Stub zu erhalten. Dieses Pattern (locator-stub) ist in der Apache Axis Dokumentation beschrieben.
Der Stub nimmt den Aufruf des Webservices vor. Die Parameter werden von "java.lang.String" zu "NET.webserviceX.www.Currency" Objekten konvertiert, da nur einfache Datentypen in MBeans verwendet werden dürfen. Das Ergebnis, d.h. der aktuelle Währungs-Umrechnungskurs, wird zurückgeliefert.
4. |
JAR-Datei für das MBean und die Java-Klassen erstellen |
---|
<?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>
In einer Entwicklungsumgebung wie Eclipse benötigen Sie kein Ant-Script und können die JAR-Datei über einen Menübefehl direkt erzeugen.
5. |
JMX-Agent mit dem MBean starten |
---|
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
Unter UNIX muss der Strichpunkt ";" durch einen Doppelpunkt ":" ersetzt werden.
Der JMX-Agent benötigt keinen Application Server, sondern kann auch eigenständig laufen. Zur Laufzeit wird jedoch eine JMX-Implementierung vorausgesetzt. Um dies zu gewährleisten, reicht es die Java-Version 5 zu installieren. Sie enthält die erforderlichen JMX-Packages in der Version 1.2.
1. |
JMX-Job anlegen |
---|
Die Funktion JMX_CREATE_MBEAN legt eine Instanz des MBeans an und registriert es am lokalen MBean-Server.
Der Domänename darf alle Zeichen außer ":", "*" und "?" enthalten. Um Kollisionen zwischen MBeans verschiedener Hersteller zu vermeiden, empfiehlt es sich für den Domänenamen den umgekehrten DNS-Namen Ihrer Firma zu verwenden.
Mit den Schlüsseleigenschaften weisen Sie den MBeans in der Domäne einen eindeutigen Namen zu. Sie werden mit Komma "," getrennt. Eine Schlüsseleigenschaft besitzt folgenden Aufbau: Eigenschaft=Wert. Die Eigenschaft muss keinem Attribut des MBeans entsprechen. Die Anzahl der Schlüsseleigenschaften ist nicht begrenzt und auch die Reihenfolge unerheblich. Eine Schlüsseleigenschaft darf alle Zeichen außer Hochkomma, Komma sowie ":", "=", "*" und "?" enthalten. Geben Sie zumindest eine Schlüsseleigenschaft an.
2. |
MBean verwenden |
---|
Die Funktion JMX_INVOKE ruft eine Operation eines MBeans auf.
Lesen Sie den Report mit der Scriptfunktion PREP_PROCESS_REPORT aus, um die Werte, die MBeans zurückliefern in der weiteren Verarbeitung nutzen zu können. Die Beispielsammlung enthält dazu die Beschreibung der nötigen Schritte.
Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support |
Copyright © 2016 Automic Software GmbH |