Kommunikation zwischen .NET/C# und CORBA

Das HMI[*] der TRUMPF Lasersteuerung wurde mit dem portable .NET Framework dotgnu [Boll07] in C# entwickelt [Weis06]. Da die dotgnu .NET Implementation deutlich perfomanter ist, als Mono [Proj07], ist dotgnu für embedded Systeme besser geeignet. Die Echtzeitprozesse der Lasersteuerung sind in C implementiert. Die Kommunikation zwischen HMI und Echtzeitprozessen läuft momentan entweder über eine mySQL [MySQ07] Datenbank, oder es wird über Sockets kommuniziert.

Eine elegantere Lösung wäre eine Kommunikation via CORBA [Obj04] zwischen HMI und Echtzeitsteuerung. Gleichzeitig würde somit eine Fernsteuerung des Lasers über Ethernet ermöglicht.

Im Microsoft .NET Framework [Corp07b] ist keine CORBA Anbindung integriert. Um von C# aus mit CORBA Objekten zu kommunizieren gibt es zwei Ansätze: Ein in C# programmierter ORB und die Erweiterung der .NET Remoting Schnittstelle [Jona07] um das Internet Inter Orb Protokol (IIOP).

Diese Lösungen sind momentan auf dem Markt verfügbar:

C#TIDorb:
C# ORB des Morfeo-Projekts [Desa07], gegründet vom spanischen Ministerium für Industrie, Tourismus und Verkehr. Entwicklung abgeschlossen, aber noch nicht freigegeben.
J-Integra Espresso
kommerzielles Produkt für Microsoft .NET und Mono. Verbindet .NET Remoting mit J2EE und CORBA. Developer Licence $399 USD. [Intr07]
IIOP.NET:
openSource Projekt für Microsoft .NET und Mono verfügbar. Verbindet .NET Remoting mit J2EE und CORBA [ELCA07].
RemotingCORBA:
openSource Projekt, zur Erweiterung der .NET Remoting Schnittstelle um das IIOP Protokol. Für Microsoft .NET und Mono verfügbar, allerdings seit 2003 nicht mehr gewartet [John07].

Die frei verfügbaren Tools wurden genauer untersucht, auch hinsichtlich Ihrer Lauffähigkeit im dotgnu portable .NET Framework.



Subsections
Manuel Traut 2007-02-25