Build a Full Java Distributed Banking System

Job ID: 33285874

Budget: $250 – $750 SGD

Design and Implementation of A Distributed Banking System

In this project, you are asked to design and implement a distributed banking system
based on client-server architecture. The information of all bank accounts is stored at
the server. Each bank account is characterized by the account number (integer), the
name of the account holder (variable-length string), the password (fixed-length
string), the type of currency (enumerated type), and the account balance (floatingpoint value). The server program implements a set of services on the bank accounts
for remote access by clients. Meanwhile, the client program provides an interface for
users to invoke these services. On receiving a request input from the user, the client
sends the request to the server. The server performs the requested service and
returns the result to the client. The client then presents the result on the console to
the user. The client-server communication is carried out using UDP.

In this project, you are expected to design request/reply message formats, fully
implement marshalling/unmarshalling and the fault-tolerance measures by
yourself. You may use a byte array to store the marshaled data. Do NOT use
any existing RMI, RPC, CORBA, Java object serialization facilities and
input/output stream classes in Java.

Links for references: https://github.com/ngochai94/cz4013
https://github.com/shydefoo/CZ4013-BankingSystem