Major Project REPORT
Major Project REPORT
BACHELOR OF TECHNOLOGY
In INFORMATION TECHNOLOGY
MAY, 2011
1
BONAFIDE CERTIFICATE
Certified that this project report ON-LINE BANKING is a bonafide work of PARVEEN KUMAR & VIKRAM LALLER who carried out the project work under our supervision. We wish a happy and bright future with all the great silvery success in their career.
Date:
Mr.Anil Yadav
(Project Guide) (Asst.Professor in CSE)
Mr.Vikas Goyal
(Project Guide) (Asst.Professor in CSE)
CANDIDATES DECLARATION
We hereby declare that the work which is being presented in the report entitled ON-LINE BANKING in fulfillment of the requirement for the award of the Degree of Bachelor of Technology in Department of Information Technology of TERII, Kurukshetra University Kurukshetra, Haryana is an authentic work carried out by us during 8th semester. We further declare that no material of this report has been copied from any known source and submitted before the award of any certificate.
Signature __________ Date _________ Name: Parveen Kumar Signature __________ Name: Vikram Laller
ACKNOWLEDGEMENT
Apart from the efforts of us, the success of our major project depend largely on the encouragement and guidelines of many others. We take this opportunity to express our gratitude to the people who have been instrumental in the successful completion of this project. We express our gratitude to Dr. R.K.Kohli, Director, Technology Education & Research Integrated Institutions, KURUKSHETRA and also Mr. Sumit Aggarwal, H.O.D (IT & CSE Department), for providing the necessary facilities for the completion of this project work in our college. We also express our gratitude and thanks to our Project guides Mr.Anil Yadav and Mr.Vikas Goyal for their constant guidance and help, all through our work. Lastly We would also like to thank each and every person who contributed directly or indirectly for completion of this project.
TABLE OF CONTENTS
SR. NO. DETAILS PAGE NO.
ABSTRACT OF PROJECT PROJECT DESIGN SRS DFD PROJECT IMPLEMENTATION TOOL USED FRONT-END
14-21 BACK-END IDE USED FORMS & SCREENSHOTS CONCLUSION REFERENCES 22-23 24 25-40 41 42
ABSTRACT
On-Line Banking is a complete banking solution for bank administration as well as for the clients connected by that bank. This banking solution will provide complete freedom to clients to use their accounts on a web for the ease of providing a faster and reliable solution. From this each Bank administrations branch would have a complete control and monitoring over the centralized solution for users identification as well as user use his/her account for Online Money Transfer, Online Trading Purposes as well as Online Insurance. This system is designed on the principle of distributed database application monitored by DBA only. It is a 24*7 hour service for the client present anywhere in the world. Various interface corresponding to bank and client is: Banks Interfaces Create Account Delete Account Edit Account Transaction Account status Fixed Deposite Loan Depend Draft Shares
Clients Interfaces Transfer Money Mini Statement Setting Account Status Loan Status Problems Response
PROJECT DESIGN
Project design is the process of developing specifications for a candidate system that meet the criteria established in the system analysis. Major step in system design is the preparation of the input forms and the output reports in a form applicable to the user. The purpose of design phase is to plan a solution for problem specified by the requirement document. In other words, starting with what is needed; design takes us toward how to satisfy the needs. The design of a system is the most critical factor affecting the quality are translated into a blue-print for constructing the software. HIGH LEVEL DESIGN: The top level design aims to identify the modules that should be in the system, the specification of these modules, and how they interact with each other to priduce the desired results, at the end of the system design all the major data structures, file formats, output formats, and the major modules in the system and their specifications are decided. LOW LEVEL DESIGN: During detailed design, the internal logic of each of the modules specified design is decided. During the phase further details of the data structure and algorithmic design of each of the modules is specified. The logic of the module is usually specified in a high level design description language, which is independent of the target language in which the software will eventually be implemented. In the system design the focus is on identifying the modules, where as during detailed design focus is on designing the logic for each of the modules. The main tools of system design are: 1. SRS 2. DFD
ANALYSIS PHASE This phase provides the overall requirement for the system what is to be done. Input for this phase is the information collected through several data collecting schemes such as survey, cross questioning-answering etc. and the raw data obtained which is not properly ordered and not in the precise manner. So here the raw data os converted into useful information written in precise manner and thus output is a formal document. After collecting all the information and requirement, they are verified from the concerned persons by presenting a diagrammating version of the proposed system. So this final document provides the system requirement specifications for the desired system. User Requirements: Since end users are ones who are finally going to use the system, their requirements need to be identified. This involves questioning the end users what their expectations were. The main requirement of the end user is that the system should be easy to use and take less time. In addition to these another important factor was to eliminate the need for database conversion and migration that had to be carried out presently. After conducting interviews with the user a document called the software requirement specification was created. Ths is the most important document that forms the basis for system development. It should be consistent, complete, unambiguous, traceable and inter-related. Various Requirements of user are: 1. 2. 3. 4. 5. 6. 7. 8. Proper Session Management Money Transfer Facility Mini Statement Balance Enquiry Problem and Response Handler Account status Money Collection Facility Account Setting Facility etc
Functional Requirement: the functional requirements specify relationship between the inputs and outputs. All the operations to be performed on the input data to obtain output are to be specified. This includes specifying the validity checks on the input and output data, parameters affected by the operations and the other operations, which must be used to transform the inputs into outputs. Functional requirements specify the behavior of the system for valid input and outputs. Performance Requirements This includes performance of the product that are set by user interaction and studying the existing system of the organization. These are started in complete measureable terms, so that they can be verified during system evaluation phase. Some of the performance requirements are stated below:User Friendly: the system produced is user friendly, understandable and easy to use so that the users of the system can easily learn to use the system. For this the system is made menudriven with well documented programs. Time Element (response and processing time): the response time of the system is very less and takes less time to execute queries and triggers Maximum Throughput: the system gives maximum throughput with relevant output. Robustness: the system will be able to handle undesirable situations and errors encountered at various levels e.g. if the user supplies invalid input for processing, the system gracefully halts, displaying a message to user indicating the cause of the error and prompting him it enter the correct input. Flexibility: the system is flexible in nature so that likely changes and alterations can easily be made. Information Security: records in the system must be safe, confidential and must be prevented from unauthorized access. Moral and User Satisfaction: system will be able to satisfy the user requirements; this is the main and conspicuous measure or the system performance, also the system must raise the moral of the user. The higher the moral, grate the expected work performance level.
A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. A data flow diagram can also be used for the visualization of data processing (structured design). It is common practice for a designer to draw a context-level DFD first which shows the interaction between the system and outside entities. This contextlevel DFD is then "exploded" to show more detail of the system being modeled.
10
11
Database:-
12
IMPLEMENTATION OF PROJECT:-
TOOL USED:In this project the platform used is a Window 7. Introduction to Window 7 There are many new and exciting features at our fingertips. Some of these features are making their debut in window xp professional and others have been improved upon since earlier releases of window. There are new tools you can use to get the most out of your computer experience, and other technologies that run in the background, making your computer run more efficiently and reliable. First, what you cant see: window 7 professional has capability in the behind-the-scenes running of the computer. Overall security has been improved, making it ever safer for you to shop and browse on the Internet. You can also communicate with other people on the network without worrying about compromising your privacy on your personal data files. Performance is at all time high, allowing you to use programs and have then run faster then ever. Window 7 professional is dependable and stable, so you can always rely on the performance and effectiveness on your computer. Best of all, compatibility with other programs is better than ever. Now, what you can see: window 7 professional has many feature and tools that will make using your computer easy, effective and entertaining. For example, you can use remote desktop to access your work computer and its resources from home, and to view and documents on your computers desktop from a co-workers computer. With Net meeting you can have virtual meetings with anyone, anywhere, and you can participate in discussions using audio, video or chat. Getting help has never been easier: with remote assistance, you just send e-mail to your favorite computer expert or help desk personnel and they can help you fix a problem from location. It helps a person to perform its work with high efficiency and it has some big connectivity options. Front-End(J2EE):Online Banking System was developed using J2EE(java 2 enterprise edition) platform. In this platform java is the basis.So, first we study basic of java:-
Java
Java is a blend of the best elements of its rich heritage languages combined with the innovative concepts required by its unique mission. Although Java has become inseparably linked with the online environment of the Internet, it is important to remember that Java is first and foremost a programming language. Much of the character of Java is inherited from C 13
and C++. From C, Java derives its syntax. Many of Javas object oriented features were influenced by C++. James Gosling, Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan developed Java at Sun Microsystems, Inc. in 1991. This Language was initially called Oak but was renamed Java in 1995. The original impetus for Java was the need for a platform independent language that could be used to create software to be embedded in various consumer electronics devices such as remote controls. But, with the emergence of the World Wide Web, Java was propelled to the forefront of computer language design, because the web too, demanded portable programs. The Java Buzzwords The key features responsible for the development of Java are: Simple Java was design to be easy for the professional programmers to learn and use efficiently. If one already understand the basic concepts of OOP, learning Java will be ever easier. Robust The multiplatform environment of the Web places extraordinary demands on a program, because the program must execute reliably in a verity of systems. Multithreaded Java was design to meet the real world requirements of creating interactive, networked programs. To accomplish this, Java supports multithreaded programming, which allow us to write programs that do many things simultaneously. Distributed Java is design for the distributed environment of the Internet, because it handles the TCP/IP protocols. The brief discussion of APIs AWT It stands for Abstract Window Toolkit. Since all applets run in a window, it is necessary to include AWT, which supports window-based applet programs. Applets are event-driven. An applet waits until an event occurs. The AWT notifies the applet about an event by calling an event handler that had been provided by the applet. Once this happens, the applet must take appropriate actions and then quickly return control to the AWT. The architecture of an applet
14
is not as easy to understand as that of a console-based program, Javas AWT makes it as simple as possible. Awt.event applets are event-driven programs. Thus, event handle is at the core of successful applet programming. Most events to which users applet will respond are generated by the user. These events are passed to users applet in variety of ways, with the specific method depending upon the actual event. There are several types of events. The most commonly handled events are those generated by the mouse, the keyboard, and various controls, such as push button. Events are supported by the java.awt.event package. Exception HandlingAn exception is an abnormal condition that arises in a code sequence at run time. In other words, an exception is a run-time error. In computer languages that do not support exception handling, errors must be checked and handled manuallytypically through the use of error codes, and so on. This approach is as cumbersome as it is troublesome. Javas exception handling avoids these problems and, in the process, brings run-time error management into the object-oriented world. A Java exception is an object that describes an exceptional condition that has occurred in a piece of code. When an exceptional condition arises, an object representing that exception is created and thrown in the method that caused the error. That method may choose to handle the exception itself, or pass it on. Either way, at some point, the exception is caught and processed. Exceptions can be generated by the Java run-time system, or they can be manually generated by the users code.
Java 2 Platform Enterprise Edition(J2EE) is a platform-independent, Java-centric environment from Sun for developing, building and deploying Web-based enterprise applications online. The J2EE platform consists of a set of services, APIs, and protocols that provide the functionality for developing multi-tired Web-based applications. Some of the key features and services of J2EE:
At the client tier, J2EE supports pure HTML, as well as Java applets or applications. It relies on Java Server Pages and servlet code to create HTML or other formatted data for the client. 15
Enterprise JavaBeans (EJBs) provide another layer where the platform's logic is stored. An EJB server provides functions such as threading, concurrency, security and memory management. These services are transparent to the author.
Java Database Connectivity (JDBC), which is the Java equivalent to ODBC, is the standard interface for Java databases.
The Java servlet API enhances consistency for developers without requiring a graphical user interface. Various concepts are used to build this application: Java Servlets Java Beans Java Server Pages(JSP) JDBC
Java Servlets:A Servlet is a java programming language class used to extend the capabilities of servers that host applications accessed via a request- response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers. For such applications, java servlets technology defines HTTP- specific servlet classes. The javax.servlet and javax.servlet.http packages provide interfaces and class for writing servlets. All servlets must implement the Servlet interface, which defines life-cycle methods. When implementing a genric service, you can use or extend the GenricServlet class provided with the Java Servlet API. The HttpServlet class provides methos, such as doGet and doPost, for handling HTTP-specific services. Sun Microsystems developed servlets as an advance over traditional CGI technology. A java servlet is a java technology program that, similar to a CGI program, run on the server. The types of task you can runwith the servlets that an recognize HTTP requests, generate the response dynamically and then send a response containing an HTML page or document to the browser. In some architectures, the web container acts as standalone HTTP service.
Servlet Life Cycle:A Servlet is a Java class which conforms to the Java Servlet API, a protocol by which a Java class may respond to http requests. Thus, a software developer may use a servlet to add dynamic content to a Web server using the Java platform.
16
To better understand the behavior of servlets, lets take a look at the life cycle of servlets. A servlet is basically a small Java program that runs within a Web server. It can receive requests from clients and return responses. The whole life cycle of a servlet breaks up into three phases:Initialization: A servlet is first loaded and initialized usually when it is requested by the corresponding clients. Some websites allow the users to load and initialize servlets when the server is started up so that the first request will get responded more quickly. Service: After initialization, the servlets serve clients on request, implementing the application logic of the web application they belong to. Destruction: When all pending requests are processed and the servlets have been idle for a specific amount of time, they may be destroyed by the server and release all the resources they occupy.
Java Beans:Java beans are basically the reusable components that make the code very efficient to use. In java beans there is a class which is constructed to work as a bean object and it is declared as public. The member variables of this class are private and member function are made public. You use three main constructs to build and manipulate JavaBeans components in JSP pages: Jsp:useBean. In the simplest case, this element builds a new bean. It is normally used as follows: <jsp:useBean id=beanName class=package.Class/> Jsp:getProperty. This element reads and output the value of a bean property. Reading a property is a shorthand notation for calling a method of the form getXxx. This element is use as follows: <jsp:getProperty name=beanName property=propertyName/> 17
Jsp:setProperty. This element modifies a bean property (i.e. calls a method of the form setXxx). It is normally used as follows: <jsp:setProperty name=beanName property=propertyName value=PropertyValue>
Java Server Pages(JSP) :Java Server Pages(JSP) technology enables you to mix regular, static HTML with dynamically generated content. You simply write the regular HTML in the normal manner, using familiar Web-page building tools. You then enclose the code for the dynamic parts in special tags, most of which start with <% and end with %> Life Cycle Of JSP :1. jspInit() 2. jspService(request ,response) 3. jspDestroy() JSP Transition:-
Declaration tag ( <%! %> ) A declaration tag declares one or more variables or methods for use later in the JSP source file. A declaration tag must contain at least one complete declarative statement. You can declare any number of variables or methods within one declaration tag, as long as they are separated by semicolons. The declaration tag must be valid in the scripting language used in the JSP file. This tag allows the developer to declare variables or methods. Before the declaration you must have <%! At the end of the declaration, the developer must have %> Code placed in this tag must end in a semicolon ( ; ). Declarations do not generate output so are used with JSP expressions or scriptlets. <%! private int counter = 0 ; private String get Account ( int accountNo) ; %> Expression tag (<%= %>) An expression tag contains a scripting language expression that is evaluated, converted to a String, and inserted where the expression appears in the JSP file. Because the value of an expression is converted to a String, you can use an expression within text in a JSP file. This tag allows the developer to embed any Java expression and is short for out.println(). A semicolon ( ; ) does not appear at the end of the code inside the tag. Example to show the current date and time Date : <%= new java.util.Date() %> Directive tag (<%@ directive %>) A JSP directive tag gives special information about the page to the JSP Engine. There are three main types of directives: page processing information for this page. Include files to be included. Tag library tag library to be used in this page. 19
Directives do not produce any visible output when the page is requested but change the way the JSP Engine processes the page. Scriptlet tag(<%%>) A scriptlet tag can contain any number of language statements, variable or method declarations, or expressions that are valid in the page scripting language. We can declare variables or methods to use later in the file. Write expressions valid in the page scripting language. Use any of the JSP implicit objects or any object declared with a tag. You must write plain text, HTML-encoded text, or other JSP tags outside the script let. Script lets are executed at request time, when the JSP engine processes the client request.
JSP Implicit and Session Objects:JSP expressions: If a programmer wants to insert data into an HTML page, then this is achieved by making use of the JSP expression. General syntax: <%= expression %> Implicit Objects: Implicit Objects in JSP are objects that are automatically available in JSP. Implicit Objects are Javaobjects that the JSP Container provides to a developer to access them in their program using JavaBeans and Servlets. These objects are called implicit objects because they are automatically instantiated. There are many implicit objects available. Some of them are: request: The class or the interface name of the object request is http.httpservletrequest. The object request is of type Javax.servlet.http.httpservletrequest. This denotes the data included with the HTTP Request. The client first makes a request that is then passed to the server. The requested object is used to take the value from clients web browser and pass it to the server. This is performed using HTTP request like headers, cookies and arguments.
response: This denotes the HTTP Response data. The result or the information from a request is denoted by this object. This is in contrast to the request object. The class or the interface name of the object response is http.HttpServletResponse. The object response is of type Javax.servlet.http. >httpservletresponse. Generally, the object response is used with cookies. The response object is also used with HTTP Headers. 20
Session: This denotes the data associated with a specific session of user. The class or the interface name of the object Session is http.HttpSession. The object Session is of typeJavax.servlet.http.httpsession. The previous two objects, request and response, are used to pass information from web browser to server and from server to web browser respectively. The SessionObject provides the connection or association between the client and the server. The main use ofSession Objects is for maintaining states when there are multiple page requests. This will be explained in further detail in following sections. Out: This denotes the Output stream in the context of page. The class or the interface name of the Out object is jsp.JspWriter. The Out object is written: Javax.servlet.jsp.JspWriter PageContext: This is used to access page attributes and also to access all the namespaces associated with a JSP page. The class or the interface name of the object PageContext is jsp.pageContext. The object PageContext is written: Javax.servlet.jsp.pagecontext Application: This is used to share the data with all application pages. The class or the interface name of the Application object is ServletContext. The Application object is written: Javax.servlet.http.ServletContext Config: This is used to get information regarding the Servlet configuration, stored in the Config object.The class or the interface name of the Config object is ServletConfig. The object Config is written Javax.servlet.http.ServletConfig Page: The Page object denotes the JSP page, used for calling any instance of a Page servlet. The class or the interface name of the Page object is jsp.HttpJspPage. The Page object is written:Java.lang.Object. The most commonly used implicit objects are request, response and session objects
JSP Session Object Session Object denotes the data associated with a specific session of user. The class or the interface name of the object session is http.HttpSession. The object session is written as: Javax.servlet.http.httpsession. The Session Object provides the connection or association between the client and the server. The main feature of session object is to navigate between multiple pages in a application where variables are stored for the entire user session. The session objects do not lose the variables and the value remains for the user session. The concept of maintenance of sessions can be performed by cookies or URL rewriting.
21
BACK-END(MS-ACCESS):Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of applications, included in the Professional and higher editions or sold separately. In mid-May 2010, the current version of Microsoft Access 2010 was released by Microsoft in Office 2010; Microsoft Office Access 2007 was the prior version. Access stores data in its own format based on the Access Jet Database Engine. It can also import or link directly to data stored in other applications and databases. Software developers and data architects can use Microsoft Access to develop application software, and "power users" can use it to build simple applications. Like other Office applications, Access is supported by Visual Basic for Applications, an objectorientedprogramming language that can reference a variety of objects including DAO (Data Access Objects), ActiveX Data Objects, and many other ActiveX components. Visual objects used in forms and reports expose their methods and properties. JAVA DATABASE CONNECTIVITY:Java Database Connectivity (JDBC) is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database. JDBC is oriented towards relational databases. Overview JDBC connections support creating and executing statements. These may be update statements such as SQL's CREATE, INSERT, UPDATE and DELETE, or they may be query statements such as SELECT. Additionally, stored procedures may be invoked through a JDBC connection. JDBC represents statements using one of the following classes: Statement the statement is sent to the database server each and every time. PreparedStatement the statement is cached and then the execution path is pre determined on the database server allowing it to be executed multiple times in an efficient manner. c) CallableStatement used for executing stored procedures on the database.
a) b)
Update statements such as INSERT, UPDATE and DELETE return an update count that indicates how many rows were affected in the database. These statements do not return any other information. 22
Query statements return a JDBC row result set. The row result set is used to walk over the result set. Individual columns in a row are retrieved either by name or by column number. There may be any number of rows in the result set. JDBC Drivers JDBC Drivers are client-side adaptors (they are installed on the client machine, not on the server) that convert requests from Java programs to a protocol that the DBMS can understand. Types There are commercial and free drivers available for most relational database servers. These drivers fall into one of the following types:
Type 1, the JDBC-ODBC bridge driver Type 2, the Native-API driver Type 3, the JDBC net pure-java driver Type 4, the native-protocol pure-java driver
Internal JDBC driver, driver embedded with JRE in Java-enabled SQL databases. Used for Java stored procedures. This does not belong to the above classification, although it would likely be either a type 2 or type 4 driver (depending on whether the database itself is implemented in Java or not). An example of this is the KPRB driver supplied with Oracle RDBMS. "jdbc:default:connection" is a relatively standard way of referring making such a connection (at least Oracle and Apache Derby support it). The distinction here is that the JDBC client is actually running as part of the database being accessed, so access can be made directly rather than through network protocols. Java Virtual Machine Java Program Java Compiler Virtual Machine
Byte Code
Java Interpreter
Machine Code
The Key that allows Java to solve both the security and the portability problems just described is that the output of a java Compiler is not executable code. Rather, it is byte code. Byte code is a highly optimized set of instructions designed to be executed by the java run time system, which is called the Java Virtual Machine (JVM). JVM is an interpreter of byte code.
23
IDE USED:MyEclipse is a commercially available Java EE and Ajax IDE created and maintained by the company Genuitec, a founding member of the Eclipse Foundation.MyEclipse is built upon the Eclipse platform and integrates both proprietary and open source solutions into the development environment. MyEclipse has two primary versions (apart from the "Blue Edition and "MyEclipse Spring Edition referred to below): a professional and a standard edition.[5] The standard edition adds database tools, a visual web designer, persistence tools, Spring tools, Struts and JSF tooling, and a number of other features to the basic Eclipse Java Developer profile. It competes with the Web Tools Project, which is a part of Eclipse itself, but MyEclipse is a separate project entirely and offers a different feature set. Most recently, MyEclipse has been made available via Pulse (ALM), a provisioning tool that maintains Eclipse software profiles, including those that use MyEclipse. Additionally, MyEclipse is offering a customized version for IBM products, "MyEclipse Blue Edition", that adds specific support for Rational Software and WebSphere development. Currently, MyEclipse Blue Edition is available for Windows and Linux, though Mac is unsupported.
24
HOME PAGE(Index.jsp)
25
LOGIN TIPS(logintip.jsp)
26
27
Clients Services:-
28
Ministatement:-
29
Fund Transfer:-
30
Bank Services:-
31
transaction.jsp
createacc.jsp
32
editacc.jsp:-
33
editaccount.jsp
deleteacc.jsp
34
Message Alert
35
loan.jsp
36
Returnloan.jsp
37
Cpin.jsp
38
Bond.jsp
39
Problem.jsp
40
CONCLUSION
On-Line Banking has been developed according to the given condition as specified in the SRS document and is found working effectively. Since there are few requirements which are not fulfilled as per SRS such as Money Collection Facility and Online Shoping but it would be surely practicised later to cover up these facilities. The developed system system is flexible and its structure is component based so that it can be easily modified in future as per the case of client and Bank. Using the facilities and functionalities off java advance, the website have been developed in a neat and simple manner, thereby reducing the operators work. The speed and accuracy are maintained in proper way. The result obtained were fully satisfactory from the user point of view as well as from administrator perspective. The website was varified with valid as well as invalid data in each manner. There is proper validator facilities provided for both client and bank interface so that server load may get reduced with client side verification of input data. The website can work successfully in any local area network(in labs) for more verification (testing).
41
REFERENCES
1. Complete reference to JAVA by Herbert Schildt. 2. Programming with java by E.Balaguruswamy. 3. Advance Java Programming by Sun Microsystem. 4. Servlets and Java Server Page by Mart Hall.
Log on to: http://www.jexamples.com http://www.roseindia.com http://www.w3schools.com http://www.projectsourcecode.com
42