Die Mängel des vorhergehenden Ansatzes haben gezeigt, daß die
Komponente, welche für die Kommunikation mit Agenten in der SNMP-Umgebung
benötigt wird, von den Schattenobjekten getrennt werden
muß.
Die Schattenobjekte besitzen nun nicht mehr die Funktionalität eines Gateways. Deren Erzeugung erfolgt analog zur vorherigen Ansatz. Der snmpserver bietet den Schattenobjekten (und nicht dem Manager, wie in 4.3.1) zwei Methoden an:
Der Informationsaustausch zwischen Manager und Agent ist in Abbildung 4.8, wieder am Beispiel von der Variable SysLocation, dargestellt. Wiederum ruft der Manager mittels der Objektreferenz die Zugriffsmethode Get_SysLocation des Schattenobjektes auf (1). Das Schattenobjekt schickt daraufhin einen CORBA-Request an den snmpserver (2). Da der snmpserver nicht feststellen kann, welches Schattenobjekt der Aufrufer ist, werden Objekt-, Zugriffsidentifikator des Managementobjektes und die Adresse des Zielagenten als Parameter vom Schattenobjekt dem Gateway übergeben. Die aufgerufene Server-Methode SnmpGet() erzeugt damit eine GetRequest-PDU und sendet diese an den Zielagenten. Trifft eine GetResponse-PDU von Seiten des Zielagenten beim Gateway ein (4), so kann das Gateway diese anhand der request-id der ursprünglichen GetRequest-PDU zuordnen und damit dem Schattenobjekt, für das letztere verschickt wurde, zurückgeben (5). Das Schattenobjekt reicht die angeforderte Information schließlich dem Manager weiter (Rückkehr aus dem Methodenaufruf, Abb. 4.8 (6)).