next up previous contents
Next: 6.4.2 Aufbau des Applet Up: 6.4 Das Management-Applet Previous: 6.4 Das Management-Applet

6.4.1 Lokalisierung der Agentenobjekte

  Das Management-Applet nutzt einen proprietären Mechanismus des VisiBroker zur Lokalisierung der Agentenobjekte. Der IDL-Compiler erzeugt zu einem IDL-Interface die Klasse <interface_name>Helper.java, die eine Methode bind() zur Verfügung stellt. Der Methode kann als optionaler Parameter der Hostname des Rechners, auf dem sich das Objekt befindet, und der Name des persistenten Objekts (siehe Abschnitt 6.3.5) übergeben werden. Sie liefert die IOR des Objekts zurück, die sie über den Verzeichnisdienst des Smart Agent (osagent) erhält. Voraussetzungen für ein erfolgreiches Binden sind ein gestarteter osagent sowie persistente und kommunikationsbereite Objekte. Abbildung 6.18 enthält den Code zur Lokalisierung des Objekts UNIXSystem. Mit der IOR kann der Client ganz normal Operationen auf dem Agentenobjekt ausführen. Die Arbeit des ORB, der einen Aufruf an das Server-Objekt weiterleitet und Parameter und Ergebnis übergibt, ist für den Client völlig transparent.


  
Abbildung 6.18: Lokalisieren eines Agentenobjekts
64#64

Die Lokalisierung von CORBA-Objekten ist gewöhnlich Aufgabe des standardisierten CORBA Naming-Service. Dieser ermöglicht auch die Objektlokalisierung, wenn Objekte über ORBs unterschiedlicher Hersteller zusammenarbeiten sollen. Für den Prototypen hätte die Verwendung des Naming-Service aber kaum Vorteile gebracht. Einerseits wäre die Implementierung der Agentenbjekte und des Applet um einiges komplexer geworden. Andererseits ist ein völliger Verzicht auf den proprietären Smart Agent aus den Gründen, die in Abschnitt 6.3.1 genannt wurden, mit dieser Version des ORB nicht möglich. Die Interoperabilität zwischen unterschiedlichen ORBs ist für die Testumgebung auch kein Argument. Zuletzt kann angemerkt werden, daß der Ort der Agentenobjekte, also der Hostname, gewöhnlich dem Client bekannt ist, da gerade Ressourcen eines bestimmten Systems überwacht werden. Erst Anfragen wie ,,Welche Rechner sind NFS-Server in diesem Netz?`` erfordern einen mächtigeren Lokalisierungsmechanismus auf Basis des Naming-Service. In einer möglichen zukünftigen Erweiterung des Prototypen lassen sich aber die Aufrufe von bind() relativ einfach durch Anfragen an den Naming-Service ersetzen.


next up previous contents
Next: 6.4.2 Aufbau des Applet Up: 6.4 Das Management-Applet Previous: 6.4 Das Management-Applet
Copyright Munich Network Management Team