1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>IIOP.NET</TITLE>
<META NAME="description" CONTENT="IIOP.NET">
<META NAME="keywords" CONTENT="diplomathesis">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="diplomathesis.css">
<LINK REL="next" HREF="node74.html">
<LINK REL="previous" HREF="node72.html">
<LINK REL="up" HREF="node72.html">
<LINK REL="next" HREF="node74.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html1158"
HREF="node74.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html1154"
HREF="node72.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html1148"
HREF="node72.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html1156"
HREF="node3.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1159"
HREF="node74.html">RemotingCORBA</A>
<B> Up:</B> <A NAME="tex2html1155"
HREF="node72.html">Kommunikation zwischen .NET/C# und</A>
<B> Previous:</B> <A NAME="tex2html1149"
HREF="node72.html">Kommunikation zwischen .NET/C# und</A>
<B> <A NAME="tex2html1157"
HREF="node3.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00071000000000000000"></A>
<A NAME="sec:IIOP.NET"></A>
<BR>
IIOP.NET
</H2>
<P>
IIOP.NET [<A
HREF="node86.html#iiop">ELCA07</A>] 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.
<P>
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:
<P>
<BR>
<BR>
<P>
Auf [<A
HREF="node86.html#pnetstate">Gopa06</A>] 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).
<P>
Der Befehl
<P>
<BR>
<BR>
<P>
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:
<UL>
<LI>Microsoft.CSharp.CSharpCodeProvider
</LI>
<LI>System.Runtime.Serialization
</LI>
</UL>
<P>
Eine Implementierung im zeitlichen Rahmen dieser Diplomarbeit ist nicht möglich.
<P>
Trotzdem wird im Kapitel <A HREF="#sec:demo">6</A> 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.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html1158"
HREF="node74.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html1154"
HREF="node72.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html1148"
HREF="node72.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html1156"
HREF="node3.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1159"
HREF="node74.html">RemotingCORBA</A>
<B> Up:</B> <A NAME="tex2html1155"
HREF="node72.html">Kommunikation zwischen .NET/C# und</A>
<B> Previous:</B> <A NAME="tex2html1149"
HREF="node72.html">Kommunikation zwischen .NET/C# und</A>
<B> <A NAME="tex2html1157"
HREF="node3.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Manuel Traut
2007-02-25
</ADDRESS>
</BODY>
</HTML>
|