1. A PROJECT REPORT
ON
ONLINE BANKING SYSTEM
SUBMITTED TO: -
SUBMITTED BY:-
P.K.MAURYA
AKSHITA VARSHNEY
AMARJEET KAUR
APRAJITA MISHRA
B.TECH [CS1] 3rd yr
INVERTIS UNIVERSITY
BAREILLY
2. ACKNOWLEDGEMENT
We the student of Computer Science are submitting this project to the
CS/IT department as the B.TECH course.
This project gave a chance to us to develop the communication,
analyzing and future estimation skills of us about them we were unaware
about them during the preparation of this report, we learnt a lot of
things about the trends of current industry and learn how to do work in
a CS industry.
We have attempted to deal all the important point with sufficiebt
knowledge, bookish description and unnecessary description has been
avoided and only the practical part of the subject in detail.
We prepare this project after take the suggestion help and guidance from
our faculty member.
TABLE OF CONTENTS
TITLE
ABSTRACT
LIST OF TABLES
LIST OF FIGURES
ABBREVATIONS
PAGE NO.
III
IX
IX
X
CHAPTER 1 INTRODUCTION
1.1 Overview of the project 1
1.2 General Description 4
1.3 Why this Project? 4
CHAPTER 2 SYSTEM STUDY
2.1 System Requirement Specification 6
2.2 Hardware and Software Requirements 7
CHAPTER 3 SYSTEM ANALYSIS
3.1 Introduction to site 8
3.2 Existing System 9
3.3 Language/compiler & Resources 10
3. 3.4 Feasibility Study 11
CHAPTER 4 SYSTEM DESIGN
4.1 Design Plan 12
4.2 Logical Design 14
4.3 Physical Design 15
CHAPTER 5 LANGUAGES AND TOOLS
5.1 UML 23
5.2 JAVA 26
5.3 JSP 28
5.4 HTML 32
5.5 EJB 33
5.6 Macromedia Dreamweaver 38
5.7 NetBean IDE 4.0 39
5.8 Apache Tomcat 5.0.28 40
5.9 Microsoft SQL Server 97 41
CHAPTER 6 TESTING AND IMPLEMENTATION
6.1 Testing Objectives. 49
6.2 System Testing 51
6.3 System Implementation 53
CHAPTER 7 RESULTS
7.1 HomePage 54
7.2 Output 55
CHAPTER 8 CONCLUSION 56
APPENDICE
57
REFFERENCES 58
LIST OF TABLES
Fig 4.1 LOGIN, ACCHOLDER,
ACCHOLDTRANS.
Fig 4.2 Registration, Counter 16
Fig 4.3 Loan, Loan Registration
16
16
17
LIST OF FIGURES
Figure No.
Figure Name
Page
Number
4. Fig3.1
Fig4.4
Fig 4.5
Fig 4.6
Fig 4.7
Fig 4.8
Fig 5.1
Fig5.2
Fig5.3
Fig5.4
J2EE 4-tier architecture
Input design for LOGIN
page
Input design for Loan
Registration page
output for LOGIN page
JSP Model 1 architecture
Flow Control in JSP Model
Use Case diagram
Client Interaction (Flow
Chart)
Banking transaction using
J2EE archit.
Client view of session bean
11
18
18
20
21
22
24
25
31
37
LIST OF ABBREVIATION
A
ASP : Active Server Pages.
B
B2B: business to business.
B2C: business to commerce.
BMP: Bean Managed Persistence
C
CMP: Container Managed Persistence.
CORBA: Common Object Request Broker Architecture.
D
DOM: Document Object Model.
DTD: Document Type Definition
E
EJB: Enterprise Java Beans.
J
JDBC: Java DataBase Connectivity.
JMS: Java Messaging Service.
JNDI: Java Naming and Directory Interface.
JNI: Java Native Interface.
JRE: Java Runtime Environment.
W
W3C: World Wide Web Consortium.
5. X
XML: extensible Markup Language.
XSL: XML Style sheet Language.
ABSTRACT:The central concept of the application is to allow the
customer(s) to service virtually using the Internet with out going
to bank and allow customers to open new account, withdraw,
deposit, transfer, close and getting balance using this banking
service. The information pertaining to the customers stores on
an RDBMS at the server side (BANK). The Bank services the
customers according to the customer’s intention and it updates
and backups of each customer transaction accordingly.
The end user of this service can access his account from
anywhere provided by the bank. This service is secure
because of having each user his own userid and password
provided by the bank and one can’t access the bank’s
database (hack), so it is full secure. All the data pertaining
to the customer will be stored in the database and it will be
taken backups up to date. Data entry into the application
can be done through various screens designed for various
levels of users. Once the authorized personnel feed the
relevant data into the system, several reports could be
generated as per the security.
INTRODUCTION
1.1 OVERVIEW OF THE PROJECT:
This project “Internet Banking” is an attempt to built reliable,
distributed Java application. We have designed a website for
a dummy bank named HMCT BANK INC.
The selection of the name is of no significance. We have designed home
page, login page and many other client interfaces using
HTML tags. The validations for the HTML pages have been
done by calling respective JSP files. We all are aware of one fact that
when we are Designing client pages , the look and feel across pages
should be maintained. This means that when one client
6. moves from one page to another the pages should maintain some basic
look. These points have been taken into consideration while designing
these pages. The project aim is to demonstrate the J2EE’s concept(s).
All the client end validation has-been done using JSP.
There is a important fact to be noted here that some of the potential
customers of an actual internet bank would be accessing their account
through their company internet servers.
Most of these people would be working under strict firewalls.
These Firewalls do not allow any scripting language to download. So,
J2EE specification calls the use of scripting languages like
JavaScript less frequently. We have used JavaScript at the
bare minimum. Some of these cases are like; clients are reminded that
important textbox could not be left blank. The whole
of the project could be divided into three broad classifications.
These classifications have been done on the basis of technology or
Programming language used.
Client Pages. These pages have been designed using HTML
languages. These pages Consist of client relevant
information and responses from them. The pages are having icons
, images and picture animations. These images and icons have been
designed using Macromedia Fireworks MX. Some photos have been
used only after major editing using Macromedia Fireworks MX.
Java coding. This section will cover all the concepts of advanced
Java. This is nothing but constituent elements of J2EE
architecture. As mentioned earlier that JSP have been used
for client side validations. JSP and Servlets have been used for
retrieving the client response from respective HTML pages and after
doing some basic operations on the responses like trimming leading and
trailing spaces; these responses are passed to the respective EJB’s. EJB
consist Home Interface, Remote Interface, and an EJB Class. The client
interacts through JSP or Servlets only with the Home Interface.
A remote interface defines all the business methods of the
enterprise bean would invoke. The remote interface does not include the
method for system level operations, such as persistence, security, and
transactions.
The home interface defines methods that allow EJB clients to
create and find EJB components.
7. The EJB class implements all the business methods declared in the
remote interface.
Back-end. The database used in this project titled “Internet
Banking” uses Microsoft SQL server 97 as its backend. Ms SQL server
97 is a RDBMS. We have created nine tables in the database for the
project. Each table’s are normalized. In each table we applied several
column level constraints. These constraints will be discussed in much
details in later part of this documentation.
1.2 GENERAL DESCRIPTION
This project aims to apply some of the advanced concepts of Java,
which are also constituents’ concepts of J2EE architecture. The whole
of the project could be divided into three broad classifications, client
pages, Java coding and RDBMS backend programming. These
classifications have been done on the basis of technology or
programming language used.
1.3 WHY THIS PROJECT?
The main idea to develop this project is to use the enhances security,
and reliability features offered by J2EE. The latest release of the JavaTM
2 Software Development Kit, v 1.3 provides a means to enforce access
controls based on where code came from and who signed it. The need
for such access controls derives from the distributed nature of the
JavaTM platform, where, for instance, a remote applet may be
downloaded over a public network and then run locally.Sample
authentication modules using:
o JavaTM Naming and Directory Interface (JNDI)
o SolarisTM Operating Environment
o Windows NT
Web services are becoming the basis for electronic commerce of all
forms. Companies invoke the services of other companies to accomplish
a business transaction. In an environment in which only a few
companies participate, managing the discovery of business partners
manually would be simple. After all, how difficult would it be to figure
out if one of your few business partners has an access point that adheres
to your requirements? This model breaks down, however, as the number
of companies that you need to interact with grows, along with the
number and types of interfaces they export. How do you discover all
8. the business partners that you can do business with? If you attempted to
account for them manually, you could never be sure that you discovered
every partner. UDDI is a single conceptual registry distributed among
many nodes that replicate the participating businesses' data with one
another. The UDDI registry of services (hosted by different businesses
on the Internet) attempts to solve this problem.
SYSTEM STUDY
2.1 SYSTEM REQUIREMENTS SPECIFICATION
2.1.1 INPUT REQUIREMENTS
Providing the details using keyboard.
Navigation through pages of the website could be done using both
mouse and keyboard.
Choosing the choice from the menu using keyboard and mouse.
2.1.2 OUTPUT REQUIRMENTS
Each and everything displayed on the screen as output.
All the response thrown to the user will be in form of HTML pages
or JSP pages.
Try to explain the important outputs in a tabular format.
2.1.3 CONSTRAINTS
The input screen should of uniform look and feel as with other
pages.
User should have an option of clearing all the input boxes with a
single click of the button.
The response time should be in the stipulated time.
2.2 HARDWARE AND SOFTWARE REQUIREMENTS
To browse this website we need any basic configuration computer
system. PII with at least 256MB of RAM is required. Since the Site have
been developed using Flash files, the performance of the computer
system need to be stable.
SOFTWARE: This site was successfully tested on Linux 7.3 (Kernel
2.0) and Fedora Core.
On the both occasions Mozilla web browser were used. This site was
first designed for and tested on Microsoft Internet Explorer 6.0. This
was also successfully tested on FireFox web browser. FireFox web
browser is a new open source and free browser from Netscape’s
company.
9. SYSTEM ANALYSIS
3.1 INTRODUCTION TO THE SITE
For any system to be successful, it should be first analyzed properly.
Using the various fact gathered in the analysis stage, the design and the
development of the system is carried out. This topic deals with the
analysis phase of our system. System analysis is the process of gathering
and interpreting facts, diagnosing problems and using the information to
recommend improvements to the system. Basically analysis specifies
what the system should do. It does not show how the requirements
should be accomplished or how the application should be implemented.
System analysis or detailed investigation also requires the study of
manual and reports, actual observations of work activities, and
sometimes to collect simples of forms and documents to fully
understand the process. The activities involved in this process are:
Language/compilers selected
Resources required
Feasibility study
3.2 EXISTING SYSTEM
Presently as the Internet is growing at the fast rate, there are many
problems being faced. As the usage of the internet is increasing slowly
the user needs to safe guard his system by properly protecting it. So it is
necessary to use all the software which helps him protect his/her system
and also minimizing the monitoring traffic. There are many cases
where the organization is unable to find out the problem in there sites.
As to why it is not secure. In order to have a continuous flow of
communication it is necessary to check that systems are working
properly and they are well connected to each other. So it is necessary
to guard the system and understand the problem area so that problem
can be rectified in time and it would save lots of time for the client and
administrator.
Fig 3.1 J2EE 4-tier Architecture
10. 3.3 LANGUAGE/COMPILER AND RESOURCES USED
All the java code has been compiled on Sun Microsystems’s JDK1.4.
JDK is Java development tool kit.
RESOURCE REQUIRED
To develop this project we have used following resources:
Computer with PIII 550mz with 256 MB of RAM.
Macromedia Dreamweaver 2004 MX.
Macromedia Fireworks MX
Macromedia Flash MX
Jakarta-Tomcat web server version 5.0.28.
Sun Apps Server, J2EE 1.4 application server.
Netbeans IDE-4.0. It’s an free licensed software under General
Public Licensing (GPL). Netbean is an Integrated Development
Environment.
Internet Explorer web browser version 6.0.
Good conceptual understanding of the J2EE architecture that
could be understood from any of the book. A brief architectural diagram
can be shown below.
3.4 FEASIBILITY STUDY
For any project to be successful there is a need for an effective feasibility
study. The purpose of the feasibility is not to solve the problem but to
determine whether the problem is worth solving. There are many
11. feasibility studies that can be conducted. For effective running and fast
output generation of certain features of this project, the application will
be very useful. As the use of this project is already in operation, it is
Operationally feasible.
Economic feasibility is an important part that has to be critically
evaluated. The cost and benefits have to be evaluated. Since all the
machines in the organization for development is well equipped with the
required hardware and software, there will not be any additional costs in
implementing this project. The project requires JDK1.4 compiler. This
compiler is free under Open License system.
SYSTEM DESIGN
4.1 DESIGN PLAN
Design of a system can be defined as the process of applying various
techniques and principles for the purpose of defining a device, a process
or a system in sufficient detail to permit its physical realization. Thus
system design is a “how to “ approach to the creation of a new system.
This phase provides an understanding of the procedural details
necessary for implementing the system. The design step produces a Data
Design, an Architectural Design and a Procedural Design.
The data design transforms the information domain model created
during analysis into the data structures that will be required in
implementing the system. The architectural design defines the
relationships among major structural components into a procedural
design or description of the system. Source code is generated and testing
is conducted to integrate and validate the system.
4.1.1 DESIGN PRINCIPLES
The design process should not suffer from “tunnel vision”.
The design should e traceable to the analysis model.
The design should minimize the intellectual distance.
The design should exhibit uniformity & integration.
The design should be assessed for quality as it is being created not
alters the fact.
The design should be reviewed to minimize the conceptual errors.
4.2 LOGICAL DESIGN
Logical design aims at establishing the users’ requirements, which the
new system must satisfy. In this stage, the system analyst has to identify
the relationships required between various items of data and the
grouping of items of data together into records. This is known as a
12. logical data structure, which is required to produce the outputs, which in
turn are required by the users. Once this is agreed, the logical design can
be turned into a physical system with more detailed design.
4.3 PHYSICAL DESIGN
Once the logical system is agreed, the detailed designs of the physical
system can commence. The physical design of the computer subsystem
can be broken down into the input design, output design and
architecture design.
4.3.1 Input Design
Input design is a part of overall system design, which requires very
careful attention. If data going into the system is incorrect, then the
processing and output will magnify these errors. The designer has a
number of clear objectives in the different stages of input design
like producing a cost effective method of input or achieving the highest
possible level of accuracy or even ensuring that input is acceptable to
and understood by the user. In the design phase of “Internet
Banking”, the input required by the system were identified to be the
customers profile, results in the information been recorded into the
databases.
Fig 4.1 LOGIN, ACCOUNTHOLDER, ACCOUNTHOLDER
TRANSACTION Tables
14. Fig 4.5 Input design for the Loan registration Form:-
4.3.2 Output Design
At the beginning of output design the various outputs to be given by the
system are defined. Then the format, content, location, frequency,
volume and sequence of the output are specified. The content of the
output must be defined in detail. The system analyst has two specific
objectives at this stage. They are (i) interpreting and communicating the
results of the system to the users in a form that they can understand and
15. which meets their requirements and (ii) communicating the output
design specifications to programmers in a way, which is unambiguous,
compressive and capable of being translated into a programming
language. During the output design phase of the system the following
was decided to be presented in the output of the system:
? The Client's profile
? Preference of account type with respect to bank account and loan
account.
The Client’s profile includes details such as his name, address, account
Type Annual income, phone number in case of account opening form
or amount applied as in the case of loan registration form.
Figure to display the relevant output design for Input design are given
below.
Fig 4.6 Output design for the Login Page
4.3.3 Architecture Design
The architecture followed throughout the design and development of
this project is the JSP Model 1 architecture. The following figure depicts
this model:
Fig 4.7: JSP Model 1 Architecture
16. In JSP Model-1 Architecture, the JSP page alone is responsible for
processing the incoming request and replying back to the client. There is
a separation of presentation from the content because all data access is
performed using Java beans. This architecture is perfectly suitable for
the system under consideration. The architecture consists of three layers,
with each layer interacting with the layer directly above or below it. The
first layer is the graphical user interface (GUI), the second layer is the
web server, and the third layer is the database. These three layers are
depicted in the following figure:
Fig 4.8: Flow of control in JSP Model 1 Architecture
The GUI handles all of the user interaction, which consists of mouse clicks and
Keyboard input. This layer has an event-based architecture, and connects to the
web server through automatic method invocation. The server acts as a go-between
for the GUI and the database, and has the ability to send and receive requests from
both the GUI and the database. It also has an event-based architecture, and
connects to the database through method invocation. The third layer, which is the
database, handles the requests from the web server by performing the requested
query and returning the result.
LANGUAGES AND TOOLS
5.1 UNIFIED MODELING LANGUAGE (UML)
Modeling is the designing of software applications before coding. It is an
essential part of large software projects, and helpful to medium and even
small projects as well. A model plays the analogous role in software
development that blueprints and other plans (site maps, elevations,
physical models) play in the building of a skyscraper. Using a model,
those responsible for a software development project's success can
assure themselves that business functionality is complete and correct,
17. end-user needs are met, and program design supports requirements for
scalability, robustness, security, extendibility etc. Thus modeling
is the only way to visualize a design and check it against requirements
before the crew starts to code. The Object Management Group’s
(OMG) Unified Modeling Language (UML) helps to specify, visualize,
and document models of software systems, including their structure
and design, in a way that meets all of these requirements. Using any one
of the large number of UML-based tools, one can analyze one’s future
application's requirements and design a solution that meets them,
representing the results using UML's standard diagram types. Built upon
the Meta-Object Facility (MOF) meta-model which defines class and
operation as fundamental concepts, it's a natural fit for object-oriented
languages and environments such as C++, Java, and the recent C#.
UML defines twelve types of diagrams, divided into three categories:four diagram types represent static application structure; five represent
different aspects of dynamic behavior; and three represent ways you can
organize and manage your application modules. They are named as
follows:
? Structural Diagrams include the Class Diagram, Object Diagram,
Component
Diagram, and Deployment Diagram.
? Behavior Diagrams include the Use Case Diagram, Sequence
Diagram, Activity
Diagram, Collaboration Diagram, and State-chart Diagram.
? Model Management Diagrams include Packages, Subsystems, and
Models.
5.2 JAVA
Java is a language for building dynamic and interactive web applications.
Its rapid ascension and wide acceptance can be traced to its design and
programming features, particularly in its promise that you can write a
program once, and run it anywhere. As stated in Java language white
paper by Sun Microsystems: "Java is a simple, object-oriented,
distributed, interpreted, robust, secure, architecture neutral, portable,
multithreaded, and dynamic." The advantages of Java, which makes it to
be chosen it for the project, are as follows:
Simplicity: The reason that why Java is much simpler than C++ is
because Java uses automatic memory allocation and garbage collection
18. where else C++ requires the programmer to allocate memory and to
collect garbage.
Portability: One of the most compelling reasons to move to Java is its
platform independence. Java runs on most major hardware and software
platforms, including Windows 98, NT, 2000, the Macintosh, and several
varieties of UNIX and even Linux.
Distributable: Java is designed to make distributed computing easy with
the networking capability that is inherently integrated into it.
Interpreted: An interpreter is needed in order to run Java programs.
The programs are compiled into Java Virtual Machine code called byte
code. The byte code is machine independent and is able to run on any
machine that has a Java interpreter.
Secure: The compiler, interpreter, and Java-compatible browsers all
contain several levels of security measures that are designed to reduce
the risk of security compromise, loss of data and program integrity, and
damage to system users.
Reliable: Many of the features of C and C++ that are detrimental to
program reliability, such as pointers and automatic type conversion, are
avoided in Java.
Robust: Java puts a lot of emphasis on early checking for possible
errors, as Java compilers are able to detect many problems that would
first show up during execution time in other languages.
Multithreaded: Multithreaded is the capability for a program to
perform several tasks simultaneously within a program.
5.3 JAVASERVER PAGES (JSP)
JavaServer Pages is a Java technology that affords dynamical content and
various functionalities to static web pages such as regular HTML
(HyperText Markup Language) or XML (extensible Markup Language)
pages. A JSP page may contain just JSP components. Thus, a JSP page
may look like a regular HTML or XML page and can be created and
modified with tools usually used for building these static web pages.
Currently there are three main types of JSP elements: scripting elements,
directives, and actions.
1. Scripting elements specify Java code that will become part of the
resultant servlet. There are three forms of scripting elements and each
has its own destination:
? Expressions
? Scriptlets (code fragments)
19. ? Declarations
2. Directives control the overall structure of the servlet. There are two
main types of directive:
? Page: Defines one or more attributes that affect the overall structure
of the servlet class.
? Include: allows insertion of a file into the servlet class at the time that
the JSP is translated into a servlet.
3. Actions specify existing components that should be used and the
behavior of the JSP engine. Available actions include:
? jsp:include - Include a file
? jsp:useBean - Find or instantiate a JavaBean
? jsp:setProperty - Set the property of a JavaBean
? jsp:getProperty - Insert the property of a JavaBean
? jsp:forward - Forward the request to a new page
JSP Processing
When a JSP page is put in the web server, the web server (actually its
JSP/servlet engine) will compile the JSP file into a servlet. The static
part (HTML or XML portions) of the JSP page is simply printed to the
output stream and the dynamic parts (JSP elements) are handled by the
servlet generated according the directions specified in the JSP page.
Thus, for a JSP to work, the web server must be JSP-aware, i.e.
containing a JSP/servlet engine). Since the compiled servlets stay in
memory, the subsequent requests for the same JSP page will response
much faster. The request and response objects are basically the same
ones as used in the normal servlets. The only difference is that, while
normal servlets are written entirely by human programmer, in JSP the
servlets are created by the JSP/servlet engine. The names of these
automatically generated servlets begin with an underscore "_" and are
usually placed in a special location designated by each JSP/servlet
engine.
5.4 HYPERTEXT MARKUP LANGUAGE (HTML)
To publish information for global distribution, one needs a universally
understood language, a kind of publishing mother tongue that all
computers may potentially understand. The publishing language used by
the World Wide Web is HTML. HTML is short for HyperText Markup
Language. It defines the structure and layout of a Web document by
using a variety of tags and attributes. An HTML page contains a set of
markup symbols or codes intended for display on a browser. The
20. markup tells the browser how to display a web page's words and images
for the user. Each individual markup code is referred to as an element or
tag. Some elements come in pairs (container tags) that indicate when
some display effect is to begin and when it is to end. Some tags enable
the document to display formatted text, color, a variety of fonts,
graphic images, special effects, hypertext jumps to other Internet
locations and information forms.
HTML 4.0 is the latest specification of HTML. It extends HTML with
mechanisms for style sheets, scripting, frames, embedding objects,
improved support for right to left and mixed direction text, richer tables,
and enhancements to forms, offering improved accessibility for people
with disabilities.
5.5 EJB
EJB is Used to create to encode and share the business logic among
clients by using
a) a session bean
b) entity bean, or
c) message-driven bean.
a) Under session bean we have,
1) A stateless-session bean, it does not maintain any state between method calls.
2) A statefull-session bean does that.
b) An entity bean is used to collect and retain rows of data from a database, and
survives as long as the data associated with the bean is viable.
c) A message-driven bean is called by JMS container. The message-driven bean
deployment descriptor specifies the type of messages it wants to receive.
A EJB has following interfaces:
1) The remote home interface
2)Remote interface
3)Ejb class
Fig 5.4 Client View of session beans deployed in a Container
5.6 MACROMEDIA DREAMWEAVER
Macromedia Dreamweaver is a professional HTML and JSP editor for designing,
21. coding, and developing websites, web pages, and web applications. The visual
editing features in Dreamweaver help in creation of web pages quickly without
writing a line of code. All the site elements or assets can be dragged from an easyto-use panel directly into a document and the changes can be viewed instantly.
Dreamweaver also provides a full-featured coding environment that includes
codeediting tools (such as code coloring and tag completion) and reference
material on HTML, Cascading Style Sheets (CSS), JavaScript, ColdFusion Markup
Language (CFML), Microsoft Active Server Pages (ASP), and JavaServer Pages
(JSP). Dreamweaver is fully customizable. The developer can create his own
objects and commands, modify keyboard shortcuts, and even write JavaScript code
to extend Dreamweaver capabilities with new behaviors, property inspectors and
site reports.
5.7 NetBeans IDE 4.0.
NetBeans IDE and netBeans Platform are based on software from netbean.org,
developed under Sun Public License (SPL). For more information visit
www.netbeans.org
Projects: An IDE project is a group of Java source files and its associated
information about what belongs on the classpath, how to build and run the
project, and so forth. The IDE stores project information in a project folder which
includes an Ant build script and properties file that control the build and run
settings, and a project.xml file that maps Ant targets to IDE commands. Your
source directories do not need to be located in the project folder.
In the IDE, you always work inside of a project. You can create standard projects
that use an IDE-generated Ant script to build the project, or create free-form
projects that are based on your existing Ant scripts.
Ant : Apache Ant is a Java-based build tool used to standardize and automate build
and run environments for development. The IDE's project system is build directly
on top of Ant. All of the project commands, like Build Project or Run File in
Debugger, call targets in the project's Ant script. You can therefore build and run
your project outside the IDE exactly as it is built and run inside the IDE.
You do not need to know Ant to work with the IDE. You can set all the basic
compilation and runtime options in the project's Project Properties dialog box and
the IDE automatically updates your project's Ant script. If you know how to work
with Ant, you can customize a standard project's Ant script or write your own Ant
script for your project.
5.8 APACHE TOMCAT 5.0.28
The web server is responsible for document storage and retrieval. A web client (or
browser) sends requests to the web server. Web server sends the document
requested (or an error message) back to the requesting client. The client interprets
and presents the document. The language that the web clients and servers use to
communicate with each other is called the HyperText Transfer Protocol (HTTP).
All web clients and servers must be able to speak HTTP in order to send and
receive data. So web servers are often called HTTP servers, or HTTP Daemons
(HTTPD). Apache is a secure, efficient and extensible server, which provides
22. HTTP services. Tomcat is the servlet container that is used in the implementation
of Java Servlet and JavaServer Pages technologies. A servlet container is a runtime
shell that manages and invokes servlets on behalf of users. It can be used as standalone, or in conjunction with several popular Web servers. Apache Tomcat comes
with a Manager web application, which provides the ability to manage web
applications running in the Tomcat container. The Tomcat Manager resides
in the Manager Context. Using it, we can start, stop, install, and report web
applications.
5.9 Microsoft SQL Server 97
SQL, which stands for Structured Query Language, is a standard for data
manipulation, first established by ANSI in 1982. SQL instructions are used to
control relational databases. MS-SQL SERVER is a specific relational database
package, which is freely available and implements a subset of SQL. MS-SQL
SERVER is a true multi-user, multi-threaded SQL database server. It is the
preferred solution for those holding accounts at the web master or higher level,
which need databases to drive their web sites. MS-SQL SERVER is the world's
most popular database, recognized for its speed and reliability. MSSQL
SERVER, the product by the Microsoft Corporation, world largest software
company, provides SQL server software development and related support and
services.
Advantages
? Freely available, open-source, actively maintained, powerful and efficient.
? Much faster than PostgreSQL.
? More sophisticated ALTER TABLE statement.
? Supports a compressed server/client protocol.
? Improved performance over slow links.
? Internal support for text search.
Following are the SQL Queries were made for the project:
In SQL Comment entries are entered using double dash
1) create table REGISTRATION
(
RegistrationId int IDENTITY(1000,1) Primary Key, -- it’s an identity column –
with starting -- value(seed)1000 & step value(incr.)of 1
FirstName varchar(25),
LastName varchar(25),
Address varchar(45),
AccountType char(2) check (AccountType in('SB','CA','NR')),
AnnualIncome money ,
iPhoneNumber char(13) CHECK (iPhoneNumber like("0[0-2][1-9][0-9]-[2-9][09][09][0-9][0-9][0-9][0-9][0-9]"))
);
2) create table LOGIN
(
24. (
LoanRegistrationId int IDENTITY(4000,1) Primary Key, -- it’s an identity ---column with starting value(seed)1000 & step value(incr.)of 1
FirstName varchar(25),
LastName varchar(25),
Address varchar(45),
LoanType char(40)CHECK (LoanType
in('Home','Land','OfficePremise','Vehicle','Personal')),
PhoneNumber char(13) CHECK (PhoneNumber like("0[0-2][1-9][0-9]-[2-9][09][09][0-9][0-9][0-9][0-9][0-9]")),
AnnualIncome money,
AmountApplied Money
);
9) Create table LOANDETAILS
(
LoanId int foreign key references LOAN(LoanId),
LoanRegistrationId int foreign key references
LOANREGISTRATION(LoanRegistrationId),
LoanAmount money,
LoanAmountRepaid money,
Balance money,
DateOfSanction datetime,
BalanceNoOfInstalment int
);
TESTING AND IMPLEMENTATION
6.1 TESTING OBJECTIVES
Software testing is a critical element of software quality assurance and represents
the ultimate review of specification, design and code generation. Once source code
has been generated, the software must be tested to uncover and correct as many
errors as possible before it is delivered to the customer. Software is tested from
two different perspectives. Internal programming logic is exercised using “white
box” test case design techniques. Software requirements are exercised using “black
box” test case design techniques. In both cases, the intention is to find the
maximum number of errors with the minimum amount of effort and time. A set of
test cases designed to exercise both internal logic and external requirements is
designed and documented, expected results are defined, and the actual
results are recorded.
Objectives
The testing phase of the Internet Banking website had the following main
objectives:
? To address the users’ requirements in the least amount of time possible.
? To help the users find the results in the most accurate manner possible.
? To prove that the system allows for scalability and portability.
25. ? To make the system free of scripting errors.
? To prove that the system is fully platform-independent.
? To identify areas of improvement.
? To spec out the optimal configuration of hardware and software required by the
system.
6.2 SYSTEM TESTING
Initially, system engineering defines the role of software and leads to software
requirements analysis, where the information domain, function, behavior,
performance, constraints and validation criteria for software are established.
Moving inward along the spiral we come to design and finally to coding.
6.2.1 Unit Testing
Unit testing focuses verification effort on the smallest unit of software design, i.e.,
the software component or module. Using the component-level design description
as a guide, important control paths are tested to uncover errors within the
boundary of the module. The relative complexity of tests and uncovered errors is
limited by the constrained scope established for unit testing. The unit test is whitebox oriented, and the step can be conducted in parallel for multiple components.
Sub modules are verified in an isolated environment. Different test cases are
applied to test the range of values expected, including both valid and invalid data.
After coding each component was tested and run individually.
6.2.2 Integration Testing
Integration testing is a systematic technique for constructing the program structure
while at the same time conducting tests to uncover errors associated with
interfacing. The objective is to take unit tested components and build a program
structure that has been dictated by design. Thus, it is a logical extension of unit
testing. In its simplest form, two units that have already been tested are combined
into a component and the interface between them is tested.
6.2.3 Validation testing
Validation tests are tests that measure some aspect of an implementation’s
behavior against an expectation and answer whether the software complies with
the expectation. During the course of validating the reporting module, to some
extent, failure occurred at first and the coding was changed for accurate results.
When the application was made free from all logical and interface errors, validation
testing was done by inputting dummy data to ensure that the software developed
satisfied all the requirements.
White Box Testing
White box testing is a software testing technique, whereby explicit
knowledge of the internal workings of the item being tested is used to
select the test data. It uses specific knowledge of programming code to
examine outputs. The test is accurate only if the tester knows what the
program is supposed to do. He or she can then see if the program
diverges from its intended goal.
Black Box Testing
26. Black box testing is a software testing technique, whereby the tester does
not know the internal workings of the item being tested. For example, in
a black box test on software design the tester only knows the inputs and
what the expected outcomes should be and not how the program arrives
at those outputs. The tester does not ever examine the programming
code and does not need any further knowledge of the program other
than its specifications.
6.3 SYSTEM IMPLEMENTATION
Implementation is that stage of the project when the theoretical design is
turned into a working system. If the implementation stage is not
carefully planned and controlled, the system may not work as intended.
Thus, it can be considered as the most crucial stage in achieving a
successful system. The system under consideration has been
implemented with a web-based architecture. There are three main
components in the system. The user interface is displayed in a web
browser. The database stores all the data before and after the processing.
The business logic layer is the most important one, translating
commands from the user interface to the database, and also returning
results from the database to the user interface. This project is
implemented using JavaServer Pages and HTML for the user interface,
Java Beans and EJB for the business logic and MS-SQL SERVER for
the database. An object oriented approach is followed throughout the
development of the system. During the implementation phase the first
preference has been given for error handling and error recovery. If the
user forcibly enters wrong data, the user interface will display error
messages and alerts, depending on the context. Client-side validation has
been implemented with the help of JavaScript. For server-side
validation, methods have been implemented in the corresponding beans
for each of the user interface modules. As all the data entered by the
user is validated before entering the database, only minimum amount of
checking is required at the back-end. This in-turn ensures faster
performance. The system has been tested on the above-mentioned
parameters successfully.
RESULTS
7.1 HOME PAGE
28. CONCLUSION
This project titled “Internet Banking” is designed and completed. This project
aided us in observing the advanced concepts of Java, EJB, RMI, JSP and Servlet.
This project is of great boon for a Java learner. The site assumes that we have good
bandwidth. It is so because web pages have good amount of gif file and Flash
animation files. There is tremendous scope for the project to be implemented in
real terms. In India, all big banks associated with big business houses are now
moving toward Internet Banking. They would definitely would be making
there website secure, reliable, robust and consistent. All this are offered by J2EE
29. architecture. J2EE follows all the property of the transaction. These are ACID
property of transaction.
Atomocity
Consistency
Isolation
Durability
In brief it implies that a transaction should be committed from all side or should
not commit at all. In the project we have taken this into account. This has been
achieved by setting the auto commit False in the database uses. In the case we are
using Microsoft SQL SERVER, with JDBC-ODBC driver for connection with
Java code and the backend. Some temporary client’s informations were collected in
the project using Java concept called COOKIE.
REFERENCES
BIBLIOGRAPHY
The complete Reference J2EE By Jim Keogh
Published by Tata McGraw-HILL.
Java2 Bible Enterprise Edition
By Justin Couch, Daniel H. Steinberg.
Published by Hungry Minds Inc.
WEBSITES
www.sun.java.com
www.netBean.org
www.oracle.com/technology/pub/articles/j2ee
www.sugarcrm.com
SEARCH ENGINES
www.yahoo.com
www.google.com