Project copy

29
A PROJECT REPORT ON ONLINE BANKING SYSTEM SUBMITTED TO: - SUBMITTED BY:- P.K.MAURYA AKSHITA VARSHNEY AMARJEET KAUR APRAJITA MISHRA B.TECH [CS1] 3 rd yr INVERTIS UNIVERSITY BAREILLY

description

project report of online banking system

Transcript of Project copy

Page 1: Project   copy

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

Page 2: Project   copy

ACKNOWLEDGEMENTWe 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 PAGE NO.ABSTRACT IIILIST OF TABLES IXLIST OF FIGURES IX ABBREVATIONS X

CHAPTER 1 INTRODUCTION1.1 Overview of the project 11.2 General Description 41.3 Why this Project? 4CHAPTER 2 SYSTEM STUDY2.1 System Requirement Specification 62.2 Hardware and Software Requirements 7CHAPTER 3 SYSTEM ANALYSIS3.1 Introduction to site 83.2 Existing System 93.3 Language/compiler & Resources 10

Page 3: Project   copy

3.4 Feasibility Study 11CHAPTER 4 SYSTEM DESIGN4.1 Design Plan 124.2 Logical Design 144.3 Physical Design 15CHAPTER 5 LANGUAGES AND TOOLS5.1 UML 235.2 JAVA 265.3 JSP 285.4 HTML 325.5 EJB 335.6 Macromedia Dreamweaver 385.7 NetBean IDE 4.0 395.8 Apache Tomcat 5.0.28 405.9 Microsoft SQL Server 97 41CHAPTER 6 TESTING AND IMPLEMENTATION6.1 Testing Objectives. 496.2 System Testing 516.3 System Implementation 53CHAPTER 7 RESULTS7.1 HomePage 547.2 Output 55CHAPTER 8 CONCLUSION 56APPENDICE57REFFERENCES 58

LIST OF TABLESFig 4.1 LOGIN, ACCHOLDER, ACCHOLDTRANS.

16

Fig 4.2 Registration, Counter 16 16

Fig 4.3 Loan, Loan Registration 17

LIST OF FIGURES

Figure No. Figure Name Page Number

Page 4: Project   copy

Fig3.1 J2EE 4-tier architecture 11Fig4.4 Input design for LOGIN

page18

Fig 4.5 Input design for Loan Registration page

18

Fig 4.6 output for LOGIN page 20Fig 4.7 JSP Model 1 architecture 21Fig 4.8 Flow Control in JSP Model 22Fig 5.1 Use Case diagram 24Fig5.2 Client Interaction (Flow

Chart)25

Fig5.3 Banking transaction using J2EE archit.

31

Fig5.4 Client view of session bean 37

LIST OF ABBREVIATIONAASP : Active Server Pages.BB2B: business to business.B2C: business to commerce.BMP: Bean Managed PersistenceCCMP: Container Managed Persistence.CORBA: Common Object Request Broker Architecture.DDOM: Document Object Model.DTD: Document Type DefinitionEEJB: Enterprise Java Beans.JJDBC: Java DataBase Connectivity.JMS: Java Messaging Service.JNDI: Java Naming and Directory Interface.JNI: Java Native Interface.JRE: Java Runtime Environment.WW3C: World Wide Web Consortium.

Page 5: Project   copy

XXML: 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 applicationcan 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.

INTRODUCTION1.1 OVERVIEW OF THE PROJECT:This project “Internet Banking” is an attempt to built reliable, distributed Java application. We have designed a website fora 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

Page 6: Project   copy

moves from one page to another the pages should maintain some basiclook. 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 potentialcustomers 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 likeJavaScript 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 wholeof the project could be divided into three broad classifications. These classifications have been done on the basis of technology orProgramming language used. Client Pages. These pages have been designed using HTML

languages. These pages Consist of client relevantinformation and responses from them. The pages are having icons, images and picture animations. These images and icons have beendesigned 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 J2EEarchitecture. As mentioned earlier that JSP have been usedfor client side validations. JSP and Servlets have been used forretrieving 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.

Page 7: Project   copy

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 DESCRIPTIONThis 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 orprogramming 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 theJavaTM 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 Environmento Windows NTWeb 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

Page 8: Project   copy

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 STUDY2.1 SYSTEM REQUIREMENTS SPECIFICATION2.1.1 INPUT REQUIREMENTSProviding 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 REQUIRMENTSEach 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 CONSTRAINTSThe 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 REQUIREMENTSTo 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’scompany.

Page 9: Project   copy

SYSTEM ANALYSIS3.1 INTRODUCTION TO THE SITEFor 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 selectedResources requiredFeasibility study3.2 EXISTING SYSTEMPresently 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 caseswhere 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 necessaryto 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

Page 10: Project   copy

3.3 LANGUAGE/COMPILER AND RESOURCES USEDAll the java code has been compiled on Sun Microsystems’s JDK1.4. JDK is Java development tool kit.RESOURCE REQUIREDTo develop this project we have used following resources:Computer with PIII 550mz with 256 MB of RAM.Macromedia Dreamweaver 2004 MX.Macromedia Fireworks MXMacromedia Flash MXJakarta-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 STUDYFor 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

Page 11: Project   copy

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 isOperationally 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 DESIGN4.1 DESIGN PLANDesign 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 proceduraldesign or description of the system. Source code is generated and testing is conducted to integrate and validate the system.4.1.1 DESIGN PRINCIPLESThe 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 DESIGNLogical 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

Page 12: Project   copy

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 DESIGNOnce 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 DesignInput 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 designlike 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 thedatabases.

Fig 4.1 LOGIN, ACCOUNTHOLDER, ACCOUNTHOLDERTRANSACTION Tables

Page 13: Project   copy

