Please Reload Every Time You Read This Page!

CSC 290, Spring 2003: Distributed Middleware Platforms

Dr. Chuck C. Liang
Assistant Professor of Computer Science, Hofstra University .

Office Address:
201A Adams Hall
Hofstra University
Hempstead, NY 11550
Office Phone: (516 463) 5559

Email: (<- click to send me mail)

Official Office Hours: MWF 2-3pm, TuTh 10:30-11:30am, or by appointment.

Course Syllabus

Online Resources:

RPC example from 2/4 class (on linux): first.x, firsts.c (server), firstc.c (client)
Solaris version: rpcbank.x (same), rpcbankclient.c (same), rpcbankserver.c (different format). Note: also use gcc -lnsl -lrpcsvc when compiling.
Extra example from 2/11 class (not completely tested - but compiles): rtimer.x, rtimerserver.c, rtimerclient.c (solaris version).

RMI example from 2/25 class: client.policy, (interface), (serializable data structure), (server implementation), (sample client). javac all sources, then do "rmic list". First run "rmiregistry" followed by the server "java list" - then run the client "java client". Be sure to kill the server before restarting (on Unix, do "jobs", then kill -9 %x where x is the job number). Here's the file that's not used in the final version:

Another, very similar example, this time on "rationals" -i.e. fraction objects consisting of a numerator and a denominator:
interface, server implementation, sample client, serializable object.

RMI version of bounded buffer: interface, server, producer, consumer.

First CORBA-Java example (will work on Linux/Solaris systems running jdk1.4 or later, possibly other systems): IDL interface, server implementation (produces one object), sample client, another client.

CORBA-java horse race example: idl, server, client.
Note: use "tnameserv" instead of "orbd" for the nameserver. You'll also need these animated gifs to run the programs: background horse+rider.

CORBA C++ and Java together at last!
omniORB4 configuration file
test2.idl: simple interface for testing,
test2server.cpp, test2client.cpp

Visitor Pattern in CORBA:
idl interfaces. compile with idlj -fallTie
abstract visitee superclass
undergrad visitee implementation
grad visitee implementation
print visitor implementation
tuitionadjust visitor implementation
test client
and here's the original version that doesn't use CORBA.

.Net examples:
Inter-language operability: C++ class, C# client. C# class, C++ client
Remoting (all C#): server class, client, server config file (server activated singleton object), client config file, direct host skeleton.

Assignment 1
Assignment 2
RMI/concurrency assignment

Last assignment. see README. Note: updated. The problem with floating point numbers has been fixed.


We will meet tuesday during REGULAR CLASS HOURS. The assignment is due. You are required to attend.

P.S. if you are having difficulties following my lectures and examples, please come and see me.