-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
executable file
·194 lines (193 loc) · 8.26 KB
/
index.html
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
<html>
<head>
<title>HyperText Documentation for The C ORB Interface System </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<p><font size="6"><b>CORBin: The C ORB Interface System for the Standard ML
of New Jersey Compiler</b></font></p>
<p>by: Brian S. Corbin</p>
</div>
<ol>
<li><a href="#Intro">Introduction</a>
<ul>
<li><a href="#WhyUse">Why use the CORBin System?</a></li>
<li><a href="#WhatDoesItDo">What does it do?</a></li>
<li><a href="#HowDoesItWork">How does it work?</a></li>
<li><a href="#Remember">Remember, it's a prototype!</a></li>
</ul>
</li>
<li><a href="#TheDirectoryStructure">Installation </a>
<ol>
<li><a href="#TheDirectoryStructure">The directory structure</a></li>
<li><a href="#BuildingTheIDLCompiler">Building the IDL Compiler for your
system</a></li>
<li><a href="#ORBitInstall">Installing the CORBA ORB called ORBit</a></li>
<li><a href="#BuildingSML_Nj">Building the SML/NJ Compiler</a></li>
<li><a href="#CORBinLibrary">Installing the CORBin Library</a></li>
<li><a href="#EnvironmentVariables">Setting up Environment Variables</a></li>
</ol>
</li>
<li>Using the system
<ul>
<li><a href="#UsingTheIDLCompiler">Using the IDL Compiler</a></li>
</ul>
</li>
<li><a href="#Conclusion">Conclusion </a>
<ul>
<li><a href="#FutureWork">Future Work</a></li>
</ul>
</li>
</ol>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><font size="5">Introduction<a name="Intro"></a></font></p>
<blockquote>
<p>In a world where the networked computing environment is an integral part
of an organization, technologies like the Common Object Request Broker Architecture
(CORBA) are being widely used to develop distributed applications. Using CORBA,
distributed components can be implemented in different programming languages
and still interoperate using an Object Request Broker (ORB). Since an ORB
is needed in order to utilize CORBA objects and implement CORBA objects, many
programming languages go without CORBA support. The C ORB Interface System
(CORBin) is an attempt to provide CORBA support to the functional language
ML by using an exisiting ORB with C language bindings called ORBit. CORBin
provides an IDL compiler (implemented in ML) and a library of C functions.
The details of the C ORB Interface System are presented in my M.S. thesis.
The thesis is available on <a href="http://www.corbinator.com" target="_blank">http://www.corbinator.com</a>.
A copy is also available on this CD-ROM in the <a href="paper" target="_blank">paper</a>
folder. (<a href="paper/paper.ps">paper.ps</a>)</p>
<p> </p>
</blockquote>
<p><font size="5">Why use the CORBin System? <a name="WhyUse"></a></font></p>
<blockquote>
<p>You may be interested in the CORBin System if you're an ML programmer and
wish to develop CORBA based applications. Even Non-ML programmers may wish
to use the CORBin System if their problem domain requires functionality that
is easily implemented in ML. </p>
<p> </p>
</blockquote>
<p><font size="5">What does it do?<a name="WhatDoesItDo"></a></font></p>
<blockquote>
<p>The C ORB Interface System provides a means by which to utilize existing
CORBA objects from within an ML program. It also provides a means by which
to implement CORBA objects in ML.</p>
<p> </p>
</blockquote>
<p><font size="5">How does it work?<a name="HowDoesItWork"></a></font></p>
<blockquote>
<p>The CORBin System is consists of two components. It includes an IDL compiler,
corbin-idl, which processes an Interface Definition Language file and generates
some ML and C code to handle the marshalling and unmarshalling of parameters
between CORBA objects. It also includes a library of C functions which provide
the ability to use a CORBA Name Server via ORBit functionality. For a detailed
description of the inner-workings of CORBin, please refer to my <a href="paper/paper.ps">thesis</a>.
</p>
<p> </p>
</blockquote>
<p><font size="5">Remember, it's a prototype!<a name="Remember"></a></font></p>
<blockquote>
<p>The C ORB Interface System should still be considered to be a prototype.
Although it has successfully been used to implement and communicate with CORBA
objects, it has not been tested completely enough to be considered extremely
robust. (Feel free to test/extend the functionality of the system!!!)</p>
<p> </p>
<font size="5">The directory structure<a name="TheDirectoryStructure"></a></font></blockquote>
<blockquote>
<p align="center"><img src="images/directory_tree.jpg" width="430" height="289"></p>
</blockquote>
<p> </p>
<blockquote>
<p>This CD-ROM makes an attempt to organize the CORBin System and it's required
components into an intuitive directory structure. The CORBin-idl directory
contains the source code for the CORBin IDL Compiler. ORBit_install contains
the source code for the CORBA ORB called ORBit. SML_NJ_install contains the
files that make up the SML/NJ distribution. The tests directory contains some
example programs that make use of the C ORB Interface System. Refer to these
programs to see how to make the System work for you. You may wish to refer
back to this directory structure image as you go through the installation
steps. </p>
</blockquote>
<p><font size="5">Building the IDL Compiler for your system<a name="BuildingTheIDLCompiler"></a></font></p>
<ol>
<ol>
<li>cd CORBin-idl</li>
<li>gmake</li>
</ol>
</ol>
<p><font size="5">Installing the CORBA ORB called ORBit<a name="ORBitInstall"></a></font></p>
<ol>
<ol>
<li>cd ORBit_install</li>
<li>gtar zxvf ORBit-0.5.7.tar.gz</li>
<li>cd ORBit-0.5.7</li>
<li>./configure (optionally, you may wish to use ./configure --prefix=INSTALL_DIR
) </li>
<li>gmake</li>
<li>gmake install</li>
</ol>
</ol>
<p><font size="5">Building the SML/NJ Compiler<a name="BuildingSML_NJ"></a></font></p>
<ol>
<ol>
<li>cd SML_NJ_install</li>
<li>gtar zxvf config.tar.gz</li>
<li>./config/install.sh</li>
</ol>
</ol>
<p><font size="5">Installing the CORBin Library</font><a name="CORBinLibrary"></a></p>
<ol>
<ol>
<li>cd CorbinLibFiles</li>
<li>./install.sh</li>
<li>./make_runtime_solaris.sh OR ./make_runtime_linux.sh (depending upon your
system) </li>
</ol>
</ol>
<p><font size="5">Setting up Environment Variables<a name="EnvironmentVariables"></a></font></p>
<ol>
<ol>
<li>edit CORBin_env.sh to customize the Environment Variables to match your
system</li>
<li>source CORBin_env.sh</li>
</ol>
</ol>
<p><font size="5">Using the IDL Compiler<a name="UsingTheIDLCompiler"></a></font></p>
<blockquote>
<p>Once the C ORB Interface system has been configured and installed properly,
you can begin writing CORBA based applications in ML. Specify your Object's
advetised interface in OMG's Interface Definition Lanaguage. Then, simply
run corbin-idl with the filename of your IDL specification as the command-line
argument.</p>
<blockquote>
<p>Example:</p>
<blockquote>
<p>corbin-idl my_idl_file.idl</p>
</blockquote>
</blockquote>
<p>This will create several files in your current working directory as well
as rebuilding the SML/NJ runtime system to include the functionality needed
to implement and communicate with objects having the interface(s) contained
within your IDL file. </p>
<p>Refer to the tests directory to see several examples that make use of the
CORBin System. The SyrupManager illustrates the majority of the CORBin System
facilities. </p>
</blockquote>
<p> </p>
<p><font size="5">Future Work<a name="FutureWork"></a></font></p>
<blockquote>
<p>Make the CORBin System Better!!!<br>
Also, a better installation procedure would be nice -- like an Automatic one!!!</p>
</blockquote>
</body>
</html>