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.
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.