Вы находитесь на странице: 1из 43

1

CHAPTER 1
INTRODUCTION
It's easy to be skeptical about online banking. After all, does anyone
really need to transfer funds from one account to another while riding the
bus to work, or check balances during meeting breaks? The reasoning
among banks for the move to online banking is simple, the more time a
customer spends transacting with a bank, the more loyal that customer is".
Online banking (also known as M-Banking, mobile banking) is a
term used for performing balance checks, account transactions, payments
etc. via a online website. Online banking today is most often performed on
the Online Internet but can also use special programs downloaded to the
online device.
Security and privacy are critical for electronic communication and ebusiness. Network security measures are needed to protect data during its
transmission.

TRADITIONAL METHODS:

In traditional banking system, a customer can open any bank account in


banks, take the facility of saving his money by depositing money in local
bank. He can withdraw his money through check, counter payment and

through bank draft. He can meet the bank manager and ask his problem. He
can take the physical help for getting loan from bank.
DISADVANTAGES:
(i)Robbery:
Robbery is a big disadvantage these days. No one can do the same thing in
e-banking.
(ii)Timing:
Banks are opened from 9: 00 to 5:00 p.m. But, it may possible that
we have to pay at 11:00 p.m. which can be done through e-banking not
traditional banking.
PROBLEM DEFINITION:
To allow only authorized user to access various functions and
processed available in the system.
Locate any A/C wanted by the user .Reduced clerical work as most
of the work done by computer.
Provide greater speed & reduced time consumption.
To increase the number of A/C and customer.

This will reduced the manual workload and give information


instantly.
The software will maintain the list of A/C and customer record and
balance status.
The software will be user friendly so that even a beginner can
operate the package and thus maintain the status of A/C and balance
status easily
ADVANTAGES:
Access your bank accounts anytime, anywhere. With online banking you
can securely bank anytime and anywhere you want as long as you have
access to the Internet. You can use your computer - or, with some banks,
even your smartphone - to check your balance, transfer money and pay
bills on the go.
Convenience: This is the single most important benefits that outweigh any
shortcoming of internet banking. Making transactions and payments right
from the comfort of home or office at the click of a button without even
having to step out is a facility none would like to forego. Keeping a track of
accounts through the internet is much faster and convenient as compared to
going to the bank for the same. Even non transactional facilities like
ordering check books online, updating accounts, enquiring about interest
rates of various financial products etc become much simpler on the
internet.

Better Rates: The banks stand to gain significantly by the use of internet
banking as it implies lesser physical effort from their end. The need to
acquire larger spaces for offices and employ more staff to deal with the
customers is significantly reduced making it financially beneficial to the
banks. This means that a portion of savings accrued can be passed on to the
customers in terms of higher rates on deposits and lower rates on loans. To
encourage internet banking most banks offer minimum or no deposit
accounts for online banking and lower penalties on early withdrawal of
Fixed Deposits.
Services: Technology has made it extremely convenient for the bank as
well as the customer to access to a host of wonderful services by simply
logging in. These services include financial planning capabilities,
functional budgeting and forecasting tools, loan calculators, investment
analysis tools and equity trading platforms which are available as simple
applications on the bank's website. Additionally most banks also provide
the facility of online tax forms and tax preparation.
Mobility: Internet banking has a step further in the last few years in the
form of mobile internet banking which accords unlimited mobility to the
customer who can now handle financial transactions even while on the
move.
Another important benefit of the concept of internet banking is that it is
good for the environment as it cuts down the usage of paper, reduces
pollution as people do not have to travel physically and also does not add
emissions.

1.3 CONTENTS OF OUR PROJECT


