next up previous contents index
Next: Methodik zur Gewinnung generischer Up: Implementierung in CORBA Previous: Syntaktische Nachbearbeitung der generierten

Übernahme bestehenden Agentencodes

Nachdem die IDL-Beschreibungen der Objektklassen mit ihren Attributen und Methoden erzeugt und an das CORBA-Entwicklungssystem angepaßt sind, muß nun in einem letzten 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. Wir waren diesem Problem bereits in Abschnitt [*] bei der Nutzung bestehender Plattformdienste von CORBA aus begegnet. Der zentrale Lösungsgedanke ist hierbei, unter Zuhilfenahme sogenannter IDL-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 die vom Agenten verwalteten MOCs lediglich an ihrer Schnittstelle CORBA-konform sein müssen.

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 ist in unserem Fall gegeben (siehe Abschnitt [*]).

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 sind ebenfalls in jüngster Zeit verabschiedet worden.

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.


next up previous contents index
Next: Methodik zur Gewinnung generischer Up: Implementierung in CORBA Previous: Syntaktische Nachbearbeitung der generierten
Copyright Munich Network Management Team