Fig 4.2 REGISTRATION, COUNTER, COUNTERTRANSACTION Table

Fig 4.3 LOAN, LOANREGISTRATION, LOANDETAILS Tables

Fig 4.4 Input design for the LOGIN page:-

Page 14: Project   copy

Fig 4.5 Input design for the Loan registration Form:-

4.3.2 Output DesignAt 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

Page 15: Project   copy

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 Page4.3.3 Architecture DesignThe 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

Page 16: Project   copy

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 andKeyboard 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 TOOLS5.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,

Page 17: Project   copy

end-user needs are met, and program design supports requirements for scalability, robustness, security, extendibility etc. Thus modelingis 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 structureand 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 andoperation 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, ComponentDiagram, and Deployment Diagram.? Behavior Diagrams include the Use Case Diagram, Sequence Diagram, ActivityDiagram, Collaboration Diagram, and State-chart Diagram.? Model Management Diagrams include Packages, Subsystems, and Models.5.2 JAVAJava 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

Page 18: Project   copy

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 andmodified 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)

Page 19: Project   copy

? Declarations2. 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 pageJSP ProcessingWhen 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 theseautomatically 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

Page 20: Project   copy

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 amongclients by usinga) a session beanb) entity bean, orc) 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 interface2)Remote interface3)Ejb class

Fig 5.4 Client View of session beans deployed in a Container

5.6 MACROMEDIA DREAMWEAVERMacromedia Dreamweaver is a professional HTML and JSP editor for designing,

Page 21: Project   copy

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 easy-to-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.orgProjects: 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.28The web server is responsible for document storage and retrieval. A web client (orbrowser) 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

Page 22: Project   copy

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 stand-alone, 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 residesin the Manager Context. Using it, we can start, stop, install, and report web applications.5.9 Microsoft SQL Server 97SQL, which stands for Structured Query Language, is a standard for datamanipulation, 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. MSSQLSERVER, 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 dash1) create table REGISTRATION(RegistrationId int IDENTITY(1000,1) Primary Key, -- it’s an identity column –with starting -- value(seed)1000 & step value(incr.)of 1FirstName 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][0-9][0-9][0-9][0-9][0-9][0-9][0-9]")));2) create table LOGIN(

Page 23: Project   copy

AccountId int foreign key references ACCOUNTHOLDER(AccountId),PinNo int not null CHECK(PinNo like "[0-9][0-9][0-9][0-9]"));3) create table ACCOUNTHOLDER(AccountId int IDENTITY(00012000,3) Primary Key ,RegistrationId int FOREIGNKey REFERENCES REGISTRATION(RegistrationId),Balance money);4) create table ACCOUNTHOLDERTRANSACTION(AccountId int foreign key references ACCOUNTHOLDER(AccountId),DateOfTransaction datetime,Particulars varchar(35),ChequeNo char(6),Amount money);5) Create table COUNTER(CounterId char(4) primary Key,AccountId INT foreign key references ACCOUNTHOLDER(AccountId),MinimumBalance money Default 1000,CashBalance money);6) Create table COUNTERTRANSACTION(TransactionId int IDENTITY(9000,1)primary key,CounterId char(4) foreign Key references COUNTER(CounterId),AccountId int foreign key references ACCOUNTHOLDER(AccountId),DateOfTransaction dateTime,DebitAmount money,CreditBalance money);7) Create table LOAN(LoanId int IDENTITY(9456,1)primary key,LoanType char(40)CHECK (LoanTypein('Home','Land','OfficePremise','Vehicle','Personal')),Rate float,LoanPeriod int,Instalments int);8) create table LOANREGISTRATION

Page 24: Project   copy

(LoanRegistrationId int IDENTITY(4000,1) Primary Key, -- it’s an identity ----column with starting value(seed)1000 & step value(incr.)of 1FirstName varchar(25),LastName varchar(25),Address varchar(45),LoanType char(40)CHECK (LoanTypein('Home','Land','OfficePremise','Vehicle','Personal')),PhoneNumber char(13) CHECK (PhoneNumber like("0[0-2][1-9][0-9]-[2-9][0-9][0-9][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 referencesLOANREGISTRATION(LoanRegistrationId),LoanAmount money,LoanAmountRepaid money,Balance money,DateOfSanction datetime,BalanceNoOfInstalment int);TESTING AND IMPLEMENTATION6.1 TESTING OBJECTIVESSoftware 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 actualresults are recorded.ObjectivesThe testing phase of the Internet Banking website had the following mainobjectives:? 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.

Page 25: Project   copy

? 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 thesystem.6.2 SYSTEM TESTINGInitially, system engineering defines the role of software and leads to softwarerequirements 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 TestingUnit 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 white-box 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 TestingIntegration testing is a systematic technique for constructing the program structurewhile 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 testingValidation 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 TestingWhite 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

Page 26: Project   copy

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 IMPLEMENTATIONImplementation 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.RESULTS7.1 HOME PAGE

Page 27: Project   copy

OUTPUT:-

Page 28: Project   copy

CONCLUSIONThis project titled “Internet Banking” is designed and completed. This projectaided 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 makingthere website secure, reliable, robust and consistent. All this are offered by J2EE

Page 29: Project   copy

architecture. J2EE follows all the property of the transaction. These are ACID property of transaction.AtomocityConsistencyIsolationDurabilityIn 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.REFERENCESBIBLIOGRAPHYThe complete Reference J2EE By Jim KeoghPublished by Tata McGraw-HILL.Java2 Bible Enterprise EditionBy Justin Couch, Daniel H. Steinberg.Published by Hungry Minds Inc.WEBSITESwww.sun.java.comwww.netBean.orgwww.oracle.com/technology/pub/articles/j2eewww.sugarcrm.comSEARCH ENGINESwww.yahoo.comwww.google.com