Nachdem die IDL-Beschreibungen der Objektklassen mit ihren Attributen und Methoden erzeugt und an das CORBA-Entwicklungssystem angepaßt waren, mußte nun in einem weiteren Schritt die Umsetzung der Funktionalität erfolgen, die die Nutzung der Managementinformation erst ermöglicht.
Dies ist gleichbedeutend mit der in zahlreichen Bereichen der Informatik auftretenden Fragestellung, wie bestehende Altsysteme (legacy systems) schonend in die objektorientierte Welt migriert werden können. Zentraler Gedanke ist hierbei, unter Zuhilfenahme sogenannter Wrapper bestehenden Code geeignet in Objektklassen zu kapseln und somit für neue objektorientierte Systeme zugreifbar zu machen. Der betrachtete SNMP-Agent ist in der Programmiersprache C implementiert worden und genügt damit keinesfalls objektorientierten Prinzipien. Dies ist jedoch für die Migration ohne Bedeutung, da für objektorientierte Applikationen der Begriff des ,,Perception is reality`` gilt. Es ist also nicht erforderlich, daß ein System objektorientiert implementiert worden ist; maßgeblich ist jedoch, daß seine Bestandteile wie Objekte aussehen.
Sehr wichtige Voraussetzungen für eine Kapselung in hinreichend
feiner Granularität sind, daß das zu migrierende System genügend
modular implementiert worden ist und die Schnittstellen seiner
Prozeduren offengelegt sind bzw. die Prozeduren im Quellcode
vorliegen. Beides war in unserem Fall gegeben (siehe
2.1).
Die IDL-Schnittstellenbeschreibungen werden nun einem
IDL-Compiler übergeben, der zum einen die Schnittstellen der neu
erstellten Objektklassen (hier: die Wrapper für die bereits
bestehenden Prozeduren) innerhalb des ORB-Laufzeitsystems
bekanntmacht und zum anderen die Datenstrukturen und
Schnittstellen des CORBA-Agenten in einer herkömmlichen
Programmiersprache (im betrachteten Fall: C) generiert.
Momentan sind Algorithmen zur
Übersetzung (sogenannte Language Mappings) der Quellsprache
IDL in die Zielsprachen C, C++ und Smalltalk durch OMG-Standards
spezifiziert; Abbildungen für ADA, COBOL und Java sowie die
Skriptsprache Perl sind geplant.
Die so entstandenen C-Programmrümpfe des CORBA-Agenten können nun um die entsprechenden Aufrufe von Prozeduren des bestehenden SNMP-Agenten ergänzt werden, deren Aufgabe lediglich darin besteht, die erhaltenen Parameter auf die Parameter der bestehenden Agentenprozeduren abzubilden und anschließend diese Prozeduren aufzurufen. Hierbei ist es von großem Vorteil, daß der Agent modular aufgebaut ist und die Schnittstellen des Agenten sowohl zu den Ressourcen als auch zum Managementprotokoll hin klar definiert sind.