The Java RMI implementation of the service is included in the tests in order to provide a baseline for the SOAP web services performance results. It's a very simple version of an RMI application, intended to be run with the same code present on both the client and server systems (rather than being downloaded on demand to the client, as is normally done with RMI).

The build process for the RMI implementation is very simple, with everything handled by the default target in the supplied /build/build.xml Ant project. Executing this creates all the necessary server code in the /build/server/classes directory tree, and the client code in the /build/client/classes tree.

To actually run the RMI implementation you'll need to first start an RMI registry server, which can by done by running the program rmiregistry supplied as part of the J2SE JDK download. Once the registry is running, you'll need to create an instance of the server and register it. I used the /build/server/classes/runserver.sh Linux shell script for this in my testing. If the server registration is successful you'll get the console message "Type enter when ready to exit." If you don't see this message, there's some problem in registering the server. Once you get the message coming up you know you're set to go.

Running the client program is simpler. The Ant build includes a "run" target that runs a simple test, as with the web service versions of the program, and I've also included the run.sh Linux shell script I used in the actual timing test runs (calling this one from a separate script that ran each set of command line arguments in sequence).

The full code download as a zip file is here.