Next: Kommunikation mit SNMP-Agenten
Up: 5.2 Realisierung des Gateways
Previous: 5.2 Realisierung des Gateways
Für das Erzeugen von Schattenobjekten im Gateway ist der Dämon
discoverd zuständig. Er macht SNMP-Agenten und
SNMP-Managementobjekte ausfindig und erzeugt entsprechende
Schattenobjekte im Gateway. Wie schon erwähnt, benötigt es dazu das
Interface Repository (Zugang über das ORB-Object), um geeignete
Schnittstellen zu finden und entsprechende Factories.
Aus folgenden Gründen ist es besser, den Discovery-Dämon
nicht als Teil des Gateways zu implementieren:
- Der Dämon kann als eigener Prozeß implementiert werden.
Die Aufgabe des Gateways und die des Dämons sind voneinander
unabhängig. Das Gateway arbeitet Requests ab, der Dämon hingegen
erkundet die SNMP-Umgebung, d. h. sucht SNMP-Agenten. Deshalb sollte
die Funktionalität auch getrennt implementiert werden, was zudem den
Parallelitätsgrad insgesamt erhöht.
- Der Gatewayserver tritt nach der Initialisierung in eine
Endlosschleife ein, um Requests abzuarbeiten. Schattenobjekte, die
nach dem Eintritt in diese Endlosschleife von einem Objekt innerhalb
des Gateways erzeugt werden, können nur mit sehr hohen
Programmieraufwand exportiert werden. Wenn der Discovery-Dämon
hingegen durch einen Request an den Gatewayserver die Erzeugung eines
Schattenobjektes anfordert, geschieht dies gewissermaßen
automatisch. Statt dem erzeugten Schattenobjekt oder einem Zeiger auf
dieses Objekt (der im Adreßraum des Clients ungültig wäre), gibt
der Object Adapter ein entsprechende Proxy-Objekt zurück. Die
Generierung eines Proxy-Objektes (mit der Methode
somdRefFromSOMObj des Objekt Servers) entspricht aber genau der
Exportierung des dazugehörigen Objektes ([IBM96a]).
Wenn ein Manager ein Schattenobjekt im Gateway erzeugen will
(Tabellenzeilen!), benötigt er ein Proxy-Objekt einer passenden
Factory im Gateway. Beim Erzeugen des Schattenobjektes wird ihm ein
Proxy-Objekt dieses Objektes zurückgegeben. Alle weiteren Aufrufe
erfolgen dann lokal auf dieses Proxy-Objekt. Die DSOM-Laufzeitumgebung
sorgt für die transparente Weiterleitung des Aufrufs an das
eigentliche Zielobjekt im Gateway.
Schattenobjekte werden in einen Nameserver eingetragen
und auf diese Weise einer Managementanwendung zugänglich gemacht.
Damit eine Managementanwendung den Nameserver nicht andauernd nach neu
hinzugekommenen Schattenobjekten pollen muß, erzeugt jedes
Schattenobjekt bei seiner Initialisierung eine Ereignismeldung.
Das Löschen von Schattenobjekten im Gateway vom Manager aus erfolgt
durch einen entsprechenden Methodenaufruf auf dem dazugehörigen
Proxy-Objekt, der an das Schattenobjekt weitergegeben wird. Eine
Fehlermeldung muß zurückgegeben werden, wenn die Operation nicht in
die SNMP-Umgebung repliziert werden kann. (Wird stattdessen ein
Schattenobjekt gelöscht, das SNMP-Managementobjekte repräsentiert,
die nicht gelöscht werden können, so ist die Abbildung der
SNMP-Ressourcen in die CORBA-Umgebung nicht mehr konsistent.)
Alternativ kann die Managementanwendung nur die Proxy-Objekte
löschen, sodaß die Schattenobjekte bestehen bleiben. Dazu ruft sie
die Methode release des Proxy-Objektes auf. Die Entscheidung, ob
das Proxy-Objekt oder das Schattenobjekt gelöscht
werden soll, muß von der Managementanwendung getroffen werden.
Next: Kommunikation mit SNMP-Agenten
Up: 5.2 Realisierung des Gateways
Previous: 5.2 Realisierung des Gateways
Copyright Munich Network Management Team