Nach der Erzeugung der IDL-Schnittstellen aus dem Objektmodell können die
Objektklassen mit OrbixWeb, wie in Kapitel beschrieben, direkt
als Server in Java implementiert werden und stehen damit nach ihrer
Registrierung zum Einsatz zur Verfügung.
Jedes solches Serverobjekt stellt ein real existierendes Objekt (ein
Managed Object) dar, sei es ein Dokument, ein Eintrag im Logfile, oder der
Server selbst. Aus diesem Grund ist es notwendig, die Objekte an dem Ort zu
kreieren, an dem sich ihr reales Abbild befindet, also beispielsweise die
Instanz einer Serverklasse dort, wo der Server tatsächlich läuft. Ansonsten
wäre es etwas schwierig für den jeweiligen Agenten (das Serverobjekt), mit
dem realen Gegenstück in Kontakt zu treten. Da diese Objekte ihre Methoden
quasi ``mitbringen`` ist das die eigentliche Delegierung an sich:
Funktionalität wird vom Manager hin zum Agenten verschoben, der in diesem
Falle als intelligenter Agent bezeichnet wird.
Hierbei handelt es sich um statische Delegierung, da eine Änderung des
Funktionsumfanges zur Laufzeit nicht möglich ist. Erst eine Veränderung des
Modells und eine darauffolgende Neuimplementierung könnte den Funktionsumfang
beeinflussen.
Sei der eigentlichen Manager im herkömmlichen Sinne, lediglich eine
Bedienungsoberfläche, in welcher Form auch immer. Er läuft also dort, wo er
vom Administrator gestartet wurde. Dynamische Delegierung kommt ins Spiel,
wenn sogenannte Mid-Level-Managers zwischen den intelligenten Agenten
und dem Manager geschaltet werden.
Ein solcher Mid-Level-Manager stellt ein über den ORB verschiebbares Modul
dar, dem durch seine Implementierung ein gewisser Funktionsumfang zur
Verfügung steht. Als Einteilung würden sich im konkreten Fall vier Module
entsprechend den in Kapitel festgestellten Bereichen
anbieten: Zum Management der Dokumente, der Benutzer, des Serverbetriebs sowie
der Fehler, wie in Abbildung
angedeutet.
In diesen Komponenten wird die Funktionalität erbracht, die nicht von den
Agenten selbst erledigt wird, wie etwa die routinemäßige Kontrolle des
Serverstatus mit anschließendem Neustart (der aber wiederum vom Serveragenten
selbst durchgeführt wird) im Falle eines Absturzes.
Sie werden über eine Bedienungsoberfläche gesteuert und stellen über
diese die gewünschte Information und Funktionalität zu Verfügung. Über den
ORB ist der tatsächliche Ort der Ausführung völlig transparent und kann
nach Belieben verändert werden.
30#30 |
4