Previous | Next | Trail Map | IDL | Contents

The Hello Client-Server Example

This tutorial teaches the basic tasks in building a CORBA distributed application using Java IDL. You will build the classic Hello World program as a distributed application, with both applet and application clients. The Hello World program has a single operation that returns a string to be printed. CORBA terminology and the underlying functionality of the application is discussed in The CORBA Architecture. The application diagram is repeated here, along with a review of the steps in the process of communication between the client and server.
Communication between the client and server.
  1. The client (applet or application) invokes the sayHello operation of the HelloServer.
  2. The ORB transfers that invocation to the servant object registered for that IDL interface.
  3. The servant's sayHello method runs, returning a Java String.
  4. The ORB transfers that String back to the client.
  5. The client prints the value of the String.

Despite its simple design, the Hello World program lets you learn and experiment with all the tasks required to develop almost any CORBA program that uses static invocation.

Getting Started

Before you start working with Java IDL, you need two things: version 1.2 of the JDK software and the idltojava compiler. The JDK provides the API and ORB needed to enable CORBA-based distributed object interaction. The idltojava compiler uses the IDL-to-Java mapping to convert IDL interface definitions to corresponding Java interfaces, classes, and methods, which you can then use to implement your client and server code. Click here to download and install the idltojava compiler.

Writing the IDL Interface

This section teaches you how to write a simple IDL interface definition and how to translate the IDL interface to Java. It also describes the purpose of each file generated by idltojava compiler.

Developing a Client Application

Learn how to write a simple client application, including how to create an ORB object, how to use the naming service to get an initial object reference, and how to invoke an operation on a CORBA object.

Developing the Hello World Server

This section has all the information you need to write a simple IDL server, including how to create an ORB object for the server, how to instantiate the servant and connect it to the ORB, how to register the servant with the naming service, and how to make the server wait for invocations on the servant.

Compiling and Running the Hello World Application

After you've written the client and the server, you're ready to compile the code and run the programs.

Using Stringified Object References

This section tells you how to make an object reference when there is no naming service.


Previous | Next | Trail Map | IDL | Contents