Chapter 2 covers all the concepts involved in the project. The topics
covered in this section are J2ME, Steganography, Cryptography, MySQL
and Tomcat.
Chapter 3 is the Design and Implementation. This chapter includes
two sequence diagrams describing the overall working of the project. This
is followed by the module description. There are four modules involved in
this project. The modules are Web Application, Online Application,
Cryptography and Steganography.
Chapter 4 is the Experimentation and Results. This includes all the
snapshots involved in the project along with its explanation. The snapshots
covered are Web Application and Online Application. Both cover functions
like viewing the account details and transaction. The snapshots also cover
the authentication phase in both the applications and steganography image
phase in the online application.
Appendix 1 includes the sample code. Appendix 2 contains the JSP
concepts used in the Web Application module. The testing part is included
in Appendix 3. Also the lists of references are specified in the
documentation.

CHAPTER 2
REQUIREMENTS
This chapter gives the detailed description of all the concepts involved in
the project. The topics included are J2ME,My SQL.
2.1 J2ME
It all started with one version of Javanow known as Java 2
Standard Edition (J2SE)and the tagline "Write Once, Run Anywhere

TM

."

The idea was to develop a language in which you would write your code
once, and then it would run on any platform supporting a Java Virtual
Machine. Since its launch in 1995, the landscape has changed significantly.
Java has extended its reach far beyond desktop machines. Two years after
the introduction of Java, a new edition was released, Java 2 Enterprise
Edition, providing support for large-scale, enterprise-wide applications.
The most recent addition to the family is the Micro Edition, targeting
"information appliances," ranging from Internet-enabled TV set-top boxes
to cellular phones.
Java Editions
Let's begin with a quick summary of the Java platforms currently available:

Standard Edition (J2SE): Designed to run on desktop and


workstations computers.
Enterprise Edition (J2EE): With built-in support for Servlets, JSP,
and XML, this edition is aimed at server-based applications.
Micro Edition (J2ME): Designed for devices with limited memory,
display and processing power.
Why J2ME?
J2ME is aimed squarely at consumer devices with limited
horsepower. Many such devices (e.g., a online phone or pager) have no
option to download and install software beyond what was configured
during the manufacturing process. With the introduction of J2ME, "micro"
devices no longer need to be "static" in nature. Not unlike a web browser
downloading Java applets, an implementation of J2ME on a device affords
the option to browse, download and install Java applications and content.
Although it would be nice to have the entire J2SE Application
Programming Interface (API) available on a micro device, it's not realistic.
For example, a online phone with its limited display cannot provide all the
functionality available in the Abstract Window Toolkit, the first graphical
user interface released with Java. The "Micro Edition" was introduced to
address the special needs of consumer devices that are outside the scope of
J2SE and J2EE.

Configurations
To support the broad range of products that fit within the scope of
J2ME, Sun introduced the Configuration.
A Configuration defines a Java platform for a broad range of
devices. A Configuration is closely tied to a Java Virtual Machine (JVM).
In fact, a Configuration defines the Java language features and the core
Java libraries of the JVM for that particular Configuration.

J2EE

MIDP

Profile level

CLDC

Configuration
Level

J2SE
CDC
JAVA Virtual MACHINE

KVM

Figure 2.1 J2ME Architecture


The dividing line as to what a Configuration applies is for the most
part based on the memory, display, network connectivity (or limitations of)
and processing power available on a device. The architecture of J2ME is
shown in figure 2.1.

The Sun J2ME states the following: "The J2ME technology has two
design centers, things that you hold in your hand and things you plug into a
wall." This may be a good general definition, but that's exactly what it is,
general. Don't let this be your sole guide in deciding which Configuration
applies. Following are typical characteristics of devices within the two
currently defined Configurations:
Connected Device Configuration (CDC)
512 kilobytes (minimum) memory for running Java.
256 kilobytes (minimum) for runtime memory allocation.
Network connectivity, possibly persistent and high bandwidth.
Connected, Limited Device Configuration (CLDC)
128 kilobytes memory for running Java.
32 kilobytes memory for runtime memory allocation.
Restricted user interface.
Low power, typically battery powered.
Network connectivity, typically wireless, with low bandwidth and
intermittent access.
Although this division seems pretty clear, this won't always be the
case. Technology is continually advancing. Remember your first computer?
What was "state-of-the-art" in 1985 (when I purchased my first personal
computer) pales in comparison to what is available today. The point is, as

