summaryrefslogtreecommitdiff
path: root/trunk/TAO/examples/Simple/bank/README
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/examples/Simple/bank/README')
-rw-r--r--trunk/TAO/examples/Simple/bank/README114
1 files changed, 114 insertions, 0 deletions
diff --git a/trunk/TAO/examples/Simple/bank/README b/trunk/TAO/examples/Simple/bank/README
new file mode 100644
index 00000000000..7fc2d09e31e
--- /dev/null
+++ b/trunk/TAO/examples/Simple/bank/README
@@ -0,0 +1,114 @@
+$Id$
+
+This is a simple CORBA example that has a module Bank with two
+interfaces Account and AccountManager. The Account interface has
+operations for balance, deposit and withdraw. It has a readonly
+attribute for the Account Holder's name. It also has a user defined
+exception which is raised for withdrawing more moneythen the current
+balance. The AccountManager interface has methods to create and close
+Accounts. It also has a method to shutdown the server.
+
+run_test.pl : This is a perl script to run the server and client as :
+------------
+ server -o ior_file
+ client -f ior_file
+
+Passing the Server IOR to Clients:
+---------------------------------
+
+To keep this example simple, the server advertises its IOR in the
+following manner - The server program writes its server object's IOR
+to a ior_file. Later on, the client reads this IOR from the specified
+ior_file and uses the <string_to_object> method to obtain a reference
+to the server object.
+
+For this mechanism to work, the file must be readable and writable. If
+it doesn't exist, a new file is created by the server. Moreover, the
+file path must be accessible to both the client and server.
+
+If the client and server are on different machine, then there must be
+a shared directory accessible by both. On UNIX system's this is
+typically done via the NFS mount command. On Windows, the 'explorer'
+application provides an option to share drives.
+
+In general if no such file sharing option is available, then using the
+the Naming Service mechanism is the only alternative, as described by
+the -n option below. There are other command line options available
+for the server and client which are also explained below.
+
+server:
+-------
+
+server [-d] [-o IOR_file_name] [-n]
+
+Options:
+-------
+-d Debug flag (It is additive more -d flags will give debugging).
+
+When the server is started, you should see as the first line of output
+something that looks like
+ iiop:1.0//danzon.cs.wustl.edu:10015/P35ad159600081a38/child_poa/server
+ (-ORBobjrefstyle url)
+or
+ IOR:000000000000001649444c3a43756269745...
+ (-ORBobjrefstyle ior)
+
+Using -d turns on debugging messages. This option is additive, i.e.,
+the more -d options provided, the more debugging you can get. At the
+moment, only 2 levels of debugging are implemented, and more than 2 -d
+options are ignored.
+
+-o This option creates an ior file for the server with the name ior_filename.
+-n Use naming service
+
+The file can be used by clients who wish to access the server directly
+using this ior file. This obviates the need for the client to use the
+naming service for getting the server ior. The client can use the -f
+option to specify the file which contains the ior of the server (the
+same file that was written by the server using the -o option).
+
+client:
+-------
+
+client [-d] [-x] [-n iterations] [-b initial_balance] [-o Name_of_account_holder]
+ [-f IOR_file_name ] [-k IOR]
+
+Options:
+-------
+-d Debug flag
+
+-x Tells the server to shutdown at the end of the test.
+
+-n Use naming service
+
+-b initial balance
+
+-o Name of the Account Holder
+
+-k Read IOR from the command line. If this option is specified the client does not use
+ the Naming Service for locating the server. It just uses the ior file supplied with
+ this option.
+
+-f Read IOR from the specified file. If this option is specified the client does not use
+ the Naming Service for locating the server. It just uses the ior file supplied with
+ this option.
+
+The client executes the following tests :
+
+1. Creating accounts with the same name to make sure the Account is
+ created only once and he gets back the same object reference each
+ time. This is confirmed by the server printing the message for
+ Creation of an account only once.
+
+2. Creating accounts with different name to make sure a different
+ Account is created and a different IOR returned each time.
+
+3. Creating an Account with some initial balance and then withdrawing
+ more than the current balance. The server throws an exception which is
+ passed to the client and the client displays the reason for the
+ exception.
+
+
+
+
+