CS 696: Assignment 2
SDSUCS 696 Emerging Technologies: Distributed Objects
Spring Semester, 1998
CS 696: Assignment 2

To Assignment Index
San Diego State University -- This page last updated March 13, 1998


RMI Bank Program
Due Tuesday, March 24
In this assignment you will write an on-line bank. This involves writing both the server and the client program(s). Client programs can use either a command line interface or a graphical user interface. The assignment has two parts, which are cumulative, part two include the requirements of part one. If you have a working system that satisfies part two, you do not have to turn in code marked for previous parts. However, if your code does not work for part two, you will not receive credit for part one. Your code should be well designed and use good style. Configuration files, logging, and command line start-up flags should be use when appropriate.

1. A customer of the bank has a name, a unique ID, and a balance. Each customer has only one account with the bank. While a customer's name need not be unique the customer's ID must be unique. The ID is generated for the customer by the bank. A customer can connect to the bank via client software and identify themselves using their name and ID. All interaction between the customer and the bank must be over secure communication lines. Once the customer is connected to the bank and identified they can obtain their current balance, deposit money into their account, and withdraw money from their account. A new customer can connect to the bank to establish a new account. The current status of each customer's account must be retained when the server is shut down. You may find the LabeledTable, LabeledData, List, and LocalRepository classes of the SDSU library useful in saving customer data.

2. Branch offices. Establish a system of branch offices and a central bank office. A customer can connect to any branch office to transact business even if the customer's account is with an other branch. A customer can transact business with the local branch that contains its account even if the central bank and all other branch offices are not active. Each branch office runs on a different machine. They use the central bank to access customer's records from remote branch offices.


visitors since February 28, 1998