Naming Service Example: Bank

Description

This example includes a server process that, on initialization, builds a Name Graph that will be used to bind the various server objects. The Name Graph is made of a context with two subcontexts.

The context is called ACME_Bank and is bound to the root context of the OpenFusion Naming Service.

The two subcontexts are AccountManager and Accounts and they are bound to the ACME_Bank context.

Once the graph is built, it will bind an AccountManager object into the AccountManager subcontext with the name AccountManagerServer.

The client process gets a reference to an AccountManager object from the Naming Service and creates 10 account objects. Each of the account objects is bound under the Accounts subcontext of the ACME_Bank context with the name that the account object was created with. The client will then try to get references to a couple of the Account objects and perform operations on them, such as depositing money, withdrawing money, and displaying account information.

How To Build This Example

UNIX

These instructions are based on the Solaris gcc3.2 compiler makefiles.

  1. Ensure that the following environment variables are set:
  2. Ensure that your environment is set up for your compiler and linker. For example, for gcc3.2:

    PATH=/usr/local/gcc-3.2/bin:/usr/ccs/bin:$PATH; export PATH
    LD_LIBRARY_PATH=/usr/local/gcc-3.2/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH

  3. Change to the <TAO install dir>/examples/cc directory.
  4. If you have not done so already, enter the make command to run the makefile. This will compile all of the OpenFusion examples.

Windows NT

  1. Set the environmental property TAO_ROOT=<TAO install dir>, where <TAO install dir> is the location into which you have installed TAO.
  2. A global example Microsoft Visual C++ project has been provided. This is called <TAO install dir>\examples\cc\cc.dsw. Double-click on the project file to load it into Microsoft Visual C++. When loaded, change the Common project from debug mode to release mode using the Build | Set Active Configuration menu option.
  3. Build the Common files.
  4. Build the Naming Bank Example files.
  5. Build the Naming Bank Client files.
  6. Build the Naming Bank Server files.

How to Run This Example

UNIX: Ensure that the environment variable LD_LIBRARY_PATH includes the path to where the common files and the bank files were compiled:

LD_LIBRARY_PATH=<TAO install dir>/examples/cc/Common:<TAO install dir>/examples/cc/Naming/Bank:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH

Change to <TAO install dir>/examples/cc/Naming/Bank/server directory.

Windows NT: Start a DOS window. Ensure that your path contains:

<TAO install dir>\bin;<TAO install dir>\examples\cc\bin

Ensure that the OpenFusion Naming Service is running. In order to run the OpenFusion Naming Service you must first install the OpenFusion TCS - JacORB with OpenFusion CORBA Services distribution. This can be obtained from the downloads page by following the OpenFusion CORBA Products software link.

Start the server:

namingbankserver -ORBInitRef NameService=file://<OF_INSTALL_DIR>/domains/OpenFusion/localhost/NameService/NameSingleton/NameSingleton.ior

where OF_INSTALL_DIR is the OpenFusion TCS - JacORB with OpenFusion CORBA Services installation directory.

The server will respond with the prompt "Ready..." when it is ready to receive remote function calls.

On UNIX, change to <TAO install dir>/examples/cc/Naming/Bank/client directory.

In a new window, ensure that all environment variables are set up as above. Start the client:

namingbankclient -ORBInitRef NameService=file://<OF_INSTALL_DIR>/domains/OpenFusion/localhost/NameService/NameSingleton/NameSingleton.ior

This will resolve the Name Service and, from a context, the service provider reference and an arbitrary bank-supply company reference. The client will then make a remote function call to discover what bank titles are on offer by that company.

top
[top]


© PrismTech Limited 2002