Java IDL: The "Hello World" Example on Two Machines
To enable the Hello World Tutorial to run on two machines, follow the steps as directed in the tutorial, with the following changes. This tutorial was written for the Java (tm) 2 Platform, Standard Edition (J2Se(tm)), version 1.4. In this example, the client, stubs, and skeletons are located on the client machine, and the server and name server are located on the server machine. This scenario can be changed to meet your needs and is provided simply as an introduction to one way to distribute an application across two machines.
- Create (as shown in the tutorial) and compile the Hello.idl file on the client machine:
idlj -fall Hello.idl- Create HelloClient.java on the client machine. Compile the *.java files, including the stubs and skeletons (which are in the directory HelloApp):
javac *.java HelloApp/*.java
- Create HelloServer.java on the server machine. Compile the .java files:
javac *.java
- Start the Java Object Request Broker Daemon, orbd, which includes a Naming Service, on the server machine. To do this on Unix:
orbd -ORBInitialPort 1050 -ORBInitialHost servermachinename&To do this on Windows:
start orbd -ORBInitialPort 1050 -ORBInitialHost servermachinenameBoth -ORBInitialPort and -ORBInitialHost are required arguments on the orbd command line. This example starts the name server on port 1050, because on Solaris become root to start a process on a port under 1024. If you want to use a different nameserverport, replace 1050 with the correct port number throughout this example.
When using orbd, the ORBD must be run on the same machine as the machine on which the servers will be activated. Another Naming Service, tnameserv, could be used if you prefer to run the Naming Service on a machine other than the machine on which the servers will be activated.
- On the server machine, start the Hello server, as follows:
java HelloServer -ORBInitialPort 1050If you used a different nameserverport, replace 1050 with the correct port number. You do not need to specify the -ORBInitialHost argument because the Hello server will be running on the same host as the name server in this example. If the Name Server were running on a different machine, you would specify which machine using the -ORBInitialHost nameserverhost argument.
- On the client machine, run the Hello application client. From a DOS prompt or shell, type:
java HelloClient -ORBInitialHost nameserverhost -ORBInitialPort 1050Note that nameserverhost is the host on which the IDL name server is running. In this case, it is the server machine.
If you used a different nameserverport, replace 1050 with the correct port number.
- Kill or stop orbd when finished. The name server will continue to wait for invocations until it is explicitly stopped.
Copyright Sun Microsystems 2001