10

technology offers us more processing power, with increased memory and


screen capabilities, the overlap between these categories will become
larger. This is a nice segue to our next discussion, Profiles.
Profiles

It's all well and good that devices will fall within one Configuration
or the other. For example, a typical cellular phone, Personal Digital
Assistant (PDA) and pager will all fit the guidelines of the Connected
Limited Device Configuration (CLDC). However, what seems limiting to
one device in a Configuration may be abundance to another. Recall the
analogy of the cellular phone screen size versus that of a PDA. To address
this broad range of capabilities, and to provide for more flexibility as
technology changes, Sun introduced the concept of a Profile to the J2ME
platform.
A Profile is an extension, if you will, to a Configuration. It provides
the libraries for a developer to write applications for a particular type of
device. For example, the Online Information Device Profile (MIDP)
defines APIs for user interface components, input and event handling,
persistent storage, networking and timers, taking into consideration the
screen and memory limitations of online devices.

11

Java Virtual Machines


The engine behind any Java application (or applet, servlet, etc.) is
the JVM. Once you've compiled your Java source code into a class file(s),
and optionally included them in a Java Archive (JAR) file, the JVM
translates the class files (more accurately, the byte code in the class files)
into machine code for the platform running the JVM. The JVM is also
responsible for providing security, allocating and freeing memory and
managing threads of execution. It's what makes your Java programs go, so
to speak.
For CDC, the virtual machine has the same specification as J2SE.
For CLDC, Sun has developed what is referred to as a reference
implementation of a virtual machine, known as the K Virtual Machine, or
simply KVM. This virtual machine was designed to handle the special
considerations of resource-constrained devices. It's clear the KVM is not
the "traditional" Java virtual machine:
The virtual machine itself requires only 40 and 80 kilobytes of
memory
Only 20 to 40 kilobytes of dynamic memory (heap) are required
Can run on 16-bit processors clocked at only 25 MHz
The KVM is Sun's implementation of a JVM that fits the guidelines
of

the CLDC. It is not necessarily the only JVM that is or

will be available.

12

Generic Architecture
It begins with the host Operating System (OS) as the base (refer
Figure 2.2), followed by the virtual machine (VM). The VM will take one
of two forms:
For systems complying with the CDC, it will be the "traditional
virtual machine; that is, the same feature set as in the Java 2
Standard Edition.
For systems complying with the CLDC, it will be the KVM or a
virtual machine that meets the specifications as required by the
CLDC.
CLDC or CDC core libraries are next in the hierarchy. Profiles are
the topmost layer, and are designed to provide a toolkit for writing
applications for a particular device family.

PROFILE
CONFIGURATION
JAVA VIRTUAL MACHINE
HOST OPERATING SYSTEM

13

Figure 2.2 - "Generic" J2ME architecture

MID PROFILE
CLDC CORE LIBRARIES
K VIRTUAL MACHINE (KVM)
HOST OPERATING SYSTEM

Figure 2.3 - MID Profile architecture


MIDP Architecture
As before, the host OS is the base. The virtual machine will be the
KVM. Remember, the KVM is Sun's implementation of a JVM meeting the
CLDC specification; it may not be the only implementation available of a
virtual machine for MIDP. CLDC core libraries are next, followed by MID
Profile.
2.3 MySQL
MySQL, the most popular Open Source SQL database management
system, is developed, distributed, and supported by MySQL AB. MySQL
AB is a commercial company, founded by the MySQL developers. It is a

14

