|CS 696 Emerging Technologies: Distributed Objects|
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.