A Project Report on Online Banking Solution

download A Project Report on Online Banking Solution

of 75

Transcript of A Project Report on Online Banking Solution

  • 8/15/2019 A Project Report on Online Banking Solution

    1/75

     

    1 | P a g e  

    Gr een BankOnl i ne Banki ng Sol ut i on 

    Developed by: Ankit Mishra

    Tecnia Institute of Advanced StudiesMCA Vth Semester

     Tools &Technologies usedJava, JDBC

    JSPServlets

    Eclipse IDEOracle 8i

     TECNIA INSTITUTE OF ADVANCED STUDIES(Approved by AICTE, Ministry of HRD, Govt. of India)

    (Affiliated to GGS Indraprastha University, Delhi) 

  • 8/15/2019 A Project Report on Online Banking Solution

    2/75

     

    2 | P a g e  

    Acknowledgement

    Any project combines efforts, ideas, suggestions, reviews & hard work.

    II wwoouulldd ssiinncceer r eellyy lliik k ee ttoo tthhaannk k  MMrr.. VVii j jaayy SSiinngghhaall ((PPrrooggrraamm CCoooorrddiinnaattoorr -- MMCCAA)) f f oor r  

    aalllloowwiinngg  mmee  ttoo  ccaar r r r yy  oouutt  tthhee  p pr r oo j jeecctt  wwoor r k k ,,  aaccttiinngg  aass  tthhee  gguuiiddiinngg  ss p piir r iitt  b beehhiinndd  tthhee 

    ccoomm p piillaattiioonn  oof f   tthhiiss  p pr r oo j jeecctt  r r ee p poor r tt  aanndd  f f oor r   p puuttttiinngg  ttr r eemmeennddoouuss  eef f f f oor r ttss  f f r r oomm  hhiiss  ssiiddee  ttoo 

    aassssiisstt mmee aass mmuucchh aass p poossssii b bllee.. WWiitthhoouutt hhiiss ssuu p p p poor r tt aanndd gguuiiddaannccee tthhiiss p pr r oo j jeecctt r r ee p poor r tt ccoouulldd 

    nnoott hhaavvee b beeeenn ttr r aannssf f oor r mmeedd iinnttoo r r eeaalliittyy.. 

     TECNIA INSTITUTE OF ADVANCED STUDIES (Approved by AICTE, Ministry of HRD, Govt. of India)

    (Affiliated to GGS Indraprastha University, Delhi)

  • 8/15/2019 A Project Report on Online Banking Solution

    3/75

     

    3 | P a g e  

    CERTIFICATE

    This is to certify that this project entitled “Green Bank Online BankingSolution” submitted in partial fulfillment of the degree of MASTER OFCOMPUTER APPLICATION to the Tecnia Institute of Advanced Studies,done by Mr. Ankit Mishra, Enroll No. 0671704406  is an is an authenticwork carried out by him at Tecnia Institute of Advanced Studies undermy guidance. The matter embodied in this project work has not beensubmitted earlier for award of any degree or diploma to the best of myknowledge and belief.

    ( Ankit Mishra ) ( VIJ AY SINGHAL )

    Enrollment No. : 0671704406 MCA-Programme Coordinator

    Course : MCA

    Place: New Delhi

    Date:

  • 8/15/2019 A Project Report on Online Banking Solution

    4/75

     

    4 | P a g e  

    SELF CERTIFICATE

    This is to certify that the dissertation/project report entitled “Green BankOnline Banking Solution” done by me is an authentic work carried out forthe partial fulfilment of the requirements for the award of the degree ofMASTER OF COMPUTER APPLICATION (MCA) under the guidance of Mr.Vijay Singhal. The matter embodied in this project work has not beensubmitted earlier for award of any degree or diploma to the best of myknowledge and belief.

    Ankit Mishra

    Enroll. No 067104406

    MCA Vth Semester

    Place: New Delhi

    Date:

  • 8/15/2019 A Project Report on Online Banking Solution

    5/75

     

    5 | P a g e  

     Table Of Contents

    Synopsis

    Part I INTRODUCTION1. Proposed System 7

    2. Definition of Problem 8

    3. Theoretical Background 10

    4. Objective and Scope of the Project 11

    Part I I System Analysis5. Requirement Analysis 13

    6. Feasibility study 14

    Part I I I System Requirements7. Hardware / Software specification 117

    Part IV System Design8. Database design 18

    9. E-R diagram 20

    10. Dataflow Diagram 21

    11. Use Case Diagram 23

    12. Activity Diagrams  24

    13. Deployment Environment Diagram 26

    14. Process Description for customer 27

    Part V Methodology Adopted15. Java Server Pages 28

    16. Servlets 34

    17. MVC Architecture Model2 36

    18. Apache Tomcat 37

  • 8/15/2019 A Project Report on Online Banking Solution

    6/75

     

    6 | P a g e  

    Part VI Software Development19. Input/Output Screens with Sample Data 39

    20. Sample codes 55

    Part VII System Testing

    21. Testing Methodology 70

    Part VII I Conclusion 22. Limitations

    23. Future Enhancements

    24. Bibliography

  • 8/15/2019 A Project Report on Online Banking Solution

    7/75

     

    7 | P a g e  

    Synopsis - Mini Project

    Green Bank - Online Banking Solution

    Created by: Ankit Mishra

    Course: MCA- Vth SemesterRoll No. 0671704406

    Introduction

    The project is intended to provide online banking facilities such as checking accounts, paying mobile bills, getting pay-in slips and making transfers over World Wide Web.

    Customer is supposed to provide login id and password to access his bank account online.

    With proper authorization the customer will be allowed to perform various bankingactivities. In addition to conventional banking services the customer is also facilitated

    with service like recharging mobile accounts for Airtel customers

    There are two major ends in this project the customer end and the administrator end.

    •  Customer end is the end where customers make requests to view their accountinformation update information and do transactions or pay certain bills.

    •  Administrator end is responsible for validating the user i.e. not allowing any

    unauthorized person to access the account. In event of a customer forgetting theLogin password, provision has been made to provide password through a secure passage. Administrator is responsible for adding customers without affecting

    existing customers.

    Objective and Scope of the project

    The main purpose of Online Banking Solution is to provide customers with an ability tomake transactions online over a very user friendly interface.

    Facilities provided

    •  View Account: Customer is authorized to check his account.

    •  Transfer Money: Customer can transfer money online over a secure passage toanother account.

    •  Credit Card Facility: Customer can login using the credit card number. Acustomer can also apply for a credit card.

    •  Application Forms: Different forms such as new cheque book request, change ofaddress etc can be downloaded.

  • 8/15/2019 A Project Report on Online Banking Solution

    8/75

     

    8 | P a g e  

    •  Customer Help: A document enabling customers to understand Online Banking.

    •  Bill Payment: Bills pertaining electricity, mobile can be paid online.

    •  Mobile Recharge: In collaboration with Airtel, users can get their accountrecharged.

    •  Generate Account Statements

    • 

    Architecture of Online Banking (Green Bank)

    The Online Banking Application is based on 3-tiered model. The Enterprise

    architecture forOnline Banking Green Bank).

    Figure1: Architecture of Online Banking (Green Bank)

    The 3-tiered architecture shown above has the following major components:

    •  Client: There will be two clients for the application. One will be a web-baseduser-friendly client called bank customers. The other will be for administration

     purposes.

    •  Application Server: It takes care of the server script, takes care of JDBC-ODBCdriver, and checks for the ODBC connectivity for mapping to the database in

    order to fulfill client and administrator’s request.

    •  Database: Database Servers will stores customer’s and bank data.

  • 8/15/2019 A Project Report on Online Banking Solution

    9/75

     

    9 | P a g e  

    Software Development Methodology

    Analysis

    The table below lists the functionalities to be included in the Online Banking Application,

    as well as certain features that will not be supported. This list is a tentative, since it may be discovered during development that additional features are required or some existing

    features may prove to be unworkable or impractical due to time limitations. Theapplication will be written Java Server Pages (JSP), as it is easier to write and maintain

     pages. Table 1 represents the features supported by Online Banking

    Feature Support

    Support 3-tier architecture(Client, Server,Database)

    yes

    Easy means of navigation through pagescontaining proper session tracking.

    yes

    Easy means of navigation Yes

    Support of application server Tomcat

    Support JDBC-ODBC connections yes

    Menus created with the help of flash yes

    Database support Yes(Oracle 8.1.7)

    Establish Database Connection yes

    Generation of Use Case and Dataflow

    diagrams

    yes

    Programming language support yes

    Operating system Windows 98, 2000,Xp,Vista

    Table1 Functionalities of Online Banking

  • 8/15/2019 A Project Report on Online Banking Solution

    10/75

     

    10 | P a g e  

  • 8/15/2019 A Project Report on Online Banking Solution

    11/75

     

    11 | P a g e  

    Software and Hardware Requirements 

    •  Hardware requirements: P4 (2.4 GHz), 512 mb DDR ram

      Operating System: Windows Xp(Professional) SP2•  Software Requirements: Eclipse IDE, Apache tomcat 6.0.18, JavaScript, HTML,

    JSP and Servlets, Oracle 8.1.7

    Limitations

    •  The project can be best viewed on Firefox. •  It provides banking facilities to personal banking. •  Enterprise Java Beans have not been implemented. •  SSL is not implemented. •  Loan facilities, credit card login is not being provided. 

    ConclusionThis project shows, how Online applications like online Banking, can easily be developedusing Enterprises Java Technologies and its distributed architectures \[Page-Centric,

    Page-View, and Model 1]. A more efficient approach would be to utilize Model ViewController 2 architecture, which makes application reusable, robust, and more object-

    oriented the approach followed in this project.

  • 8/15/2019 A Project Report on Online Banking Solution

    12/75

     

    12 | P a g e  

    Proposed System

    Those that do are sometimes referred to as "brick-to-click" banks, both to

    distinguish them from brick-and-mortar banks that have yet to offer online banking, as well as from online or "virtual" banks that have no physical branches

    or tellers whatsoever.

    The challenge for the banking industry has been to design this new servicechannel in such a way that its customers will readily learn to use and trust it. After

    all, banks have spent generations earning our trust; they aren't about to risk that ona Web site that is frustrating, confusing or less than secure.

    The proposed system will show the Online using Servlets and JSP and Oracle8i as

    the backend. This project makes use of flash navigation menu bars which makes iteasier to navigate through the site and the project is build around MVC

    architecture which makes it more robust system.The vision is simple and powerful: customers will be able to perform banking functionalities in an easy

    manner .

  • 8/15/2019 A Project Report on Online Banking Solution

    13/75

     

    13 | P a g e  

    Definition of Problem

    The purpose of this project is to develop an on-line banking system that provides

    customers with the facility to check their accounts and do transactions on-line.The system will provide all the banks facilities to its customers when their

    authentications [user id and password] matches, including viewing accountinformation, performing fund transfers, giving the customer an option of changing

    address, password retrieval, performing transactions, viewing transactions andlocate bank branches. The system allows and should allow customers to view

    their personnel accounts and to pay bills online from their account.

    The system should assign a unique transaction number to every transaction that auser makes.. The Administrator will administer both normal bank account. The

    administrator have the ability to perform various operations like creating a normal

     bank account for the customer and performing functions like transfers,withdrawals and deposits when the customers want teller transactions. Theadministrator also has the privilege to close the customer’s account on the request

    of the bank customer. The customer should be able to access his/her accountfrom anywhere just by inputting the correct user-id and password.

    Advantages of online banking

    •  Convenience: Unlike your corner bank, online banking sites never close;they're available 24 hours a day, seven days a week, and they're only a mouse

    click away.

    •  Ubiquity: If you're out of state or even out of the country when a money problem arises, you can log on instantly to your online bank and take care of business, 24/7.

    •  Transaction speed: Online bank sites generally execute and confirmtransactions at or quicker than ATM processing speeds.

    •  Efficiency: You can access and manage all of your bank accounts, includingIRAs, CDs, even securities, from one secure site.

    •  Effectiveness: Many online banking sites now offer sophisticated tools,including account aggregation, stock quotes, rate alerts and portfolio managing programs to help you manage all of your assets more effectively. Most are also

    compatible with money managing programs such as Quicken and MicrosoftMoney.

  • 8/15/2019 A Project Report on Online Banking Solution

    14/75

     

    14 | P a g e  

    Disadvantages of online banking

      Start-up may take time: In order to register for your bank's online program, youwill probably have to provide ID and sign a form at a bank branch. If you andyour spouse wish to view and manage your assets together online, one of you

    may have to sign a durable power of attorney before the bank will display allof your holdings together.

    •  Learning curve: Banking sites can be difficult to navigate at first. Plan to investsome time and/or read the tutorials in order to become comfortable in your

    virtual lobby.

      Bank site changes: Even the largest banks periodically upgrade their online programs, adding new features in unfamiliar places. In some cases, you mayhave to re-enter account information.

    •  The trust thing: For many people, the biggest hurdle to online banking islearning to trust it. Did my transaction go through? Did I push the transfer button once or twice? Best bet: always print the transaction receipt and keep it

    with your bank records until it shows up on your personal site and/or your bank statement.

  • 8/15/2019 A Project Report on Online Banking Solution

    15/75

     

    15 | P a g e  

     Theoretical Background

    Similar banking applications are available in the market. A considerable amount

    of research has been done in past few months on this project. Many banks hadmigrated from paper based banking system to electronic online banking. Each

     bank had its own, user friendly interface, which helps its customers to interactwith their account at their ease. A wide variety of Online Banking applications are

    available in the market which in turn help the bank to function smoothly. All banks which are using online banking application uses the same basic principle.

    Axis Bank

    has excellent features, which allows customers to check their accounts and view

    their statements. The best thing about this bank’s system allows us to schedule

     payments and do online transactions. The security feature is the best; it gains thetrust of the customer and allows them to do their transitions in an efficient andsecure manner. However, the interface is very complicated for novice users. The

    interface for credit card customer is confusing

    Canara Bank

    One of the finest bank of India , who perform their transactions online. Thesecurity issues are wonderful, and it allows the customer to view their

    transactions, pay bills online, ATM/branch locator and provide

  • 8/15/2019 A Project Report on Online Banking Solution

    16/75

     

    16 | P a g e  

    Project Scope

    The Online banking Application project will be divided into 2 modules namely:

    1. Bank Account2. Bank Account Administrator

    Module 1

    In this module the customer is allowed to logon to the website and can access

    his/her account by getting user name and password which will be verified with theserver and the database. Once he/she gets verified then they are allowed to view

    their personal account and perform operations such as change of address, paying bills online, viewing transactions and transferring money into other accounts.

    Once the customer finishes the task the update information instantly gets stored

    into the database. The customer is then allowed to sign out from his/her account.

    Module 2

    In this module the administrator is allowed to log on to the website and can accesshis/her administrative account by using the user name and password which will

    then be verified with the database. Once he/she gets verified the administrativeinterface will be displayed, where the administrator can perform operations for

     both new customers and existing customers. Administrator will help a newcustomer in opening their account by taking complete information from them.

    Administrator provides services like withdrawal, deposit, transfer and deletingcustomer during the time of closing the account. In this module administrator

     provides great customer service to the customers who want to do phone bankingor teller banking. The interface for administrator will be both very user friendly

    and efficient. The data gets stored in the database instantly when the administratorhits the submit button.

  • 8/15/2019 A Project Report on Online Banking Solution

    17/75

     

    17 | P a g e  

    Facilities provided

    •  View Account: Customer is authorized to check his account.

    •  Transfer Money: Customer can transfer money online over a secure passage toanother account.

    •  Credit Card Facility: Customer can login using the credit card number. Acustomer can also apply for a credit card.

    •  Application Forms: Different forms such as new cheque book request, changeof address etc can be downloaded.

      Customer Help: A document enabling customers to understand OnlineBanking.

    •  Mobile Recharge: In collaboration with Airtel, users can get their accountrecharged.

    •  Generate Account Statements

  • 8/15/2019 A Project Report on Online Banking Solution

    18/75

     

    18 | P a g e  

    Requirements Analysis

    The requirements can be defined as “A complete understanding of the software

    development effort. No matter how well designed or well coded, a poorlyanalyzed and specified program will disappoint the user and bring grief to the

    developer.”

    System requirements should set out what the system should do rather than howthis is done. A requirement may be a functional requirement, that is, it describesa system service or function. Alternatively, it may be a non-functionalrequirement. A non-functional requirement is a constraint placed on the system(for instance, the required response time) or on the development process (such as

    the use of a specific language standard).

    The Design process involves developing several models of the system at different

    levels of abstraction. As a design is decomposed, errors and omissions in earlierstages are discovered. Design is a creative process. Although methods and

    guidelines are helpful, judgment and flair are still required to design a softwaresystem. 

    Requirements may be either:

    • Functional, describing the facilities of the system

    • Non-functional, describing constraints which may impact later development phases

  • 8/15/2019 A Project Report on Online Banking Solution

    19/75

     

    19 | P a g e  

    Feasibility Study

    Feasibility is the determination of whether or not a project is worth doing. The process followed in making this determination is known as feasibility. It is very

    necessary to evaluate the feasibility of a project. In the development of the present project, no such limitations were imposed that were not feasible.

    All the projects are feasible given unlimited resources and infinite time.

    Unfortunately the development of a computer-based system is more likely to be plagued by a scarcity of resources and difficult delivery date. Therefore it is both

    necessary and prudent to evaluate the feasibility of a project. Hence this is themost important aspect in analysis part of any system. The feasibility study enables

    us to know whether it is viable to go for computerization or not.

    This is the most important aspect in the analysis part of the system. Designing phase is generally dependent upon the feasibility study. The feasibility study

    enables us to determine whether it is feasible to go for computerization. Sokeeping this aspect in view the new computerized system has also undergone

    many checks and then only it was decided to develop the system. 

    There are different modes of feasibility study.

    •   Technical FeasibilityThe technical feasibility is concerned withspecifying the equipments and software that will successfully satisfy theuser requirements. A system is technically feasible if it can be designed

    and implemented with the limitations of available resources.The technical requirement i.e. the hardware and software required by the

    new system is of low cost and needing very less maintenance cost. Thereis no need to buy anything extra for the system. The projected resources

    are enough for the system. So the development of the new system istechnically feasible.

    The proposed system is technically feasible as the resources that are

    needed for the proposed system are available.

    •  Economic Feasibility

    Economic feasibility analysis is most frequently used technique for

    evaluating the effectiveness of the proposed system. It is also known asCost/Benefit Analysis. The proposed computerized system is

    economically feasible, if the benefit in the long run compensates the costincurred in the designing and implementation of the system.

  • 8/15/2019 A Project Report on Online Banking Solution

    20/75

     

    20 | P a g e  

    The cost factor of the system involves the Manpower cost, Hardware cost, and the

    Software cost.

    Manpower Cost: There is no need to employ any extra person to use this systemas its very user friendly and very easy to learn too. 

    Hardware Cost: The hardware cost is very less. So this system is economicallyregarding hardware cost.

    Software Cost: The software needed for the development of the project is nil aswe are using Free and Open Source Software (FOSS) like Java.

    The development of the proposed system does not result in too much extra

    expenditure. The existing hardware and software will fulfill the requirement of the

     proposed system. Thus, the proposed system is economically feasible.

    §  Social Feasibility

    Social feasibility is a determination of whether a proposed system will beacceptable to the people or not. This determination typically examines the

     probability of the project being accepted by the group directly affected by the proposed change in system.

    The proposed system helps to reduce the time of the user. So, the proposed system

    is accepted by the user. Thus, the proposed system is socially feasible.

    §  Legal Feasibility

    Legal feasibility is a determination of whether the proposed system infringes on

    any known Acts or pending legislations. We are using Free and Open SourceSoftware (FOSS) so the proposed system does not infringe on any legal Acts.

    Thus, it is legally feasible.

    §   Time Feasibility

    Time feasibility determines whether the proposed project can be implemented

    fully within the stipulated time frame.

    The proposed system was allotted two months time for being implemented. Thetime allotted for the proposed system is quite sufficient. Thus, the proposed

    system is time feasible.

     Thus, the proposed system passes all the feasibility tests.

  • 8/15/2019 A Project Report on Online Banking Solution

    21/75

     

    21 | P a g e  

    Hardware/Software Specifications 

    SOFTWARE REQUIREMENTS

    •  Front End Tools: Servlets and JSP.•  Back End Tools: Oracle8i•  Server: Apache Tomcat Server

    HARDWARE REQUIREMENTS

    •  Pentium III 600 MHz and above.

    •  RAM 64 MB and above.

  • 8/15/2019 A Project Report on Online Banking Solution

    22/75

     

    22 | P a g e  

    Database Design

    Customer table

     Name Null? Type

    Customer_id (PK) NOT NULL INTEGER

    Cust_first_name VARCHAR2(20)

    Cust_last_name VARCHAR2(20)

    DOB VARCHAR2(20)

    Gender VARCHAR2(2)

    Customer Detail table

     Name Null? Type

    Customer_id (FK) NOT NULL INTEGER

    City VARCHAR2(20)

    State VARCHAR2(20)

    Zip VARCHAR2(20)

    Phone Number NUMBER(10)

    Email id VARCHAR2(20)

    Login table

     Name Null? Type

    Customer_id (FK) NOT NULL INTEGER

    Password VARCHAR2(30)

    Username VARCHAR2(30)

    Credit Card table

     Name Null? Type

    Request Number NOT NULL INTEGER

     Name VARCHAR2(30)

    Profession VARCHAR2(30)

    Annual Income INTEGER

    Address VARCHAR2(30)

    City VARCHAR2(30)

    Telephone Number VARCHAR2(30)

    Card type VARCHAR2(30)

  • 8/15/2019 A Project Report on Online Banking Solution

    23/75

     

    23 | P a g e  

    Account table

     Name Null? Type

    Account Number (PK) NUMBER(8)

    Customer_id (FK) NOT NULL INTEGER

    Min_Balance NUMBER(8)

    Current balance NUMBER(8)

    Recommended by VARCHAR2(20)

     Nominee VARCHAR2(20)

    Type_of_account VARCHAR2(20)

    Date_of_opening VARCHAR2(20)

    Date_of_access VARCHAR2(20)

    Branch locator table

     Name Null? Type

    Location NOT NULL VARCAR2(30)

    Branch_city VARCHAR2(20)

    Address VARCHAR2(30)

    Transaction(transfer-funds) table

     Name Null? Type

    Trans_id NOT NULL NUMBER(10)

    Acc_no NUMBER(10)

    Account to NUMBER(10)Amount NUMBER(10)

    Transaction_date VARCHAR2(20)

    Trans_no INTEGER

    description VARCHAR2(30)

    Employee table

     Name Null? Type

    Employee_id (PK) NOT NULL NUMBER(10)

     Name VARCHAR2(20)

    Working_from VARCHAR2(20)

    Age NUMBER(10)

    Transaction type table

     Name Null? Type

    Transaction Number (PK) INTEGER

    Account Number (FK) INTEGER

  • 8/15/2019 A Project Report on Online Banking Solution

    24/75

     

    24 | P a g e  

    Entity Relationship Diagram

  • 8/15/2019 A Project Report on Online Banking Solution

    25/75

     

    25 | P a g e  

    Data Flow Diagrams

    Context Level Diagram

    dfd Data Model

    customer 

     Adm in istrato r 

    Onlie ban king

    Web Solution

    customer services

     Adm in istrator 

    services

  • 8/15/2019 A Project Report on Online Banking Solution

    26/75

     

    26 | P a g e  

    Level 1 Diagram

  • 8/15/2019 A Project Report on Online Banking Solution

    27/75

     

    27 | P a g e  

    Use Case Diagram

    uc Use Case Model

    Administrator

    Add New User

    Update User profile

    DeleteAccount

    Customer

    Enter Login id and

    password

    View Account

    Summary

    View Mini S tatement

     Transfer of Funds

    Mobile recharge

    Request for

    cheque book

    Request for

    forgoton

    password

    Request for new

    credit card

    verification

    view balance

    «include»

    «include»

    «include»

    «include»

     

  • 8/15/2019 A Project Report on Online Banking Solution

    28/75

     

    28 | P a g e  

    Activity Diagram

  • 8/15/2019 A Project Report on Online Banking Solution

    29/75

     

    29 | P a g e  

  • 8/15/2019 A Project Report on Online Banking Solution

    30/75

     

    30 | P a g e  

    DeploymentDiagram

     

  • 8/15/2019 A Project Report on Online Banking Solution

    31/75

     

    31 | P a g e  

  • 8/15/2019 A Project Report on Online Banking Solution

    32/75

     

    32 | P a g e  

    Comparison between J SP and other technologies

     J SP vs. Active Server Pages(ASP)

    ASP is a similar technology from Microsoft. The advantages of JSP are Saturday,

    March 13 2004 two fold. First, the dynamic parts written in java , not VisualBasic or other MS-specific language, so its more powerful and easier to use.

    Second, it is portable to other Operating systems and non-Microsoft Web servers.

     J SP vs. J avaScript

    Client-side scripting with JavaScript is certainly handy and useful, but it does

     present several problems, including the following: You must count on thecustomer's browser to have scripting enabled, which, of course, you can t.

    •  Different customers may use different browsers. And coding client-sidescripts that work on different browsers can be a headache.

    •  Scripting languages used on the client side cannot match the strength andversatility of Java.

    •  Client-side scripting languages have very limited access to server-sideresources, such as databases. JavaServer pages have access to all server-

    side resources within the well-defined architecture of J2EE.

    •  You have the usual problems of maintaining software on the client that

    caused

    Advantages of using JSP over competing technologies are as follows:

    o  JSP enables a clean separation of business logic from presentation. o  JSP, by using Java as the scripting language, is not limited to a specific

    vendor s  platform. 

    o  JSP, as an integral part of the J2EE architecture, has full access toserver-side resources.

    •  Because JSP pages execute on the server, you need not require the client to use

    a particular browser or have a fixed configuration. 

     J SP vs. Pure Servlets 

    JSP doesn’t give anything that you couldn't in principle do with a servlet. But it ismore convenient to write and modify regular HTML than have million of println

    statements.

  • 8/15/2019 A Project Report on Online Banking Solution

    33/75

     

    33 | P a g e  

     J ava Server Pages

    While there are numerous technologies for building web applications that serve

    dynamic content, the one that has really caught the attention of the developmentcommunity is JavaServer Pages (JSP). And not without ample reason either. JSP

    not only enjoys cross-platform and cross-Web-server support, but effectivelymelds the power of server-side Java technology with the WYSIWYG features of

    static HTML pages.

    JSP pages typically comprise of:

    •  Static HTML/XML components.

    •  Special JSP tags

    •  Optionally, snippets of code written in the Java programming language called"scriptlets."

    Consequently, you can create and maintain JSP pages by conventionalHTML/XML tools.

    It is important to note that the JSP specification is a standard extension defined ontop of the Servlet API. Thus, it leverages all of your experience with servlets.

    There are significant differences between JSP and servlet technology. Unlikeservlets, which is a programmatic technology requiring significant developer

    expertise, JSP appeals to a much wider audience. It can be used not only bydevelopers, but also by page designers, who can now play a more direct role in

    the development life cycle.

    Another advantage of JSP is the inherent separation of presentation from content

    facilitated by the technology, due its reliance upon reusable componenttechnologies like the JavaBeans component architecture and Enterprise JavaBeans

    technology.

  • 8/15/2019 A Project Report on Online Banking Solution

    34/75

     

    34 | P a g e  

     J SP Architecture

    Web

    Server 

    Server 

    Extension

    JSP

    Engine

    Servlet

    Engine

    ClientServer-Side  

     J SP Advantages

    §  Separation of static from dynamic content§  Write Once Run Anywhere§  Dynamic content can be served in a variety of formats

    §  Recommended Web access layer for n-tier architecture.§  Completely leverages the Servlet API.

     J SP Syntax Basics

    JSP syntax is fairly straightforward, and can be classified into directives, scriptingelements, and standard actions.

    Directives

    JSP directives are messages for the JSP engine. They do not directly produce any

    visible output, but tell the engine what to do with the rest of the JSP page. JSPdirectives are always enclosed within the tag. The two primarydirectives are page and include.

    Page Directive

  • 8/15/2019 A Project Report on Online Banking Solution

    35/75

     

    35 | P a g e  

    Typically, the page directive is found at the top of almost all of your JSP pages.There can be any number of page directives within a JSP page, although the

    attribute/value pair must be unique. Unrecognized attributes or values result in atranslation error. For example,

    makes available the types declared within the included packages for scripting and

    sets the page buffering to 16K.

    Include Directive

    The include directive lets you separate your content into more manageable

    elements, such as those for including a common page header or footer. The pageincluded can be a static HTML page or more JSP content. For example, the

    directive:

    can be used to include the contents of the indicated file at any location within the

    JSP page.

    Declarations

    JSP declarations let you define page-level variables to save information or definesupporting methods that the rest of a JSP page may need. While it is easy to get

    led away and have a lot of code within your JSP page, this move will eventuallyturn out to be a maintenance nightmare. For that reason, and to improve

    reusability, it is best that logic-intensive processing is encapsulated as JavaBeancomponents.

    Declarations are found within the tag. Always end variabledeclarations with a semicolon, as any content must be valid Java statements:

    You can also declare methods. For example, you can override the initialization

    event in the JSP life cycle by declaring:

  • 8/15/2019 A Project Report on Online Banking Solution

    36/75

     

    36 | P a g e  

    Expressions

    With expressions in JSP, the results of evaluating the expression are converted toa string and directly included within the output page. Typically expressions are

    used to display simple values of variables or return values by invoking a bean'sgetter methods. JSP expressions begin within tags and do not include

    semicolons:

    Scriptlets

    JSP code fragments or scriptlets are embedded within tags. This Javacode is run when the request is serviced by the JSP page. You can have just about

    any valid Java code within a scriptlet, and is not limited to one line of sourcecode. For example, the following displays the string "Hello" within H1, H2, H3,and H4 tags, combining the use of expressions and scriptlets:

  • 8/15/2019 A Project Report on Online Banking Solution

    37/75

     

    37 | P a g e  

     J SP Implicit Objects

    As a convenience feature, the JSP container makes available implicit objects thatcan be used within scriptlets and expressions, without the page author first havingto create them. These objects act as wrappers around underlying Java classes or

    interfaces typically defined within the Servlet API. The nine implicit objects:

    1.  request: represents the HttpServletRequest triggering the service invocation.

    Request scope.2.  response:  represents HttpServletResponse to the request. Not used often by

     page authors. Page scope.

    3.  pageContext:  encapsulates implementation-dependent features inPageContext. Page scope.

    4.  application: represents the ServletContext obtained from servlet configurationobject. Application scope.

    5.  out: a JspWriter object that writes into the output stream. Page scope.6.  config: represents the ServletConfig for the JSP. Page scope.7.  page: synonym for the "this" operator, as an HttpJspPage. Not used often by

     page authors. Page scope.

    8.  session: An HttpSession. Session scope.9.  exception: the uncaught Throwable object that resulted in the error page beinginvoked. Page scope.

  • 8/15/2019 A Project Report on Online Banking Solution

    38/75

     

    38 | P a g e  

    Servlets 

    The Java Servlet API allows a software developer to add dynamic content to a

    Web server using the Java platform. The generated content is commonly HTML, but may be other data such as XML. Servlets are the Java counterpart to non-Java

    dynamic Web content technologies such as PHP, CGI and ASP.NET. Servlets canmaintain state across many server transactions by using HTTP cookies, session

    variables or URL rewriting.

    The Servlet API, contained in the Java package hierarchy javax.servlet, definesthe expected interactions of a Web container and a servlet. A Web container is

    essentially the component of a Web server that interacts with the servlets. TheWeb container is responsible for managing the lifecycle of servlets, mapping a

    URL to a particular servlet and ensuring that the URL requester has the correctaccess rights.

    A Servlet is an object that receives a request and generates a response based onthat request. The basic servlet package defines Java objects to represent servlet

    requests and responses, as well as objects to reflect the servlet's configuration parameters and execution environment. The package javax.servlet.http defines

    HTTP-specific subclasses of the generic servlet elements, including sessionmanagement objects that track multiple requests and responses between the Web

    server and a client. Servlets may be packaged in a WAR file as a Web application.

    Servlets can be generated automatically by JavaServer Pages (JSP) compiler, oralternately by template engines such as WebMacro. Often servlets are used in

    conjunction with JSPs in a pattern called "Model 2", which is a flavor of themodel-view-controller pattern.

     The Servlet lifecycle consists of the following steps:

    1.  The Servlet class is loaded by the container during start-up.2.  The container calls the init() method. This method initializes the servlet

    and must be called before the servlet can service any requests. In the entirelife of a servlet, the init() method is called only once.

    3.  After initialization, the servlet can service client-requests. Each request isserviced in its own separate thread. The container calls the service()

    method of the servlet for every request. The service() method determinesthe kind of request being made and dispatches it to an appropriate method

    to handle the request. The developer of the servlet must provide animplementation for these methods. If a request for a method that is not

    implemented by the servlet is made, the method of the parent class iscalled, typically resulting in an error being returned to the requester.

  • 8/15/2019 A Project Report on Online Banking Solution

    39/75

     

    39 | P a g e  

    4.  Finally, the container calls the destroy() method which takes the servletout of service. The destroy() method like init() is called only once in the

    lifecycle of a Servlet.

    Servlet containers

    A Servlet container is a specialized web server that supports Servlet execution. Itcombines the basic functionality of a web server with certain Java/Servlet specific

    optimizations and extensions – such as an integrated Java runtime environment,and the ability to automatically translate specific URLs into Servlet requests.

    Individual Servlets are registered with a Servlet container, providing the containerwith information about what functionality they provide, and what URL or other

    resource locator they will use to identify themselves. The Servlet container is thenable to initialize the Servlet as necessary and deliver requests to the Servlet as

    they arrive. Many containers have the ability to dynamically add and remove

    Servlets from the system, allowing new Servlets to quickly be deployed orremoved without affecting other Servlets running from the same container.Servlet containers are also referred to as web containers or web engines.

    Like the other Java APIs, different vendors provide their own implementation ofthe Servlet container standard. For a list of some of the free and commercial web

    containers, see the list of Servlet containers. (Note that 'free' means that non-commercial use is free. Some of the commercial containers, e.g. Resin and Orion,

    are free to use in a server environment for non-profit organizations).

  • 8/15/2019 A Project Report on Online Banking Solution

    40/75

     

    40 | P a g e  

    MVC Architecture

    The main aim of the MVC architecture is to separate the business logic and

    application data from the presentation data to the user.

    Here are the reasons why we should use the MVC design pattern.

    1.  They are resuable  : When the problems recurs, there is no need to invent anew solution, we just have to follow the pattern and adapt it as necessary.

    2.  They are expressive: By using the MVC design pattern our application becomes more expressive.

    1). Model: The model object knows about all the data that need to be displayed.It is model who is aware about all the operations that can be applied to transform

    that object. It only represents the data of an application. The model representsenterprise data and the business rules that govern access to and updates of this

    data. Model is not aware about the presentation data and how that data will bedisplayed to the browser.

    2). View :  The view represents the presentation of the application. The viewobject refers to the model. It uses the query methods of the model to obtain thecontents and renders it. The view is not dependent on the application logic. It

    remains same if there is any modification in the business logic. In other words, wecan say that it is the responsibility of the of the view's to maintain the consistency

    in its presentation when the model changes.

    3). Controller:  Whenever the user sends a request for something then it alwaysgo through the controller. The controller is responsible for intercepting therequests from view and passes it to the model for the appropriate action. After the

    action has been taken on the data, the controller is responsible for directing theappropriate view to the user. In GUIs, the views and the controllers often work

    very closely together.

    Features of MVC2: 

    1.  The MVC2 architecture removes the page centric property of MVC1architecture by separating Presentation, control logic and the application state.

    2.  In MVC2 architecture there is only one controller which receives all therequest for the application and is responsible for taking appropriate action in

    response to each request.

  • 8/15/2019 A Project Report on Online Banking Solution

    41/75

     

    41 | P a g e  

    Apache Tomcat

    The Apache HTTP Server, commonly referred to simply as Apache, is a webserver notable for playing a key role in the initial growth of the World Wide Web.

    Apache was the first viable alternative to the Netscape CommunicationsCorporation web server (currently known as Sun Java System Web Server), and

    has since evolved to rival other Unix-based web servers in terms of functionalityand performance.

    Apache is developed and maintained by an open community of developers under

    the auspices of the Apache Software Foundation. The application is available fora wide variety of operating systems, including UNIX, FreeBSD, Linux, Solaris,

     Novell NetWare, Mac OS X, Microsoft Windows, OS/2, TPF, and eComStation.Released under the Apache License, Apache is characterized as free software and

    open source software.

    Since April 1996 Apache has been the most popular HTTP server on the WorldWide Web. As of June 2008[update] Apache served 49.12% of all websites.

    FeaturesApache supports a variety of features, many implemented as compiled moduleswhich extend the core functionality. These can range from server-side

     programming language support to authentication schemes. Some commonlanguage interfaces support mod_perl, mod_python, Tcl, and PHP. Popular

    authentication modules include mod_access, mod_auth, and mod_digest. Asample of other features include SSL and TLS support (mod_ssl), a proxy

    module, a useful URL rewriter (also known as a rewrite engine, implementedunder mod_rewrite), custom log files (mod_log_config), and filtering support

    (mod_include and mod_ext_filter).

    Popular compression methods on Apache include the external extension module,mod_gzip, implemented to help with reduction of the size (weight) of web pages

    served over HTTP. Apache logs can be analyzed through a web browser usingfree scripts such as AWStats/W3Perl or Visitors.

    Virtual hosting allows one Apache installation to serve many different actual

    websites. For example, one machine, with one Apache installation couldsimultaneously serve www.example.com, www.test.com, test47.test-

    server.test.com, etc.

  • 8/15/2019 A Project Report on Online Banking Solution

    42/75

     

    42 | P a g e  

    Apache features configurable error messages, DBMS-based authentication

    databases, and content negotiation. It is also supported by several graphical userinterfaces (GUIs) which permit easier, more intuitive configuration of the server.

    UsageApache is primarily used to serve both static content and dynamic Web pages onthe World Wide Web. Many web applications are designed expecting the

    environment and features that Apache provides.

    Apache is the web server component of the popular LAMP web server applicationstack, alongside MySQL, and the PHP/Perl/Python (and now also Ruby)

     programming languages.Apache is redistributed as part of various proprietary software packages including

    the Oracle Database or the IBM WebSphere application server. Mac OS X

    integrates Apache as its built-in web server and as support for its WebObjectsapplication server. It is also supported in some way by Borland in the Kylix andDelphi development tools. Apache is included with Novell NetWare 6.5, where it

    is the default web server.

    Apache is used for many other tasks where content needs to be made available ina secure and reliable way. One example is sharing files from a personal computer

    over the Internet. A user who has Apache installed on their desktop can putarbitrary files in the Apache's document root which can then be shared.

    Programmers developing web applications often use a locally installed version of

    Apache in order to preview and test code as it is being developed.

    Microsoft Internet Information Services (IIS) is the main competitor to Apache,trailed by Sun Microsystems' Sun Java System Web Server and a host of other

    applications such as Zeus Web Server. Some of the biggest web sites in the worldare run using Apache. Google's search engine front end is based on a modified

    version of Apache, named Google Web Server (GWS). Several Wikimedia projects also run on Apache servers.

  • 8/15/2019 A Project Report on Online Banking Solution

    43/75

     

    43 | P a g e  

    Main Page (index.jsp)

  • 8/15/2019 A Project Report on Online Banking Solution

    44/75

     

    44 | P a g e  

    Login.html

  • 8/15/2019 A Project Report on Online Banking Solution

    45/75

     

    45 | P a g e  

    Customer’s Page

  • 8/15/2019 A Project Report on Online Banking Solution

    46/75

     

    46 | P a g e  

    Funds Transfer page

  • 8/15/2019 A Project Report on Online Banking Solution

    47/75

     

    47 | P a g e  

    Fund’s confirmation page

  • 8/15/2019 A Project Report on Online Banking Solution

    48/75

     

    48 | P a g e  

    Mini Statement page 

  • 8/15/2019 A Project Report on Online Banking Solution

    49/75

     

    49 | P a g e  

  • 8/15/2019 A Project Report on Online Banking Solution

    50/75

     

    50 | P a g e  

    Mini Statement page

  • 8/15/2019 A Project Report on Online Banking Solution

    51/75

     

    51 | P a g e  

    Mobile Recharge page

  • 8/15/2019 A Project Report on Online Banking Solution

    52/75

     

    52 | P a g e  

    Form Download Center page

  • 8/15/2019 A Project Report on Online Banking Solution

    53/75

     

    53 | P a g e  

    Branch Locator page

  • 8/15/2019 A Project Report on Online Banking Solution

    54/75

     

    54 | P a g e  

    Branch Locator page

  • 8/15/2019 A Project Report on Online Banking Solution

    55/75

     

    55 | P a g e  

    Credit card page

  • 8/15/2019 A Project Report on Online Banking Solution

    56/75

     

    56 | P a g e  

    Credit card registration form

  • 8/15/2019 A Project Report on Online Banking Solution

    57/75

     

    57 | P a g e  

    Administrator end

  • 8/15/2019 A Project Report on Online Banking Solution

    58/75

     

    58 | P a g e  

    New user Registration Form page

  • 8/15/2019 A Project Report on Online Banking Solution

    59/75

     

    59 | P a g e  

    Package com.example.model

    Class Summary

    AccountModel 

    CancelTransModel 

    ConfirmationModel 

    DeleteQueryModel 

    EmployeeAuthorizeModel 

    ListenerModel 

    LocatorQueryModel 

    MobileModel 

    QueryModel 

    RegisterQueryModel 

    ShowModel 

    test 

     TransferQueryModel 

    UpdateQueryModel 

    Package com.example.web

    Class Summary

    AccountSummary 

    CancelTrans 

    Confirmation 

    DatabaseListener 

    DatabaseTest 

    DeleteAcct 

    EmployeeLoginId 

    Expdf  

    Packages

    com.example.model  

    com.example.web org.apache.jsp 

  • 8/15/2019 A Project Report on Online Banking Solution

    60/75

     

    60 | P a g e  

    Locator 

    LoginId 

    Mobile 

    Register 

    Show 

     Transfer 

    Update 

    Package org.apache.jspClass Summary

     _02_jsp 

    AccountSummary_jsp 

    Administrator_jsp 

    blocate_jsp 

    BranchLocate_jsp 

    confirm_jsp 

    confirmrecharge_jsp 

    index_jsp 

    locate_jsp 

    main_jsp 

    miniStatement_jsp 

    MobileRecharge_jsp 

    transaction_jsp 

  • 8/15/2019 A Project Report on Online Banking Solution

    61/75

     

    61 | P a g e  

    ListenerModel.java

     package com.example.model;

    import java.sql.*;

     package com.example.model;import java.sql.*;

     public class ListenerModel

    {

     public Statement stmt;

     public Connection conn;

     public ResultSet rs; private String cn;

     private String pn;

     private String sd;

     private String uid; private String pwd;

     public ListenerModel(String ComputerName,String portNo, String sid, String userId, String passwd)

    {

    cn = ComputerName;

     pn = portNo;

    sd = sid;

    uid = userId;

     pwd = passwd;System.out.println(cn + ComputerName);

    try

    {

    String str = "jdbc:oracle:thin:@" + cn + ":" + pn + ":" + sd ;System.out.println(str);

    Class.forName("oracle.jdbc.driver.OracleDriver");

    conn = DriverManager.getConnection(str, uid, pwd);

    stmt = conn.createStatement();

    }

    catch(Exception e){

    System.out.println("exception:" + e);

    }

    }

     public void doClose(){

    try

    {

    rs.close();

    stmt.close();

    conn.close();

    }catch(Exception e)

  • 8/15/2019 A Project Report on Online Banking Solution

    62/75

     

    62 | P a g e  

    {

    System.out.println("Exception" + e);

    }

    }

    }

    DatabaseListener.java

     package com.example.web;

    import javax.servlet.*;

    import com.example.model.ListenerModel;

     public class DatabaseListener implements ServletContextListener

    {

     public void contextInitialized(ServletContextEvent event){String ComputerName = event.getServletContext().getInitParameter("ComputerName");

    String portNo = event.getServletContext().getInitParameter("PortNo");

    String Sid = event.getServletContext().getInitParameter("Sid");

    String userID = event.getServletContext().getInitParameter("UserId");

    String Passwd = event.getServletContext().getInitParameter("Passwd");

    ListenerModel l = new ListenerModel(ComputerName, portNo, Sid, userID, Passwd );

    event.getServletContext().setAttribute("Database",l);

    }

     public void contextDestroyed(ServletContextEvent event) {// Nothing to to here

    }

  • 8/15/2019 A Project Report on Online Banking Solution

    63/75

     

    63 | P a g e  

    Loginid.java

     package com.example.web;

    import java.io.*;import javax.servlet.*;

    import javax.servlet.http.*;

    import com.example.model.ListenerModel;

    import com.example.model.QueryModel;

     public class LoginId extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet

    {

     public void doPost(HttpServletRequest request, HttpServletResponse response)throws

    IOException,ServletException

    {

    String s=null;response.setContentType("text/html");

    try{

    HttpSession session;

    session = request.getSession(true);

    ListenerModel l = (ListenerModel)getServletContext().getAttribute("Database");

    String uname = request.getParameter("loginid");

    String pname = request.getParameter("pass");

    QueryModel q = new QueryModel();int result = q.authorize(l,uname,pname);

    q.userAccount(l,uname);

    if(result==1){

    session.setAttribute("s",q.cname);

    session.setAttribute("myacct",q.account);

    response.sendRedirect("main.jsp");

    }

    else

    {

    response.sendRedirect("index.jsp");}

    }

    catch(Exception e){

    System.out.println(e);

    }

    }

    }

  • 8/15/2019 A Project Report on Online Banking Solution

    64/75

     

    64 | P a g e  

    QueryModel.java

     package com.example.model;

    import java.sql.*;

     public class QueryModel

    {

     public int account;

     public int id=0;

     public String str[] = new String[100]; public int flag=1;

     public String cname;

     public int authorize(ListenerModel l1,String name,String pass){

    try

    {

    l1.rs = l1.stmt.executeQuery("select username,password,cust_first_name from customer, login where

    login.username='"+name+"' and login.password= '"+pass+"'and login.customer_id=customer.customer_id")

    ;

    if(l1.rs.next()){

    cname=l1.rs.getString("cust_first_name");

    return flag;

    }

    return flag = 0;

    }catch(Exception e)

    {

    System.out.println("Exception:" + e);

    }return flag;

    }

     public void userAccount(ListenerModel l1,String name)

    {

    try{

    l1.rs=l1.stmt.executeQuery("select customer_id from login where username ='"+name+"'");

    while(l1.rs.next())

    {

    id = l1.rs.getInt("customer_id");

    }

    System.out.println(id);

  • 8/15/2019 A Project Report on Online Banking Solution

    65/75

     

    65 | P a g e  

    l1.rs = l1.stmt.executeQuery("select acc_no from account where account.customer_id='"+id+"' ");

    while(l1.rs.next())

    {

    account= l1.rs.getInt("acc_no");

    }System.out.println(account);}

    catch(Exception e)

    {

    System.out.println("Exception:" + e);

    }

    }

    }

    02.jsp getting into the customer page

    Untitled Document

    Welcome

     

  • 8/15/2019 A Project Report on Online Banking Solution

    66/75

     

    66 | P a g e  

     TransferQueryModel.java

     package com.example.model;

    import java.sql.*;

    import java.util.*;

    import java.io.*; public class TransferQueryModel

    {

     public int source;

     public int destination;

     public int transamount;

     public int caccno; public int maccno;

     public String name;

     public int id=0;

     public int flag = 1;

    int [] account = new int[2];

    int j =0;

     public int transact(ListenerModel l1,int acctFrom,int acctTo,int amount,String name)

    {

    try

    {

    l1.rs=l1.stmt.executeQuery("select customer_id from customer where cust_first_name='"+name+"'");

    while(l1.rs.next()){

    id = l1.rs.getInt("customer_id");

    }

    System.out.println(id);

    l1.rs = l1.stmt.executeQuery("select acc_no,curr_bal,min_bal from account where

    account.customer_id='"+id+"' ");

    while(l1.rs.next()){

    account[j]= l1.rs.getInt("acc_no");

     j++;caccno = l1.rs.getInt("curr_bal");

    maccno = l1.rs.getInt("min_bal");

    }System.out.println(caccno);

    System.out.println(maccno);

    for(int i = 0 ; i < 3 ; i++)

    {

    if(acctFrom == account[i] && caccno > amount && caccno > maccno){

  • 8/15/2019 A Project Report on Online Banking Solution

    67/75

     

    67 | P a g e  

    l1.rs = l1.stmt.executeQuery("insert into transfer

    (acc_no,account_to,amount,transaction_date,trans_no,description)

    values('"+acctFrom+"','"+acctTo+"','"+amount+"',sysdate,2,'Debit') ");

    //l1.rs = l1.stmt.executeQuery("insert into transfer

    (account_to,amount,transaction_date,trans_no,description)values('"+acctTo+"','"+amount+"',sysdate,1,'Credit') ");

    l1.rs = l1.stmt.executeQuery("select acc_no,account_to,amount,transaction_date from transfer where

    trans_id = (select max(trans_id) from transfer)order by trans_id");

    while(l1.rs.next())

    {

    source =l1.rs.getInt("acc_no");

    destination = l1.rs.getInt("account_To");

    transamount=l1.rs.getInt("amount");

    }

    System.out.println(source);return flag;

    }

    else

    {

    flag = 0;

    return flag;

    }

    }

    }

    catch(Exception e)

    {

    System.out.println("Exception:" + e);

    }

    return flag;

    }}

  • 8/15/2019 A Project Report on Online Banking Solution

    68/75

     

    68 | P a g e  

    Web.xml

    login

    com.example.web.LoginId

    login

    /login.do

    Database

    com.example.web.DatabaseTest

    Database

    /Database.do

    Regcom.example.web.Register

  • 8/15/2019 A Project Report on Online Banking Solution

    69/75

     

    69 | P a g e  

    Reg

    /reg.do

    Locate

    com.example.web.Locator

    Locate

    /locate.do

    Expdfcom.example.web.Expdf

    Expdf

    /New User Application Form

    Transfer

    com.example.web.Transfer

    Transfer

    /transact.do

    AdminLogincom.example.web.EmployeeLoginId

    AdminLogin/admin.do

    DeleteAcct

    com.example.web.DeleteAcct

  • 8/15/2019 A Project Report on Online Banking Solution

    70/75

     

    70 | P a g e  

    DeleteAcct

    /delete.do

    CancelTransactioncom.example.web.CancelTrans

    CancelTransaction

    /cancel.do

    Confirmation

    com.example.web.Confirmation

    Confirmation

    /confirm.do

    Mobile

    com.example.web.Mobile

    Mobile

    /mobile.do

    Show

    com.example.web.Show

    Show

    /show.do

    AccountSummary

    com.example.web.AccountSummary

    AccountSummary

    /summary.do

  • 8/15/2019 A Project Report on Online Banking Solution

    71/75

     

    71 | P a g e  

    ComputerNamegamearena

    PortNo

    1521

    Sid

    bank

    UserIdscott

    Passwd

    tiger

    com.example.web.DatabaseListener

  • 8/15/2019 A Project Report on Online Banking Solution

    72/75

     

    72 | P a g e  

     Testing Methodology

    Testing is vital for the success of the system. Software testing reviews the

    specification, design and coding of the system and helps in software qualityassurance. It focuses on finding operational flaws in the system. So that the

    software becomes error-free and prevents failure.

    Testing is a process of executing a program with the intent of finding an error. Agood test is one that has a high probability of finding a yet undiscovered error.

    Thus, systematic test should be carried out that uncovers different types of errorwith minimum amount of time and effort.

    Testing is also carried out to see if the performance requirements have been met.Testing is also a good indication for software reliability.

    Testing is carried out at various stages. In this project, I did unit testing and

    system testing during the testing phase.

    Unit Testing

    Unit testing is performed on the smallest unit of software design – the modules.Unit testing gives stress on the modules independently of one another, to find

    errors. A program unit is usually small enough for the programmer to test it ingreat detail. Unit testing helps in detecting errors in coding and logic that are

    contained within the module.During the unit testing phase, various modules in the developed system were

    tested separately. For example, in the data entry module, the sample data was fed

    into this module to check whether all the validations that are applied on inputforms are working properly or not. Unit testing also helped me in finding outwhether the data was properly saved in the database or not. Likewise, this testing

    method was applied on the modification, deletion, search, pay slip generation andreport modules.

    Some of the tests carried during unit testing phase were:

    Peak Load Test: The test determined whether the system can handle the volumeof activities that occur when the system is at the peak of its processing. All the

    modules passed this test.

    Procedure Test: This test helped in checking the specified operating conditions,input values and expected results

    Performance Test: The test checked the response time, execution time andthroughput time of the modules.

  • 8/15/2019 A Project Report on Online Banking Solution

    73/75

     

    73 | P a g e  

    Recovery Test: The test helped in verifying the ability of the system to recoverfrom failure. Some changes were made in the modules to fulfill this test

    requirement.

    Storage Test: It helped in checking whether the transaction data was properly being saved on the disk or not. Changes were made in the modules according to

    this test’s results.The unit testing helped in finding out which module of the system is not working

    as desired. Accordingly, changes were made and then the modules were testedagain, until they were up to the expected standard.

    System Testing

    During system testing phase, all the sub-systems are gathered and a test isconducted to determine whether the whole system meets the user requirements. A

    system is tested for online responses, volume of transactions, stress, recoveryfrom failure and usability.

    System testing involves two kinds of activities.

    Integration Testing: Integration testing is of two kinds – Bottom-Up integrationand Top-Down Integration. For this system, Bottom-Up Integration Testing was

    carried out.Bottom-up Integration is the traditional strategy used to integrate the components

    of a software system into a functioning whole. Bottom-up integration consists of aUnit Testing, followed by the Sub-System Testing, and testing of the entire

    system. Unit testing has the goal of discovering errors in the individual modulesof the system. The primary function of Sub-System testing is to verify operation

    of the interface between the modules in the sub-system. System testing isconcerned with the decision-logic, control flow, recovery procedures, capacity

    and timing characteristics of the entire system.

    User Acceptance Testing: The user acceptance test verifies that the system’s procedures operate up to system’s specifications and that the integrity of the data

    is maintained. It involves the execution of Procedure Test, Performance Test andPeak-Load Test. It demonstrates that the system satisfies all the user requirements 

  • 8/15/2019 A Project Report on Online Banking Solution

    74/75

     

    74 | P a g e  

    Limitations

    •  The project can be best viewed on Firefox. •  It provides banking facilities to personal banking. •  Enterprise Java Beans have not been implemented. •  SSL is not implemented. •  Loan facilities, credit card login is not being provided. 

    Future Enhancements

    The Online Banking project can be enhanced in future, which will increase thecredibility and reliability of the website. The enhancements could be done byadding credit checks generating credit card statements. The enhancements that

    could be done are as follows:

    •  It can be implemented fully on the Internet by registering a domain and buyinga web space. 

    •  It can provide the Credit card bill payment option. 

    •  It can provide user loan facilities with interest rates in accordance with bank to. 

    •  It can be merged with other e-commerce websites for providing a gateway to

     pay through credit cards . 

  • 8/15/2019 A Project Report on Online Banking Solution

    75/75

     

    Bibliography

    Books•

      Kathy Sierra & Bert Bates, Head First J SP and Servlets •  Kathy Sierra & Bert Bates, Head First J ava •  Chip Dawes & Biju Thomas, Introduction To Oracle 9i •  Lynn Beighley, Head First SQL  •  Roger Pressman, Software Engineering •  Michael Morrison, Head First J ava Script

    Websites•  www.sourceforge.net

    •  www.javaranch.com

    •  www.w3schools.com

    •  www.webreference.com

    References

    •  www.icicibank.com

    •  www.hdfcbank.com

    •  www.unitybanking.com