Next: Bootstrap Service
Up: Dienste
Previous: Class- und Library Server
Der M-Let Service (bzw. Management Applet Service) ermöglicht es dem
Agenten, bei der Instantiierung und Registrierung M-Bean-Klassen aus
einer angegebenen ``.jar''-Datei
zu laden. Die Ermittlung des
``.jar'' Files geschieht durch das Laden und Parsen einer
``.html''-Datei, welche sogenannte M-Let Tags besitzt. Die Stelle an
welcher die Datei zu finden ist, ist als URL zu spezifizieren. Diese
wird danach als String einer performLocalLoadURL
-Methode (bzw.
performRemoteLoadURL
) übergeben. Somit kann entweder fest im
Agenten die Adresse codiert oder von außen durch Angabe der
Methode und dem entsprechenden Argument das Laden der Klasse
initiiert werden.
Diese Art des Zugriffs auf M-Bean Klassen bietet verschiedene Vorteile:
- Selektion bestimmter M-Bean Klassen.
- Verteilte Speicherung von M-Bean Klassen. Hinzu kommt die Möglichkeit,
in ihrer Struktur unterschiedliche M-Bean Klassen, welche jedoch den gleichen
Klassenbezeichner besitzen, für einen Agenten zu verwenden. Es muß hierbei
lediglich das entsprechende Archiv ausgewählt werden.
- Gruppierungsmöglichkeit für M-Bean Klassen zu logischen Einheiten.
Um nun den M-Let Service zu verwenden, muß ein ``.html''-File erstellt
werden, in welchem die M-Beans innerhalb von M-Let Tags beschrieben
werden. Danach wird ein ``.jar''-File erzeugt, das die Klassen der
M-Beans beinhaltet, welche in der ``.html''-Datei beschrieben werden.
Es können auch mehrere und verschiedene ``.jar''-Dateien existieren.
Zusätzlich muß eine
Instanz des M-Let Service im Agenten existieren.
Innerhalb des M-Let Tags sind verschiedene notwendige und auch
optionale Parameter anzugeben.
- CODE=<Klassenbezeichner des M-Bean> Es ist
der volle Klassenbezeichner des M-Bean anzugeben, einschließlich des
Packagenamens.
- OBJECT=<Dateiname bei serialisierten M-Beans>
An dieser Stelle muß das ``.ser''-File angegeben werden, falls es
sich um ein serialisiertes M-Bean handelt. Auch hier muß wiederum
die Datei in einer der ``.jar''-Dateien vorhanden sein.
- ARCHIVE=<Liste der .jar Dateien, welche verwendet
werden> In diesen Dateien werden die M-Bean Klassen oder
andere Dateien (Libraries, ``.ser''-Dateien) gepackt und als Archiv
zur Verfügung gestellt. Es sind mehr als eine ``.jar''-Datei
möglich, wobei diese dann durch Komma getrennt sein müssen und in
``'' gesetzt werden.
- CODEBASE=<URL des ``.jar''-Files> (optional)
- NAME=<Objektbezeichner des M-Bean, falls
vorhanden> (optional)
- VERSION=<Angabe der Versionsnummer des
M-Bean> (optional)
- PARAM=<Attributbezeichner>VALUE=<Attributwert> (optional)
Mit dieser Option ist es möglich, M-Beans bei Aufruf ihrer Konstruktoren im Zuge der
Instantiierung erforderliche Parameter übergeben zu können. Einschränkend hierbei ist, daß
die Parameter als String übergeben werden müssen. Dies bedeutet, daß das M-Bean eine
initCmf
-Methode (vgl. 3.2.1) zur Verfügung stellen muß, in welcher entsprechende
Casts auf den gewünschten Typ von Parameter durchgeführt werden.
Es ist zu beachten, daß es entweder einen CODE- oder einen OBJEKT-Parameter
geben muß. Nachfolgend ist ein Beispiel für eine ``.html''-Datei aufgeführt.
<MLET
CODE=Example.class
ARCHIVE=exampleFile.jar
CODEBASE=http://www.foo.com/jars
NAME=:example.ident=1
VERSION=1.0
>
</MLET>
Zusätzlich bietet der M-Let Service die Möglichkeit, Klassen, welche durch diesen Dienst
geladen werden, zwischenzuspeichern. Dabei wird ein erneutes Laden der gewünschen Klasse
(falls sich die Klasse noch im Cache befindet) verhindert und somit zusätzliche Netzbelastung
vermieden. Durch diesen Cache-Mechanismus kann eine Versionskontrolle der Klassen und
``.jar''-Dateien stattfinden. Die Version der Klasse, welche geladen werden soll, wird bei Parameter
``PARAM'' innerhalb des M-Let-Tag Bereichs angegeben. Ist die angegebene Versionsnummer
der M-Bean Klasse höher als die Klasse, welche zwischengespeichert wurde, so wird die Klasse
erneut geladen. Danach wird die Versionsnummer aktualisiert. Ist die Versionsnummer der zu
ladenden Klasse gleich oder kleiner der zwischengespeicherten, dann ist kein erneutes
Laden erforderlich.
Next: Bootstrap Service
Up: Dienste
Previous: Class- und Library Server
Beispielbenutzer SuSE Linux 6.0
Sun May 9 21:16:36 MEST 1999