Project copy


Published on

project report of online banking system

Published in: Design, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Project copy

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