Tuesday, November 18, 2008

JAVA : Client-Server based ATM Simulation with SSL Encryption

Screenshots

ATMClient

Bank Server



Packets before SSL encryption implementation



Packets after SSL encryption implementation


Introduction
Overview

The ATM simulation program is a program to simulate the real ATM machine. It provides similar functions as the real ATM machine. We will get into detail about the functions later. In brief, these are the four windows that the ATM client has:


  • The ATM main windows is where the user will be interacting with, to pass the request to the bank server.

  • The ATM receipt windows prints the contents of a real ATM receipt.

  • The ATM network activity windows which displays the user the network interaction with the server.

  • The ATM card slot windows which displays the current account number in use and enables the user to insert ATM card
Please do note that the network activity windows is not meant to be included to the idea “simulation”. It is an add-on by us for the user to further understand how client-server interaction takes place in computing. Hence, there may be some details that should be hidden from the knowledge of an ATM user being displayed in this windows such as account number of the recipient being showed.


Programming conventions

We are pleased to say that from the knowledge that we had in our previous lectures, we were able to write the program coding that conforms most of the Java coding conventions.


The program is written based on the conventions as follows:

  • Two blank lines between sections of source file, classes and interfaces

  • One blank line between methods, local variables and logical sections

  • Naming convention such as variable should start with a lower case letter first and constant should be in capitalized form, separated by _.

  • C-style comment at the beginning of every source files


Program implementations

We also fully utilized the capability of OOP (Object Oriented Programming) concept. Since the Java does not advocate having too much of repetitive coding (similar coding perform similar action), we adopt the habit to convert the piece of coding into a method that features reusability also further reduces the complexity and the size of the whole program.


In favor of increasing the security of the program, we implemented SSL (Secure Socket Layer) into this program since in reality security is a major concern for an ATM machine. Next, we also generated approximately 500 user accounts for the user to have sufficient amount of accounts to perform simulative testing.


**To view the continuation of the documentation please download the program

DOWNLOAD LINK(MEGAUPLOAD)

1 comment:

Unknown said...

hello, the link is not working, could you please send another link