Portable Bank

The Portable Bank example has a simple Bank interface to open a bank account and to query the balance in a bank account. It illustrates basic communication using the ORB and how to write portable CORBA applications in Java.  The OMG IDL/Java language mapping specifies a source and binary compatiblity layer between user applications and ORB implementations.  By writing applications and applets which use only the standard APIs the application's byte code will run on any compliant ORB implementation such as VisiBroker for Java or JavaIDL from JavaSoft.

NOTE: This example makes use of new classes in the java.io package of JDK 1.1.x and will not run in a JDK 1.0.x environment.

From this example, you will learn how to:

Directory Contents

Building this example

Typing make (or vbmake on Windows) in the portable_bank subdirectory will cause the Bank.idl to be run through the idl2java compiler. It will also build the following classes for the examples described above:

Compilation Warnings

You will see the following compilation errors when you type make (vbmake on Windows) in the bank subdirectory
or when you explicitly compile Client.java using JDK1.0.2:
    prompt>javac ClientApplet.java
    Client.java:13: Class LineNumberReader not found in type declaration.
      LineNumberReader input =
    Client.java:14: Class FileReader not found in new.
      new LineNumberReader(new FileReader("bank.ior"));
    Client.java:15: Class LineNumberReader not found in void main(java.lang.String[]).
      org.omg.CORBA.Object object = orb.string_to_object(input.readLine());
    Client.java:18: Exception java.io.IOException is never thrown in the body of the corresponding try statement.
      catch(java.io.IOException e) {
The above errors occur because the class that is being used by this example is not part of JDK1.0.2. The solution to this problem is to upgrade to JDK1.1.0 or higher.

Running this example

To run the examples, first make sure that the VisiBroker Smart Agent (osagent executable) is running on your network. Then start the bank server using the command: Next, open a user's bank account and query the balance in the account using the command or or you could use a Java-enabled browser and load ClientApplet.html

Return to the top-level examples page.