next up previous
Next: Zusammenfassung und Ausblick 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 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.


next up previous
Next: Zusammenfassung und Ausblick Up: Implementierung in CORBA Previous: Syntaktische Nachbearbeitung der generierten
Copyright Munich Network Management Team