second generation Open Source company that unites Open Source values
and methodology with a successful business model.
Features of MySQL
MySQL is a database management system.
A database is a structured collection of data. It may be anything from
a simple shopping list to a picture gallery or the vast amounts of
information in a corporate network. To add, access, and process data
stored in a computer database, you need a database management
system such as MySQL Server. Since computers are very good at
handling large amounts of data, database management systems play a
central role in computing, as standalone utilities, or as parts of other
applications.
MySQL is a relational database management system.
A relational database stores data in separate tables rather than putting
all the data in one big storeroom. This adds speed and flexibility. The
SQL part of MySQL stands for Structured Query Language.
SQL is the most common standardized language used to access
databases and is defined by the ANSI/ISO SQL Standard. The SQL
standard has been evolving since 1986 and several versions exist. In
this manual, SQL-92 refers to the standard released in 1992,
SQL:1999 refers to the standard released in 1999, and

15

SQL:2003 refers to the current version of the standard. We use the


phrase the SQL standard to mean the current version of the SQL
Standard at any time.

MySQL software is Open Source.


Open Source means that it is possible for anyone to use and modify
the software. Anybody can download the MySQL software from the
Internet and use it without paying anything. The MySQL software
uses the GPL (GNU General Public License) to define what to do
and what not to do with the software in different situations.
The MySQL Database Server is very fast, reliable, and easy to use.
MySQL Server was originally developed to handle large databases
much faster than existing solutions and has been successfully used in
highly demanding production environments for several years.
Although under constant development, MySQL Server today offers a
rich and useful set of functions. Its connectivity, speed, and security
make MySQL Server highly suited for accessing databases on the
Internet.
MySQL Server works in client/server or embedded systems.

16

The MySQL Database Software is a client/server system that


consists of a multi-threaded SQL server that supports different
backends,

several

different

client

programs

and

libraries,

administrative tools, and a wide range of application programming


interfaces (APIs). We also provide MySQL Server as an embedded
multi-threaded library that you can link into your application to get a
smaller, faster, easier-to-manage standalone product.
A large amount of contributed MySQL software is available.
It is very likely that your favorite application or language supports
the MySQL Database Server.
SQLyog
SQLyog is an easy to use yet powerful tool to manage your My-SQL
databases. Its GUI interface provides features to quickly and easily
create/drop databases, tables, fields, indexes, foreign key relationships etc.
It allows connecting to MySQL server even if there are no proper
access privileges. It can backup/restore databases, synchronize two
databases, manage user privileges, repair/check/optimize databases. Its
powerful ODBC Import Tool allows you to Import Data from any ODBC
compliant data source to My-SQL.

17

2.5 Apache
The Apache software foundation provides support for the Apache
community of open-source software projects. The Apache projects are
characterized by a collaborative, consensus based development process, an
open and pragmatic software license, and a desire to create high quality
software that leads the way in its field.
Amongst the projects that come under the Apache banner are the
http Web Server from which the whole Apache project has grown, and
which is the container used for the majority of web sites worldwide, Ant
and Jakarta. The structure of the Apache projects is shown in figure 2.5.

CHAPTER 3

18

MODULES
This chapter contains two modules such as login module and
database module. This project is implemented using J2ME as the Front End
in Online Application, J2EE in Web application and MySQL as the Back
end.
3.2.1 Module 1: Web Application
The other name of Web Banking is Net-Banking or N-Banking. The
N-Banking is one of the most popular methods, which was established
before M-Banking. This module explains the interaction between the web
server and the web client i.e., the web client interacts online with the
server. Internet is used by the Web Client to establish this connection.
The client first opens the Banks web page by specifying its URL.
Next, the client is requested to enter the unique Username and Password
for authentication purpose. If entered correctly, the user is logged on to the
next page.
The next page displays the account number, account type and
balance details of the client. Also, two more options are displayed to the
user. Depending on the users need, any one of the options can be selected.
The Account details option, if selected displays the account details along

19

