Next: Der Entwicklungsprozeß
Up: 5.4 Funktionsweise des Gateways
Previous: 5.4.2 Verwendung von GetNextRequest
Die Abbildung 5.6 zeigt eine Beispielkonfiguration des
Trap-Dämons des Gateway. In diesem DSOM-Serverprogramm befinden
sich eine Reihe von Event Channel, von denen jeder für einen
bestimmten SNMP-Trap verwendet wird. Die Event Channel werden in einen
Naming Graph eingetragen (das ist möglich, da Event Channel selbst
Objekte sind), wodurch eine Managementanwendung die Event Channel
finden und sich bei diesen zum Empfang von Ereignismeldungen
registrieren kann (s. u.).
Das snmptrapd-Objekt, das an Port 162 SNMP-Trap-PDUs empfängt,
muß sich bei jedem dieser Event Channel als Supplier anmelden.
In Abbildung 5.6 erfolgt dies exemplarisch am Event Channel
,,coldStart``:
- als Supplier ruft das snmptrapd-Objekt die Methode
for_suppliers des Event Channels auf (1). Es wird ein
SupplierAdmin-Objekt zurückgegeben. Mit diesem Objekt kann sich ein
Supplier bei einem Event Channel anmelden (s. 2.3.1,
[OMG96]).
- mit dem Aufruf der Methode obtain_push_consumer() auf
dem SupplierAdmin-Objekt (2) erhält das snmptrapd-Objekt einen
ProxyPushConsumer. Über die push-Methode dieses Objektes werden
Ereignismeldungen in den Event Channel geschrieben.
Damit ein Eventconsumer in der Managementanwendung von dem Event
Channel ,,coldStart`` Events empfangen kann, muß er sich als Consumer
bei diesem registrieren. Die erfolgt analog zur Anmeldung als
Supplier:
- der Eventconsumer ruft die Methode for_consumers des
Event Channels auf (3); es wird ihm ein ConsumerAdmin-Objekt zurückgegeben.
- Die Methode obtain_push_supplier des
ConsumerAdmin-Objekts, die der Eventconsumer daraufhin aufruft (4),
gibt einen ProxyPushSupplier zurück.
- Mit dem Aufruf der Methode connect_push_consumer dieses
ProxyPushSuppliers (5) registriert sich der Eventconsumer beim Event
Channel, indem er dem Event Channel eine Objektreferenz auf sich
selbst übergibt.
Abbildung:
Beispielkonfiguration des Gateways (Trap-Dämon)
|
Mit den Schritten (1)-(5) (Abb. 5.6) kann eine
Managementanwendung nun den well-known Trap coldStart als
CORBA-Ereigismeldung empfangen: Das Objekt snmptrapd kann
anhand der Information in einem ankommenden SNMP-Trap-PDU einen solchen
Trap erkennen. Der entsprechende (CORBA-)Event, der für den
Beispieltrap ,,erzeugt`` werden muß, besteht im Aufruf
der Methode push des ProxyPushConsumers
des entsprechenden Event Channels (7). Der Parameter data
(Datentyp any) enthält dabei Informationen bezüglich des Traps
wie z. B. den Zeitpunkt, zu dem der SNMP-Trap erzeugt wurde
(sysUpTime.0 = ``102029100`` [Timeticks]). Das
ProxyPushConsumer-Objekt ruft anschließend die Methode push des
Proxy-Objektes des Eventconsumers (erhalten bei Registierung des
Eventconsumers!) auf (8). Von der DSOM-Laufzeitumgebung wird dieser
Aufruf zum eigentlichen Eventconsumer in der Managementanwendung
weitergeleitet, welcher die Ereignismeldung verarbeitet.
Der Unterschied zu ,,normalen`` Methodenaufrufen ist,
daß diese Aufrufe asynchron sind und nichts zurückgegeben wird.
Next: Der Entwicklungsprozeß
Up: 5.4 Funktionsweise des Gateways
Previous: 5.4.2 Verwendung von GetNextRequest
Copyright Munich Network Management Team