IIOP.NET [ELCA07] ist ein openSource (LGPL) Projekt der Elca Informatique SE in Kooperation mit der ETH Zürich. Es ermöglicht eine nahtlose Interoperation zwischen verschiedenen verteilten Objekten (.NET, CORBA und J2EE). Ein IDLToCLSCompiler übersetzt ein IDL-Interface in eine C# Library. Wird die eigene Applikation gegen diese Library gelinkt, so stehen sämtliche Interfacemethoden als entsprechende Funktionsaufrufe zur Verfügung.
IIOP.NET funktioniert mit dem Microsoft .NET Framework und Mono. Dotgnu wird zur Zeit nicht unterstützt. Aus diesem Grund habe ich versucht IIOP.NET von Mono nach dotgnu zu portieren. Hierzu wurden die Makefiles an den dotgnu Compiler angepasst und der IDLToCLSCompiler übersetzt. Bei der Anwendung des IDLToCLSCompilers wird bei der ersten Klasse, welche in dotgnu noch nicht implementiert ist, eine NotImplementedException geworfen und die weitere Ausführung abgebrochen:
Auf [Gopa06] kann der aktuelle Status der vom dotgnu Projekt implementierten .NET Klassen eingesehen werden. Hinzu kommen die Klassen und Methoden aus dem ml-pnet Paket (aus Mono übernommener Code).
Der Befehl
gibt alle API Aufrufe zur Laufzeit aus. Es konnte somit festgestellt werden, dass noch weitere Klassen und Methoden in der dotgnu .NET Implementierung fehlen. Beispielsweise:
Eine Implementierung im zeitlichen Rahmen dieser Diplomarbeit ist nicht möglich.
Trotzdem wird im Kapitel 6 eine Applikation mit IIOP.NET, Mono und ACE/TAO erstellt, da der IIOP.NET Ansatz sehr gut ist, gewartet wird und die fehlenden Klassen und Methoden in dotgnu implementiert werden können.
Manuel Traut 2007-02-25