with details about the last few transactions made by the client. Transfer
money option is used for transferring funds from one account to another
account. The user is requested to enter the account number to which money
has to be transferred, the amount to transfer and the transaction password.
In this module no security measures have been implemented. This
module has been performed to confirm the communication path between
the server and the client.
3.2.2 Module 2: Online Application
Online Banking comes very handy by reducing the stress of the
customer to go to the bank, the delay for enquiry and transaction etc. Every
customer who has an account in the bank and wishes to enhance his
privacy, he will be given a software by the bank which can be exclusively
used only by that account holding person ie. The software the customer
holds can only perform his transaction and viewing of his account details
corresponding to his account number.
First the user has to be authenticated. For this he is requested for the
Username, Password and the IP of the server along with the port
number. These values have to be authenticated by the server. For this, first
we encrypt the Username by using the password as the key.. This data is
sent to IP entered by the user, which is nothing but the server along with
the Account number.

20

Displaying the Account Details:


Client

Server

Enter Username& password.

Send Username encrypted with Password in an


Image along with Accno.
Authenticate
Request for account details
Encryption &
Image Embedding
Send Data

21

Enter Password,
Retrieve Cipher text &
Decrypt
Display Account Details
Exit

Figure 3.1 Displaying Account Details


There is sequence of steps that has to be performed by a online client
with the server for getting the account details. These steps have been
explained
Client in figure 3.1.

Server

3.1.2 Money Transaction


There is sequence of steps that has to be performed by a online
client with the server for performing money transaction. These steps have
been shown in figure 3.2.

22

Enter Username& password

Send Username encrypted with Password in an


Image along with Accno.
Authenticate

Select Transaction option

Enter Receivers account number,


Amount &
Senders transaction Password
Send Details
Update
Database
Exit Figure 3.2 Money Transaction
CHAPTER 4

DESIGN

23

This chapter includes various design forms of the project.


4.1 Login Form for Web application
The login form of a web application in our project is similar as in
figure 4.1. In this page, the client enters his username and password for
authentication.

24

Figure 4.1- Login page of Web Application.

25

4.2 Balance page

When the username and password entered are correct then the server
authenticates the user by displaying the page as in figure 4.2. The name of
the Account holder, Account No, Account Type and Balance are displayed.
The user now has two options to select. The options are Account
details and Transfer money.

26

Figure 4.2 - Authenticated page of Web Client.


4.3 Deposit page
When the client selects the account details option, details like the
account number, last few transactions made by the client are displayed as in
figure 4.3. This is similar to mini statements in ATM.

27

Figure 4.3 - Account Details of Web Client.

4.4 Withdrawal page

28

When the client selects transfer money option, figure 4.4 is


displayed. Here, the client enters the account number to which the money
has to be transferred, the amount and the transaction password.
The transaction password is different from the login password, which is
another measure of security.

29

Figure 4.4 - Money Transfer in Web Application

4.5 Transaction page


When the details are correct then amount will be transferred and
intimation is provided to the client as in figure 4.5. The database will be
automatically updated.
Transaction will be done only if there is sufficient balance in the
customers account.

30

Figure 4.5 - Acknowledgement of Money Transfer

31

ER DIAGRAM:

32

CHAPTER 5

IMPLEMENTATION

33

CHAPTER 6

34

CHAPTER 7

7.1 Login Page

7.2 Balance page

35

7.3 Transfer page

36

7.4 Transfer form

37

7.5 Withdrawal page

38

7.6 Deposit page

39

7.7 Balance form

40

7.8 Open new account form:

41

42

REFERENCES

43

BOOKS
Java Programming Language By Ken Arnold, James Gosling, David
Holmes
. A Programmers Guide to Java SCJP Certification: A Comprehensive
Primer By Khalid Azim Mughal, Rolf Rasmussen
Head First design patterns By Eric Freeman, Elisabeth Freeman, Kathy
Sierra, Bert Bates

WEBSITES

1. Stack Overflow
http://stackoverflow.com
2. w3schools
http://w3schools.com

Вам также может понравиться