Ask Java Expert


Home >> Java

Development of an Automated ATM Machine using Java

System Structures
For development and testing phase:
1. A personal computer or laptop machine with Microsoft Windows XP sp3 / Windows 7.0 or above installed
2. Java 2 Development Kit 5.0 update 7 or above
3. Oracle database 10g or above
4. NetBean IDE 5.0 or above
5. Tomcat 5.5.27
6. Internet availability
For deployment phase:

1. The ATM application stack shall be loaded to a fully-equipped ATM machine with complete CPU power, chip card reader, secure crypto-processor, display monitor, function keys, in-built printer and sensors.
Functions
The basic functions expected from the ATM application are listed as below:
1. Paying utility bills e.g. electricity, telephone, social security etc.
2. Withdrawing money
3. Depositing cash
4. Updating passbooks
5. Printing account statements
6. Cash advances
7. Cheque processing
8. Credit card handling
The software can also be enhanced to provide the following additional requirements:
1. Purchasing train tickets, movie tickets, lottery tickets etc.
2. Donating to charitable institutions
3. Buying postal stamps
4. Video-conference with bank human cashiers
5. Mobile phone recharging

Detailed description

This new application would make use of a non-distributed multitier architecture. The diagram depicts partioning of the application tiers as well as technologies chosen for each tiers. It also serves as a sample application's deployment diagram. As a collocated architecture, business logic, presentation as well s integration tiers are located in the same exact web container. Also, well defined interfaces will be able to isolate each tiers responsibility. Collocated architecture is also responsible for making application simple as well as scalable.

System Architecture

Presentation tier i.e., JSF and MVC

JSF fits well in together with the MVC based presentation tier architecture. It offers a simple and clean separation between behavior and presentation. It leverages familiar UI component as well as web tier concepts. It does this without being limited to particular scripting technology or markup language. JSF backing beans are the model layer. JSF also contain the actions. These actions are extension to controller layer and they are responsible for delegating user request to the business logic tier.

Business logic tier i.e., the spring framework

Business objects as well as business services exist in the business logic tier. The business object contains not only data but also the logic to associate to specific object. Three business objects that have been identified in the sample application are product, category and the user. The business services interact with business objects and together they provide a high level business logic. The formal business interface layer needs to be define which would contain service interfaces that the client will making use of directly. With help of the spring framework, the POJO would implement business logic tier. Spring is based on the concept of IOC or the inversion of control. Spring features that are used in sample application includes following:

- Bean management with application contexts: In this case, spring is able to organize middle tier objects and is also able to handle most of plumbing. Spring is also able to eliminate proliferation of singletons as well as facilitate some good object oriented programming. For instance programming to interfaces.

- Declarative transaction management: Spring in this case uses the aspect oriented programing in order to deliver the DTM without having to use EJB container. This way, transaction management could also be applied to POJO. The spring transaction management is not tied to the JTA and could actually work with the different transection strategies that one might have. This DTM is used in tandem with hibernate transaction in sample application.

- Hibernate integration: Spring does not force one to use strong JDBC abstraction. This is because, it is able to integrate with the O/R mapping frameworks especially the Hibernate. Spring also offers an efficient as well as safe handling of all Hibernate sessions and at the same time handles configuration of hibernate session factories. It also handles the JDBC data sources in these application context while at the same time making applications easier to test.

Integration tier (Hibernate)

Hibernate is open source o/r mapping framework which that is able to relieve need to use JDBC API. The hibernate supports all major SQL DBMS. The hibernate query language is developed as a minimal object oriented extension to SQL. It is able to provide a simple bridge among the object and relational worlds. Hibernate also offers facility for quick data retrieval as well as updating, declarative queries, transaction management, database connection pooling, entity relationship management and programmatic queries. Hibernate is less invasive than other o/r mapping frameworks. Reflection and runtime bytecode generation could be used as well as SQL generation occurs at system startup. This allows one to develop persistent objects which follows common java idiom including association, inheritance, polymorphism, java collection framework as well as composition. Business objects in the sample application are based on the POJO and it does not require need to implement the hibernate specific interface.

The proposed application would be divided into 5 different projects which includes: Service, Presentation, Model, Common and Persistence.The service package will contain services that in turn contains business logic. it will interact with DAO objects.The Presentation page will contain the controller which will be aligned with elements and events on the pages.The Model package will contain the entity class of customer, transaction details, search results, persistent entity, security model, login, password model, category and criterias.The Common model will include services and utilities that are used by major projects.The persistence package holds classes of DAO object i.e., it interacts with the database via the hibernate. It contains implementation class of the corresponding DAO objects.

Following resources are being used in the code development:

- UIComponent - It is used for image rendering of customer on the main page of the ATM application.

- Converters - This class is use for converting the credit card information.

- Bean - It is used for initializing the data and bean.

- Exception classes - For instance: NumberNotFoundException and OrderException.

- Listeners - All the listeners of JSF are binded with the listener. The listeners are used to cater the events occuring on the page and then taking the appropriate actions accoeding to them.

- Renderers

- Resource bundle for localized messages.

Java, Programming

  • Category:- Java
  • Reference No.:- M91311823
  • Price:- $30

Priced at Now at $30, Verified Solution

Have any Question?


Related Questions in Java

Chatbotscreate a small networked chat application that is

Chatbots Create a small, networked chat application that is populated by bots. Introduction On an old server park, filled with applications from the early days of the internet, a few servers still run one of the earliest ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

Assignment game prototypeoverviewfor this assessment task

Assignment: Game Prototype Overview For this assessment task you are expected to construct a prototype level/area as a "proof of concept" for the game that you have designed in Assignment 1. The prototype should function ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

In relation to javaa what is constructor the purpose of

(In relation to Java) A. What is constructor? the purpose of default constructor? B. How do you get a copy of the object but not the reference of the object? C. What are static variables and instance variables? D. Compar ...

Project descriptionwrite a java program to traverse a

Project Description: Write a java program to traverse a directory structure (DirWalker.java) of csv files that contain csv files with customer info. A simple sample in provided in with the sample code but you MUST will r ...

Fundamentals of operating systems and java

Fundamentals of Operating Systems and Java Programming Purpose of the assessment (with ULO Mapping) This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements ...

Assessment -java program using array of Assessment -JAVA Program using array of objects

Assessment -JAVA Program using array of objects Objectives This assessment item relates to the course learning outcomes as stated in the Unit Profile. Details For this assignment, you are required to develop a Windowed G ...

Applied software engineering assignment 1 -learning

Applied Software Engineering Assignment 1 - Learning outcomes - 1. Understand the notion of software engineering and why it is important. 2. Analyse the risk factors associated with phases of the software development lif ...

Retail price calculatorwrite a java program that asks the

Retail Price Calculator Write a JAVA program that asks the user to enter an item's wholesale cost and its markup percentage. It should then display the item's retail price. For example: (If an item's wholesale cost is 5. ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As