Development of an automated atm machine using java - the


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.

Solution Preview :

Prepared by a verified Expert
JAVA Programming: Development of an automated atm machine using java - the
Reference No:- TGS01006689

Now Priced at $30 (50% Discount)

Recommended (97%)

Rated (4.9/5)