You are on page 1of 65

ABSTRACT

e-banking -The execution of financial services via internet, reducing cost and increase in convenience for the customer to access the transaction. e-banking i s a n u m b r e l l a term for the process by which a customer may perform banking

transactions electronically without visiting a brick-and-mortar institution. The following terms all refer to one form or another of electronic banking: personal computer (PC) banking, Internet banking, virtual banking, online banking, home banking, remote electronic banking, and phone banking. The purpose of this project is to develop an on-line banking system that provides customers with the facility to check their accounts and do transactions on-line. The system will provide the banks facilities to its customers when their authentications [user id and password] match like viewing account summary, viewing account information, performing transfers amounts from one account to the other account, performing transactions, viewing transactions, request for a checkbook. The administrator should have the ability to perform various operations like creating a normal bank account for the customer and performing functions like balance enquiry, withdrawals and deposits. The administrator also has the privilege to close the customers account on the request of the bank customer. The heart of the e-banking application is the computer system which includes web servers, database management systems, and web application programs that can generate dynamic HTML pages. The customer should be able to access his/her account from anywhere just by inputting the correct user-id and password.

INTRODUCTION
Internet-banking is the wave of the future. It provides enormous benefits to customers in terms of ease and cost of transactions, either through Internet, telephone or other electronic delivery. Internet-banking means the provision of retail and small value banking products and services through electronic channels and large value electronic payments and other wholesale banking services delivered electronically. Although clients have enjoyed great convenience of internet- banking and bankers have improved cost efficiency of banks (Lin and Lin, 2006, 2007), internet-banking may lead to unstable financial environments. In other words, internet-banking could make the financial markets less manageable by the regulators. Internet banking refers to the deployment over the Internet of retail and wholesale banking services. It involves individual and corporate clients, and includes bank transfers, payments and settlements, documentary collections and credits, corporate and household lending, card business and some others .Since its inception Internet banking has experienced strong and sustained growth. According to Jupiter Media, Internet traffic for all United States banks which grew by 77.6 per cent between July 2000 and July 2001,c ompared with overall World Wide Web traffic growth of 19.8 per cent over the same period. Another source estimated that the share of United States households using

Internet banking had increased 20 per cent in 2001 and 33 per cent in 2005, and that in 2010 there was approximtely 55 million users. Internet banking operations currently represent between 5 per cent and 10 per cent of the total volume of retail banking transactions both in the United States and in Europe. This is less than the share of Internet securities trading, estimated at between 20 and 25 per cent of the total, but much more than to overall business to-customer (B2C) e-commerce, which represent lea a then total 2 % of the retail trade

TYPES OF E-BANKING: The common assumption is that Internet banking is the only method of on-line banking. However, this is not strictly the case, as several types of service are currently available.

PC Banking - The forerunner to Internet banking has been around since the late 1980's and is still widely used today. Individual banks provide software which is loaded on to an SME's office computer. The SME can then access their bank account via a modem and telephone link to the bank. Access is not necessarily via the Internet. Internet Banking - Using a Web browser, a user can access their account, once the bank's application server has validated the user's identity. Digital TV Banking- Using the standard digital reception equipment (set top box and remote control), users can access their bank account. Abbey National and HSBC services are available via Digital TV providers. One of its main selling points is that no account details are transmitted via the World Wide Web. Text Phone Banking - HSBC have introduced this service to allow customers with text phones to check their balance, pay bills and transfer money. Internet banking can be split into two distinct groups: Traditional banks and building societies use the Internet as an add-on service with which to give businesses access to their accounts. New Internet-only banks have no bricks and mortar presence on the High Street. Therefore, they have lower overheads and can offer higher rates of interest and lower charge Services provided through Internet Banking 1. Account information 2. E-cheques (Online Fund Transfer) 3. Bill Payment Service 4. Requests And Intimations 5. Demat Account share trading 6. Cash withdrawal 7. Balance Enquiry: 8. Mini Statement: 9. Deposit Cash / Cheques 10. Funds Transfer: 11. Others
3

1. Account information: Provides summary of all bank accounts. Allow transaction tracking which enables retrieval of transaction details based on, transaction amount, and date. Provide account statement and transaction report is used on userdefined criteria. Customers can even download and print the statement of accounts. 2. E-Cheques ( Online Fund Transfer): Customer can transfer funds: Transfer funds between accounts, even if they are in different branches cities Customer can also transfer funds to any person having an account with the same bank anytime, anywhere, using third party funds transfer option. 3. Bill Payment Service: Banks Bill Payment is the easiest way to manage bills. A/c holder can pay their regular monthly bills i.e. telephone, electricity, mobile phone, insurance etc. at anytime, anywhere for free. Saves time and effort. Make bill payments at customers convenience form their home or office. Lets a/c holders check their hill amount before it is debited form their account. No debits to account without their knowledge. No more missed deadlines, no more loss of interest a/c holder can schedule their bills in advance, avoid missing the bill deadlines as well as earn extra interest on their money. Track payment history all payments to a biller are stored automatically for future reference. No queuing up at collection centers or writing cheque anymore! Just a few clicks and customers account will be debited for the exact amount they ask. 3. Requests And Intimations: Can electronically submit a request for: Cheque-book Stop payment instructions Opening a fixed deposit Opening a recurring deposit Intimate for the loss of ATM card Register online for phone and mobile banking Cheque status Online application for debit card Issue a DD or a Bankers cheque form account at special rates. Just select the account to be debited form and give details of the amount, location and beneficiary. The demand draft will be couriered to a/c holder at their mailing address. Customers can get their applications for issuance of Letters of Credit and Bank Guarantees processed online Book your Railways Ticket Online.

4. Demat Account and Share Trading Demat Account: Demat is commonly used abbreviation of Dematerialization, which is a process whereby securities like share,
4

debentures are converted from the material (paper documents) to electronic data and stored in the computer of an electronic Depository. A depository is a security banks, where dematerialized physical securities are held in custody, and form where they can be traded. This facilitates faster, risk-free and low cost settlement. 5. Share Trading: In share trading a customer can buy and sell securities online without stepping into a brokers office. Once the share is dematerialized then the trading can be done from home or office. As demat a/c are directly linked to the customers bank a/c, so there is no need to write cheque for the payments or to fill up the slips to deposit the cheque. Amount for the purchase and sale of securities is automatically debited or credited to their bank a/c. it also brings the same convenience while investing in Mutual funds also Hassle free and Paperless 6. Cash withdrawal: You can withdraw cash from your account through internet banking without going to the bank and doing paper work, thereby consuming time. 7. Balance Enquiry: Know your ledger balance and available balance 8. Mini Statement: Get a printout of your last 8 transactions and your current balance. 9. Deposit Cash / Cheques: Customers can deposit cash which will be credited to the account on the same day (provided cash is deposited before the clearing) and cheques are sent for clearing on the next working day. 10. Funds Transfer: Transfer funds from one account to another linked account in the same branch.

11.Others: Request for a checkbook from our website and our concerned branch will
dispatch it such that it reaches you within 10 working d

OBJECTIVE
The aim of my project is to address the limitations of the current system .The requirements for the project has been gathered from the defects recorded in the past and also based on the feedback users of the previous metrics tools. The development of the new system contains the following activities which try to automate the entire process keeping in view of the database integration approach. Following are the objectives of the project: 1. The administrators have great accessibility in collecting the consistent information that is very much necessary for the system to exist and coordinate. 2. The system at any point of time can give the customers information related to their Accounts and accounts status The balance enquiry The fund transfer standard The cheque book request Deposit money in your account. Withdraw money from your account Create a new Account The system can provide information related accounts that exist within the bank. 4. The system at any point of time can provide the information related to the executed transactions by the customer. 5. The system with respect to the necessities can identify all the history details of theatrical participants along with their outcome of the results. 6. E-banking services are delivered to customers through the Internet and the web using Hypertext Markup Language (HTML). 7. Multimedia information in HTML format from online banks can be displayed in web browsers. 8. The heart of the e-banking application is the computer system which includes web servers, database management systems, and web application programs that can generate dynamic HTML pages. The customer should be able to access his/her account from anywhere just by inputting the correct user-id and password.

3.

to the

different

types of

REVIEW OF LITERATURE
Introduction and development of e-banking especially began in 1990s. A research made in U.S in year 1999 stated that there have been huge increases in the use of e-banking in America. Examining the development of online banking in the world, one can say that the European countries are still the leader of the use of newest banking technologies and online banking According to a study, less than 15 percent of banks with transactional websites will realize profits directly attributable to those sites. USAs first online banking service, the Security First Network Bank, was the first internet only bank created in 1995. Before Security First Network Bank some banks had many different trials with a variety of systems for offering online banking. Usually this involved some kind of token that was placed in an account that could only be used on the Internet. The tokens were not protected by depositors insurance. Around the same time, Wells Fargo was the first brick-and-mortar bank to establish its online presence. For most of the rest of the banks, however, online presence in the first few years often meant only having a corporative website. After creating many web pages the second evolution in internet technology for banks was the creation of new software applications that allowed their customers to access to their accounts, follow their positions and even to perform financial operations online. By the end of 2003, more than half of the commercial banks present in U.S. and Europe offered online-banking services to their customers.

Internet and mobile Internet banking services are the most innovative and profitable banking services introduced by commercial banks in Turkey. According to Turkish banking Associations (TBB) statements Isbank offered the first internet banking service in 1997 to its customers and were followed by Garantibank in the same year. And for year 2004 its reported that 22 banks in Turkey were offering internet banking services to their customers. According to a recent statistic about the Internet Banking usage in Turkey made by Turkish Banking Association, there are 15 million users registered for retail banking and approximately 1 million users for corporate banking. This makes 16 million for overall registered users of which are 17% active for retail banking and 47% for corporate banking.

E-banking has affected customers expectations as banks clients prefer to deal with banks that offer enhanced, well-organized, professional and innovative services. Banks have to bring improved quality services to their customers to survive in this vulnerable environment. There are many forces that have an effect on banks to develop their online banking services. One of them is to reduce the cost of their services. With the online channels, banks can eliminate costly transactions by reducing the number of branches. New physical locations have high starting up costs and online services and ATM banking reduces the need of new branches. The freedom of no time limitation and the benefit of low-cost services can be considered therefore the key reasons behind the development of online banking services. Another important reason which triggers the development of online banking is globalization. Online banking enables customers to conduct banking activities across the borders. The need of electronic banking started with the improvements in electronic trade or in other words electronic commerce in which companies have conducted businesses through electronic networks. Electronic trade applications needed electronic money and electronic finance. Emoney is a form of money to be used in internet shopping or trade; its a prepaid payment mechanism. Electronic finance covers all electronic banking activities and other financial services and products including insurance and online brokering. E-banking, being an important section of the electronic finance provides banking products and services through electronic delivery channels and is composed of internet banking, telephone banking and other intelligent electronic delivery channels.

Online banking acceptance has gained special attention in academic studies during the past five years as banking journals have devoted special issues on the topic (Mukherjee and Nath, 2003). Two reasons can be established for online banking development and diffusion. First, banks can save costs by offering online banking services. It has been proven that online banking channel is the cheapest delivery channel for banking products once established (Giglio, 2002.) Second, banks can reduce their branch networks and downsize the number of service staff, which opens the way for online banking as many customers feel that branch banking requires too much of their time and effort. Therefore, time and cost savings and freedom from place have been found to be the main reasons underlying online banking acceptance (How croft, Hamilton and Hewer, 2002).
8

Online banking offers many benefits to banks as well as to customers. However, when compared globally the percentage of online users is not as high in the USA as other regions of the world. There can be several reasons for this, the most obvious being that customers need to have access to the internet in order to utilize the service. Also new online users first need to learn how to use the service. Nonusers often complain that online banking has no social dimension, i.e. they are not served in the same way as in a face-to-face situation at a branch. Plus there are issues of security and privacy.

Factors in Customer Adoption of Internet Banking A generic theoretical framework, Figure 1 shows that a bank must first attract banking customer attention to the internet banking service before the customer will consider internet banking. However, unless the customer has a high level of internet accessibility at home or at work, they are unlikely to consider using internet banking. The customer also assesses whether it is convenient to conduct their banking that way (convenience), how usable the application appears (usability), and their perceived competence of internet use and banking application use (self-efficacy). The four factors of accessibility, self-efficacy, convenience and usability are interrelated. The customer also considers whether the perceived relative advantages of internet banking compared with other banking forms outweigh perceived risks and costs. In addition, the availability of sufficient support and in depth knowledge from the bank and its employees contribute significantly to the adoption decision.

Figure 1: Key factors in customer adoption of IB, a generic theoretical framework


9

TAM and related studies One of the most utilized model in studying information system acceptance is the technology acceptance model (TAM) (See Figure 2) in which system use (actual behavior) is determined by perceived usefulness (PU) and perceived ease of use (PEOU) relating to the attitude toward use that relates to intention and finally to behavior. Perceived ease of use (PEOU), defined as the degree to which a person believes that using a particular system would be free of effort Perceived usefulness (PU), defined as the degree to which a person believes that a particular system would enhance their performance

Figure 2: Technology Acceptance Model (TAM)

According to the TAM these two beliefs are of primary significance for computer acceptance. PU refers to the prospective user's subjective likelihood that the use of a certain application will increase his or her performance. PEOU is defined as the degree to which the prospective user expects the potential system to be free of effort (Davis et al., 1989). According to DeLone and McLean (1992) system use as the dependent variable is acceptable if system usage is not compulsory. TAM has been tested widely with different samples in different situations and proved to be a valid and reliable model explaining information system acceptance and use (Mathieson, 1991; Davis and Venkatesh, 1996.).

10

RECOGITION OF NEED
CURRENT SYSTEM To understand the need and benefits offered by Internet- Banking we need to know and understand traditional form of Banking, its limitations and shortcomings. The customer need to visit a branch to open his account, he needs to agree to the terms and conditions. To withdraw or deposit or transfer funds from one account to another he need to fill up a form for every individual transaction. To submit a cheque book request, a new form has to be filled and the user needs to wait for verification. The customer has to always visit a bank to make simple changes: like change of address etc. The list of transaction made is very important for every organization or individual and he has to get it from the bank, if it is saving account, a new form is filled. In case a cheque is lost or the whole cheque book gets lost, the customer needs to go through the various procedures of bank for stopping the payment of cheques. The customer has to visit the bank to get his updated balance in his account, he/she needs to get the entries of the transaction in the passbook regularly. Drawbacks Customer need to visit to the bank regularly. Customer has to wait in a queue for his turn. Customer needs to get his passbook updated regularly. Customer needs to fill up various forms before his query is resolved. Customer has to visit the bank if he needs to update his/her address. For every individual transaction, a new form has to be filled.

PROPOSED SYSTEM Why an Automated Private Banking System? Almost 60% of todays information is still paper based. 30% of all office time is spent finding documents. The average time to manage a single document is 12 minutes, 9 minutes to re-file and 3 minutes to process. Proposed system is fully automated system which provides customer better services. Customers are provided it a username and password. They can visit the sites and login into their accounts. Customers are provided
11

with a common username and password for all his accounts. Proposed system has the following procedures to overcome the drawbacks of the existing system: 1. Balance Enquiry: Customer can view his updated balance from online service anytime. 2. Funds Transfer: Customer can transfer funds from his account to any other account in the same bank.. 3. Request for cheque book: Customer can submit a request for cheque book. At a time only one cheque book request can be submitted. 4. Change of address: Customer can change his postal/current address anytime. 5. Accept Cheque book request: Administrator can accept the cheque book request any time from his online account. 6. Create/Add Account: Administrator can create an account to provide services of internet banking.

Banking System can be used extensively: Withdrawal of amount by the client. Deposition of amount by the client. Faster balance enquiry.

12

FEASIBILITY STUDY
Feasibility study means the analysis of problem to determine if it can be solved effectively. In other words it is the study of the possibilities of the proposed system it studies the work ability, impact on the organization ability to meet users need and efficient use of resources. Three aspects in which the system has to be feasible are:-

1. ECONOMICAL FEASIBILITY:The economical analysis checks for the high investment incurred on the system. It evaluates development & implementing charges for the proposed Banking Project. The S/W used for the development is easily available at minimal cost & the database applied is freely available hence it results in low cost implementation.

2. TECHNICAL FEASIBILITY:This aspect concentrates on the concept of using Computer Meaning, Mechanization of human works. Thus the automated solution leads to the need for a technical feasibility study. The focus on the platform used database management & users for that S/W. The proposed system doesnt require an in depth technical knowledge as the system development is simple and easy to understand. The software (VB.NET) used makes the system user friendly (GUI). The result obtain should be true in the real time conditions.

3. BEHAVIOURAL FEASIBILITY:-

Behavioral feasibility deals with the runtime performance of the S/W the proposed system must score higher than the present in the behavioral study. The S/W should have end user in mind when the system is designed while designing s/w the programmer should be aware of the conditions users. Knowledge input, output, calculations etc. The s/w contains only a minimum no. of bugs. Care should be also taken to avoid non-working means & buttons.

13

METHODOLOGY
The table below lists the functionalities to be included in the Online Banking Application, as well as certain features that will not be supported. This list is a tentative, since it may be discovered during development that additional features are required or some existing features may prove to be unworkable or impractical due to time limitations. The application will be written Java Server Pages (JSP), as it is easier to write and maintain pages. All the necessary hardware and software requirement for the complete application are included in this paper. Table 1 represents the features supported by Online Banking Application. Features Support

Support 3-tier architecture(Client, Server, Database) yes Creation of design for all common components yes Creation of design for all Server Side Components yes Support session tracking yes Easy means of navigation through pages containing proper yes session tracking. Support Application Servers yes Easy means of navigation through different pages. yes Support the ODBC connections and JDBC-ODBC as well yes Database Oracle 10g Establish database connection yes Generation of Use case and Data flow diagrams yes Programming Language support yes Operating System support Windows2000 higher or

Design Dataflow diagrams are depictured below to give the clear understanding of Online Banking Application. The Online banking Application project will be divided into 2 modules namely: 1. Bank Account 2. Bank Account Administrator 3. Issue a Cheque book Module 1 In this module the customer is allowed to logon to the website and can access his/her account by getting user name and password which will be verified with the server and the
14

database. Once he/she gets verified then they are allowed to view their personal account and perform operations such as change of address, paying bills online, viewing transactions and transferring money into other accounts. Once the customer finishes the task the update information instantly gets stored into the database. The customer is then allowed to sign out from his/her account.

Module 2 In this module the administrator can perform operations for both new customers and existing customers. Administrator will help a new customer in opening their account by taking complete information from them. Administrator provides services like withdrawal, deposit, transfer and deleting customer during the time of closing the account. In this module administrator provides great customer service to the customers who want to do phone banking or teller banking. The interface for administrator will be both very user friendly and efficient. The data gets stored in the database instantly when the administrator hits the submit button.

Module 3 In this module, the customer is allowed to request for the cheque book. The corresponding page will be shown when they will be asked to fill out the form and after filling the form confirmation page will be shown stating number of cheque books, the number cheque leaves in it.

The application will be having other functionalities such as: Password retrieval for existing customer. Locator (in case of teller banking) Enrollment for online banking. The application will be using a backend as Oracle 10g, all the front-end will be written in Java Server Pages (JSP) and Jakarta Tomcat application server will be used as a middle ware which will take care of the connection between front-end and backend.

15

SYSTEM DESIGN
DEFINITION The most creative and challenging face of the system development is System Design. It provides the understanding and procedural details necessary for the logical and physical stages of development. In designing a new system, the system analyst must have a clear understanding of the objectives, which the design is aiming to fulfill. The first step is to determine how the output is to be produced and in what format. Second, input data and master files have to be designed to meet the requirements of the proposed output. The operational phases are handled through program construction and testing. Design of the system can be defined as a 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 solution to how to approach to the creation of a new system. This important phase provides the understanding and the procedural details necessary for implementing the system recommended in the feasibility study. The design step provides a data design, architectural design, and a procedural design.

OUTPUT DESIGN In the output design, the emphasis is on producing a hard copy of the information requested or displaying the output on the CRT screen in a predetermined format. Two of the most output media today are printers and the screen. Most users now access their reports from either a hard copy or screen display. Computers output is the most important and direct source of information to the user, efficient, logical, output design should improve the systems relations with the user and help in decision-making. As the outputs are the most important source of information to the user, better design should improve the systems relations and also should help in decision-making. The output devices capability, print quality, response time requirements etc should also be considered, form design elaborates the way the output is presented and layout available for capturing information. Its very helpful to produce the clear, accurate and speedy information for end users.

16

INPUT DESIGN In the input design, user-originated inputs are converted into a computer-based system format. It also includes determining the record media, method of input, speed of capture and entry on to the screen. Online data entry accepts commands and data through a keyboard. The major approach to input design is the menu and the prompt design. In each alternative, the users options are predefined. The data flow diagram indicates logical data flow, data stores, source and destination. Input data are collected and organized into a group of similar data once identified input media are selected for processing. In this software, importance is given to develop Graphical User Interface (GUI), which is an important factor in developing efficient and user friendly software. For inputting user data, attractive forms are designed. User can also select the desired options from the menu, which provides all possible facilities. Also the important input format is designed in such a way that accidental errors are avoided. The user has to input only just the minimum data required, which also helps in avoiding the errors that the users may make. Accurate designing of the input format is very important in developing efficient software. The goal of input design is to make entry as easy, logical and free from errors.

LOGICAL DESIGN Logical data design is about the logically implied data. Each and every data in the form can be designed in such a manner to understand the meaning. Logical data designing should give a clear understanding & idea about the related data used to construct a form. Data flow diagram A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the processes that change or transform data throughout a system. Its a structured analysis and design tool that can be used for flowcharting in place of, or in association with, information oriented and process oriented system flowcharts. When analysts prepare the Data Flow Diagram, they specify the user needs at a level of detail that virtually determines the information flow into and out of the system and the required data resources. This network is constructed by using a set of symbols that do not imply a physical implementation. The Data Flow Diagram reviews the current physical system, prepares input and output specification, specifies the implementation plan etc.
17

Four basic symbols are used to construct data flow diagrams. They are symbols that represent data source, data flows, and data transformations and data storage. The points at which data are transformed are represented by enclosed figures, usually circles, which are called nodes. Steps to Construct Data Flow Diagrams Four steps are commonly used to construct a DFD Process should be named and numbered for easy reference. Each name should be representative of the process. The direction of flow is from top to bottom and from left to right. When a process is exploded into lower level details they are numbered. The names of data stores, sources and destinations are written in capital letters.

Rules for constructing a Data Flow Diagram Arrows should not cross each other. Squares, Circles and files must bear names. Decomposed data flow squares and circles can have same names. Choose meaningful names for dataflow. Draw all data flows around the outside of the diagram.

18

DIAGRAMATIC VIEW OF INTERNET BANKING

19

ENTITY RELATIONSHIP DIAGRAM

20

USE CASE DIAGRAM

21

OVERVIEW OF LANGUAGES USED


JAVA Java is a programming language developed by James Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent, class-based, object-oriented language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java is currently one of the most popular programming languages in use, particularly for client-server web applications, with a reported 10 million users.

Figure 3: Java Virtual Machine (JVM)

22

The original and reference implementation Java compilers, virtual machines, and class libraries were developed by Sun from 1995. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java and GNU Classpath. HISTORY James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.[11] Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time.[12] The language was initially called Oak after an oak tree that stood outside Gosling's office; it went by the name Green later, and was later renamed Java, from Java coffee, said to be consumed in large quantities by the language's creators. Gosling aimed to implement a virtual machine and a language that had a familiar C/C++ style of notation. Sun Microsystems released the first public implementation as Java 1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. Major web browsers soon incorporated the ability to run Java applets within web pages, and Java quickly became popular. With the advent of Java 2 (released initially as J2SE 1.2 in December 19981999), new versions had multiple configurations built for different types of platforms. For example, J2EE targeted enterprise applications and the greatly stripped-down version J2ME for mobile applications (Mobile Java). J2SE designated the Standard Edition. In 2006, for marketing purposes, Sun renamed new J2 versions as Java EE, Java ME, and Java SE, respectively. In 1997, Sun Microsystems approached the ISO/IEC JTC1 standards body and later the Ecma International to formalize Java, but it soon withdrew from the process. Java remains a de facto standard, controlled through the Java Community Process.[16] At one time, Sun made most of its Java implementations available without charge, despite their proprietary software status. Sun generated revenue from Java through the selling of licenses for specialized products such as the Java Enterprise System. Sun distinguishes
23

between its Software Development Kit (SDK) and Runtime Environment (JRE) (a subset of the SDK); the primary distinction involves the JRE's lack of the compiler, utility programs, and header files. On November 13, 2006, Sun released much of Java as free and open source software, (FOSS), under the terms of the GNU General Public License (GPL). On May 8, 2007, Sun finished the process, making all of Java's core code available under free software/opensource distribution terms, aside from a small portion of code to which Sun did not hold the copyright.] Sun's vice-president Rich Green said that Sun's ideal role with regards to Java was as an "evangelist." Following Oracle Corporation's acquisition of Sun Microsystems in 2009 2010, Oracle has described itself as the "steward of Java technology with a relentless commitment to fostering a community of participation and transparency". Java software runs on laptops to data centers, game consoles to scientific supercomputers. There are 930 million Java Runtime Environment downloads each year and 3 billion mobile phones run Java. On April 2, 2010, James Gosling resigned from Oracle.

PRINCIPLE There were five primary goals in the creation of the Java language:[22] 1. It should be "simple, object-oriented and familiar" 2. It should be "robust and secure" 3. It should be "architecture-neutral and portable" 4. It should execute with "high performance" 5. It should be "interpreted, threaded, and dynamic".

VERSION Main article: Java version history Major release versions of Java, along with their release dates: JDK 1.0 (January 23, 1996)
24

JDK 1.1 (February 19, 1997) J2SE 1.2 (December 8, 1998) J2SE 1.3 (May 8, 2000) J2SE 1.4 (February 6, 2002) J2SE 5.0 (September 30, 2004) Java SE 6 (December 11, 2006) Java SE 7 (July 28, 2011) SIGNIFICANT FEATURES OF JAVA

Platform Independence - Java compilers do not produce native object code for a particular platform but rather byte code instructions for the Java Virtual Machine (JVM). Making Java code work on a particular platform is then simply a matter of writing a byte code interpreter to simulate a JVM. What this all means is that the same compiled byte code will run unmodified on any platform that supports Java.

Object Orientation - Java is a pure object-oriented language. This means that everything in a Java program is an object and everything is descended from a root object class.

Rich Standard Library - One of Javas most attractive features is its standard library. The Java environment includes hundreds of classes and methods in six major functional areas.
o

Language Support classes for advanced language features such as strings, arrays, threads, and exception handling.

Utility classes like a random number generator, date and time functions, and container classes.

Input/output classes to read and write data of many types to and from a variety of sources.

Networking classes to allow inter-computer communications over a local network or the Internet.

o o

Abstract Window Toolkit for creating platform-independent GUI applications. Applet is a class that lets you create Java programs that can be downloaded and run on a client browser.
25

Applet Interface - in addition to being able to create stand-alone applications, Java developers can create programs that can download from a web page and run on a client browser.

Familiar C++-like Syntax - One of the factors enabling the rapid adoption of Java is the similarity of the Java syntax to that of the popular C++ programming language.

Garbage Collection - Java does not require programmers to explicitly free dynamically allocated memory. This makes Java programs easier to write and less prone to memory errors.

AREAS OF APPLICATION

World Wide Web Applets Cross-Platform Application Development Other Network Applications

SPECIAL CLASSES 1. APPLET In computing, an applet is any small application that performs one specific task that runs within the scope of a larger program, often as a plug-in. An applet typically also refers to Java applets, i.e., programs written in the Java programming language that are included in a web page. The word Applet was first used in 1990 in PC Magazine. Provided that an applet is hosted by an operating system, it can function as any other normal software application but is and performs only a small set of tasks. Examples of applications often classified as applets are all of the accessories bundled in Microsoft Windows (such as Windows Notepad or Microsoft Paint). Applets are not full-featured application programs. Applets are used to provide interactive features to web applications that cannot be provided by HTML alone. They can capture mouse input and also have controls like buttons or check boxes. In response to the user action an applet can change the provided graphic content. This makes applets well suitable for demonstration, visualization, and teaching. There are online applet collections for studying various subjects, from physics to heart physiology. Applets

26

are also used to create online game collections that allow players to compete against live opponents in real-time. An applet can also be a text area only, providing, for instance, a cross platform commandline interface to some remote system. If needed, an applet can leave the dedicated area and run as a separate window. However, applets have very little control over web page content outside the applet dedicated area, so they are less useful for improving the site appearance in general (while applets like news tickers or WYSIWYG editors are also known). Applets can also play media in formats that are not natively supported by the browser HTML pages may embed parameters that are passed to the applet. Hence the same applet may appear differently depending on the parameters that were passed. Java Applets can provide web applications with interactive features that cannot be provided by HTML. Since Java's bytecode is platform-independent, Java applets can be executed by browsers running under many platforms, including Windows, Unix, Mac OS, and Linux. When a Java technology-enabled web browser processes a page that contains an applet, the

applet's code is transferred to the client's system and executed by the browser's Java Virtual Machine (JVM).An HTML page references an applet either via the deprecated <APPLET> tag or via its replacement, the <OBJECT> tag. In an applet-enabled web browser, many methods can be used to provide applet security for malicious applets. A malicious applet can infect a computer system in many ways, including denial of service, invasion of privacy, and annoyance. A typical solution for malicious applets is to make the web browser to monitor applets' activities. This will result in a web browser that will enable the manual or automatic stopping of malicious applets. To illustrate this method, Applet Guard was used to observe and control any applet in a browser successfully. Recent developments in the coding of applications including mobile and embedded systems have led to the awareness of the security of applets. 2. SERVLET

Servlets are protocol and platform independent server-side software components, written in Java. They run inside a Java enabled server or application server, such as the WebSphere
27

Application Server. Servlets are loaded and executed within the Java Virtual Machine (JVM) of the Web server or application server, in much the same way that applets are loaded and executed within the JVM of the Web client. Since servlets run inside the servers, however, they do not need a graphical user interface (GUI). In this sense, servlets are also faceless objects. Servlets more closely resemble Common Gateway Interface (CGI) scripts or programs than applets in terms of functionality. As in CGI programs, servlets can respond to user events from an HTML request, and then dynamically construct an HTML response that is sent back to the client. Servlet process flow Servlets implement a common request/response paradigm for the handling of the messaging between the client and the server. The Java Servlet API defines a standard interface for the handling of these request and response messages between the client and server. Figure 5 shows a high-level client-to-servlet process flow: 1. The client sends a request to the server. 2. The server sends the request information to the servlet. 3. The servlet builds a response and passes it to the server. That response is dynamically built, and the content of the response usually depends on the clients request. External resources may also be used. 4. The server sends the response back to the client.

Figure 4. High-level client-to-servlet process flow Servlets are powerful tools for implementing complex business application logic. Written in Java, servlets have access to the full set of Java APIs, such as JDBC for accessing enterprise databases. As mentioned above, servlets are similar to CGI in that they can produce dynamic Web content. Servlets, however, have the following advantages over traditional CGI programs:

28

Portability and platform independence: Servlets are written in Java, making them portable across platforms and across different Web servers, because the Java Servlet API defines a standard interface between a servlet and a Web server. Persistence and performance: A servlet is loaded once by a Web server, and invoked for each client request. This means that the servlet can maintain system resources, like a database connection, between requests. Servlets dont incur the overhead of instantiating a new servlet with each request. CGI processes typically must be loaded with each invocation. Java based: Because servlets are written in Java, they inherit all the benefits of the Java language, including a strong typed system, object-orientation, and modularity, to name a few.

The Java Servlet API The Java Servlet API is a set of Java classes which define a standard interface between a Web client and a Web servlet. Client requests are made to the Web server, which then invokes the servlet to service the request through this interface. The Java Servlet API is a Standard Java Extension API, meaning that it is not part of the core Java framework, but rather, is available as an add-on set of packages. The API is composed of two packages: javax.servlet javax.servlet.http The javax.servlet package contains classes to support generic protocol-independent servlets. This means that servlets can be used for many protocols, for example, HTTP and FTP. The javax.servlet.http package extends the functionality of the base package to include specific support for the HTTP protocol. In this chapter, we will concentrate on the classes in the javax.servlet.http package. The Servlet interface class is the central abstraction of the Java Servlet API. This class defines the methods which servlets must implement, including a service() method for the handling of requests. The GenericServlet class implements this interface, and defines a generic, protocol-independent servlet. To write an HTTP servlet for use on the Web, we will use an even more specialized class of GenericServlet called HttpServlet.HttpServlet provides additional methods for the processing of HTTP requests such as GET (doGet method) and
29

POST (doPost method). Although our servlets may implement a service method, in most cases we will implement the HTTP specific request handling methods of doGet and doPost.

The servlet life cycle A client of a servlet-based application does not usually communicate directly with a servlet, but requests the servlets services through a Web server or application server that invokes the servlet through the Java Servlet API. The servers role is to manage the loading and initialization of the servlet, the servicing of the request, and the unloading or destroying of the servlet. This is generally provided by a servlet manager function of the application server. Typically, there is one instance of a particular servlet object at a time in the Web servers environment. This is the underlying principle to the persistence of the servlet. The Web server is responsible for handling the initialization of this servlet when the servlet is first loaded into the environment, where it remains active (or persistent) for the life of the servlet. Each client request to the servlet is handled via a new thread against the original instance object. The Web server is responsible for creating the new threads to handle the requests. The Web server is also responsible for the unloading or reloading of the servlets. This might happen when the Web application is brought down, or the underlying class file for the servlet changes, depending on the underlying implementation of the server. Figure 6 shows a basic client-to-servlet interaction: Servlet1 is initially loaded by the Web application server. Instance variables are initialized, and remain active (persistent) for the life of the servlet. Two Web browser clients have requested the services of Servlet1. A handler thread is spawned by the server to handle each request. Each thread has access to the originally loaded instance variables that were initialized when the servlet was loaded. Each thread handles its own requests, and responses are sent back to the calling client.

30

Figure 5. Basic client-to-servlet interaction The life cycle of a servlet is expressed in the Java Servlet API in the init, service (doGet or doPost), and destroy methods of the Servlet interface. We will discuss the functions of these methods in more detail and the objects that they manipulate. Figure 6 is a visual diagram of the life-cycle of an individual servlet.

Figure 6. Servlet life-cycle The WebSphere administrator can set an application and its servlets to be unavailable for service. In such cases, the application and servlets remain unavailable until the administrator changes them to available.

Understanding the life-cycle This section describes in detail some of the important servlet life-cycle methods of the Java Servlet API.
31

Servlet Initialization: init() Servlets can be dynamically loaded and instantiated when their services are first requested, or the Web server can be configured so that specific servlets are loaded and instantiated when the Web server initializes. In either case, the init method of the servlet performs any necessary servlets initialization, and is guaranteed to be called once for each servlet instance, before any requests to the servlet are handled. The most common form of the init method of the servlet accepts a ServletConfig object parameter. This interface object allows the servlet to access name/value pairs of initialization parameters that are specific to that servlet. The ServletConfig object also gives us access to the SevletContext object that describes information about our servlet environment. Each of these objects will be discussed in more detail in the servlet examples sections. Servlet request handling Once the servlet has been properly initialized, it may handle requests (although it is possible that a loaded servlet may get no requests). Each request is represented by a ServletRequest object, and the corresponding response by a ServletResponse object in the Java Servlet API. The HttpServletRequest object encapsulates information about the client request, including information about the clients environment and any data that may have been sent from the client to the servlet. The HttpServletRequest class contains methods for extracting this information from the request object. The HttpServletResponse is often the dynamically generated response, for instance, an HTML page which is sent back to the client. It is often built with data from the HttpServletRequest object. In addition to an HTML page, a response object may also be an HTTP error response, or a redirection to another URL, servlet, or JavaServer Page. Each time a client request is made, a new servlet thread is spawned which services the request. In this way, the server can handle multiple concurrent requests to the same servlet. For each request, usually the service, doGet, or doPost methods will be called. These methods are passed the HttpServletRequest and HttpServletResponse parameter objects. doPost: Invoked whenever an HTTP POST request is issued through an HTML form. The parameters associated with the POST request are communicated from the browser to the server as a separate HTTP request. The doPost method should be used whenever modifications on the server will take place.
32

doGet: Invoked whenever an HTTP GET method from a URL request is issued, or an HTML form. An HTTP GET method is the default when a URL is specified in a Web browser. In contrast to the doPost method, doGet should be used when no modifications will be made on the server, or when the parameters are not sensitive data. The paramters associated with a GET request are appended to the end of the URL, and are passed into the Query String property of the HttpServletRequest.

Other servlet methods destroy: The destroy method is called when the Web server unloads the servlet. A subclass of HttpServlet only needs to implement this method if it needs to perform cleanup operations, such as releasing database connections or closing files. getServletConfig: The getServletConfig method returns a ServletConfig instance that can be used to return the initialization parameters and the ServletContext object. getServletInfo: The getServletInfo method is a method that can provide information about the servlet, such as its author, version, and copyright. This method is generally overwritten to have it return a meaningful value for your application. By default, it returns an empty string. Example of Servlet Program: package itso.servjsp.servletapi; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SimpleHttpServlet extends HttpServlet { protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println("<HTML><TITLE>SimpleHttpServlet</TITLE><BODY>");
33

out.println("<H2>Servlet API Example - SimpleHttpServlet</H2><HR>"); out.println("<H4>This is about as simple a servlet as it gets!</H4>"); out.println("</BODY><HTML>") out.close(); } }

Getting form values We use the get Parameter method of the request to extract the values of the request parameters (name/value fields passed in from the HTML page). These are two of the input fields that were passed from the HTML form. The get Parameter method requires as an argument the name of the parameter that we want to extract (so it must be known), and returns the value of that parameter, or null. To get a list of the all parameter names, we could use the getParameterNames method. This method returns an enumeration of all the parameter names in the request, which we could then iterate through to get the individual parameter values.

Cookie servlet A cookie is a piece of data passed between a Web server and a Web browser. The Web server sends a cookie that contains data it requires the next time the browser accesses the server. This is one way to maintain state between a browser and a server.

User sessions We have introduced several approaches to session and state tracking between Web browsers and the Web server. One limitation with our first two counter servlet examples, SimpleCounter and PersistentCounter (Figure 51 on page 66), is that they maintain the counter variable globally, within the servlet session, not by user. HttpSession Luckily, the Java Servlet API has a class, HttpSession, which supports built-in session tracking between the client and the server, by user. HTTP is, by design, a
34

stateless protocol. The HttpSession interface allows a server to use several approaches to track a users session, or state, and makes it easy for the developer to use. The session information is managed at the user level. The Java Servlet API supports two ways to associate multiple requests with a session: URL rewriting and cookies. In either case, the implementation details in the servlet are the same. A unique session ID is used to track multiple requests from the same client to the server, and this is what is passed as the URL or cookie parameter. The actual session object that we are tracking is maintained on the server. Cookies Session tracking through HTTP cookies is the most commonly used session tracking mechanism. In this way, the servlet container sends a cookie to the client, and the client will return the cookie on each subsequent request. The name of the session tracking cookie is JSESSIONID. Although it is sent as a cookie, you as the developer do not need to manipulate it as such; the HttpSession class does all that for you. Using HttpSession Using HttpSession makes it easy for the developer to maintain and access session information within a servlet. It associates an HTTP client with an HTTP session, and it persists over multiple connections by the same user.

3. JAVA SERVER PAGES(JSP) JavaServer Pages (JSPs) are similar to HTML files, but provide the ability to display dynamic content within Web pages. JSP technology was developed by Sun Microsystems to separate the development of dynamic Web page content from static HTML page design. The result of this separation means that the page design can change without the need to alter the underlying dynamic content of the page. This is useful in the development life-cycle because the Web page designers do not have to know how to create the dynamic content, but simply have to know where to place the dynamic content within the page. To facilitate embedding of dynamic content, JSPs use a number of tags that enable the page designer to insert the properties of a JavaBean object and script elements into a JSP file
35

How JavaServer Pages work JavaServer Pages are made operable by having their contents (HTML tags, JSP tags and scripts) translated into a servlet by the application server. This process is responsible for translating both the dynamic and static elements declared within the JSP file into Java servlet code that delivers the translated contents through the Web server output stream to the browser. Because JSPs are server-side technology, the processing of both the static and dynamic elements of the page occurs in the server. The architecture of a JSP/servlet-enabled Web site is often referred to as thin-client because most of the business logic is executed on the server. The following process outlines the tasks performed on a JSP file on the first invocation of the file or when the underlying JSP file is changed by the developer (Figure 8): The Web browser makes a request to the JSP page. The JSP engine parses the contents of the JSP file. The JSP engine creates temporary servlet source code based on the contents of the JSP. The generated servlet is responsible for rendering the static elements of the JSP specified at design time in addition to creating the dynamic elements of the page. The servlet source code is compiled by the Java compiler into a servlet class file. The servlet is instantiated. The init and service methods of the servlet are called, and the servlet logic is executed. The combination of static HTML and graphics combined with the dynamic elements specified in the original JSP page definition are sent to the Web browser through the output stream of the servlets response object.

36

Figure 7. The JSP processing life-cycle on first-time invocation Subsequent invocations of the JSP file will simply invoke the service method of the servlet created by the above process to serve the content to the Web browser. The servlet produced as a result of the above process remains in service until the application server is stopped, the servlet is manually unloaded, or a change is made to the underlying file, causing recompilation.

Components of JavaServer Pages JavaServer Pages are composed of standard HTML tags and JSP tags. The available JSP tags defined in the JSP 1.0 specification are categorized as follows: Directives Declarations Scriptlets Comments Expressions

HTML tags JavaServer Pages support all HTML tags. For a listing of HTML tags, refer to your HTML manual.

37

JSP directives A JSP directive is a global definition sent to the JSP engine that remains valid regardless of any specific requests made to the JSP page. A directive always appears at the top of the JSP file, before any other JSP tags. This is due to the way the JSP parsing engine produces servlet code from the JSP file. The syntax of a directive is: <%@ directive directive_attr_name = value %>

Directives are grouped as follows: page:-The page directive defines page dependent attributes to the JSP engine.
<%@ page language="java" buffer="none" isThreadSafe="yes errorPage="/error.jsp" %>

The attributes of the page directive are listed in Table 1. Table 2. Attributes of the page directive

38

include:-The include directive allows substitution of text or code to occur at translation time. You can use the include directive to provide a standard header on each JSP page, for example: <%@ include file="copyright.html" %>

39

The include directive has the attributes shown in Table 3.

taglib:-The taglib directive allows custom extensions to be made to the tags known to the JSP engine. This tag is an advanced feature. Refer to the Sun JavaServer Page 1.0 specification for more information about this tag.

Declarations A declaration block contains Java variables and methods that are called from an expression block within the JSP file. Code within a declaration block is usually written in Java, however, the WebSphere application server supports declaration blocks containing other script syntax. Code within a declaration block is often used to perform additional processing on the dynamic data generated by a JavaBean property. The syntax of a declaration is: <%! declaration(s) %> For example: <%! private int getDateCount = 0; private String getDate(GregorianCalendar gc1) { ...method body here...} %> Scriptlets

JSP supports embedding of Java code fragments within a JSP by using a scriptlet block. Scriptlets are used to embed small code blocks within the JSP page, rather than to declare entire methods as performed in a declarations block. The syntax for a scriptlet is: <% scriptlet %>

40

The following example uses a scriptlet to output an HTML message based on the time of day. You can see that the HTML elements appear outside the script declarations. <% if (Calendar.getInstance().get(Calendar.AM_PM) == Calendar.AM) {%> How are you this morning? <% } else { %> How are you this afternoon? <% } %> Comments You can use two types of comments within a JSP. The first comment style, known as an output comment, enables the comment to appear in the output stream on the browser. This comment is an HTML formatted comment whose syntax is: <!-- comments ... --> The second comment style is used to fully exclude the commented block from the output and is commonly used when uncommenting a block of code that so that the commented block is never delivered to the browser. The syntax is: <%-- comment text --%> You can also create comments containing dynamic content by embedding a scriptlet tag inside a comment tag. For example: <!-- comment text <%= expression %> more comment text ->

Expressions Expressions are scriptlet fragments whose results can be converted to String objects and subsequently fed to the output stream for display in a browser. The syntax for an expression is: <%= expression %> Typically, expressions are used to execute and display the String representation of variables and methods declared within the declarations section of the JSP, or from JavaBeans that are accessed by the JSP. If the conversion of the expression result is unsuccessful, a

41

ClassCastException is thrown at the time of the request. The following example calls the incrementCounter method declared in the declarations block and prints the result. <%= incrementCounter() %> All primitive types such as short, int, and long can be automatically converted to Strings. Your own classes must provide a toString method for String conversion.

WebSphere extensions to JSP scripting WebSphere Application Server Version 3 offers a number of enhancements over the JSP 1.0 specification and includes the ability to: Use non-Java scripting languages within JSP pages. Use multiple scripting languages within the same JSP file. Table 4. WebSphere scripting language extensions

Accessing implicit objects When you are writing scriptlets or expressions, there are a number of objects that you have automatic access to as part of the JSP standard without having to fully declare them or import them. Table 4 summarizes these implicit objects available in JSP 1.0. You can use these implicit objects directly in your code. The following code snippet is an example of accessing the out implicit object to display a line of text in the browser: out.println ("Here is the <b>Date Display JSP</b>");

42

Table 5. Summary of implicitly declared objects

Calling a servlet from a JSP You can invoke a servlet from a JSP either as an action on a form, or directly through the jsp: include or jsp:forward tags. Form action Typically, you want to call a servlet as a result of an action performed on a JavaServer Page. For example, you may want to process some data entered by the user in an HTML form when they click on the Submit button. To invoke a servlet within the HTML <FORM> tag, the syntax is: <FORM METHOD="POST|GET" ACTION="application_URI/JSP_URL"> <!-- Other tags such as text boxes and buttons go here --> </FORM>
43

For example: <form method="POST"action="/itsoservjsp/servlet/itso.servjsp.jspsamples.DateDisplaySer vlet"> JSP include tag You can include the output of a servlet in a JSP using the jsp.include tag: <jsp:include page="/servlet/itso.servjsp.servletapi.SHTMLServlet" /> JSP forward tag You can forward processing from a JSP to a servlet using the jsp. forward tag: <jsp: forward page="/servlet/itso.servjsp.servletapi.SHTMLServlet" />

Calling a JSP from a servlet The servlet simply calls the sendRedirect method of the HttpServletResponse object, directing the response to the DateDisplay.jsp. This example simply demonstrates the redirection capability of the response object. In reality, the doPost method could invoke other methods which process the form data, instantiate other beans that perform the business logic, and finally redirect the user to the JSP. import javax.servlet.http.*; public class DateDisplayServlet extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws javax.servlet.ServletException, java.io.IOException { // Redirect to the DateDisplay JSP page resp.sendRedirect ("/DateDisplay.jsp"); // alternate call to JSP // getServletContext().getRequestDispatcher("/DateDisplay.jsp").forward(req,resp); } }

Invoking a JSP from a JSP


44

To invoke a JSP file from another JSP file, you can: Specify the URL of the second JSP file on the FORM ACTION attribute: <FORM action="/itsoservjsp/DateDisplay.jsp"> Specify the URL of the second JSP file in an anchor tag HREF attribute: <a href="JSP_URL"> reference-text </a> Use the javax.servlet.http.RequestDispatcher.forward method to invoke the second JSP file (see Request dispatching on page 81). This is the same as using the jsp:forward tag. Advantage of JSP Here are some of the advantages of using JSP technology over other methods of dynamic content creation: Separation of dynamic and static content This allows for the separation of application logic and Web page design, reducing the complexity of Web site development and making the site easier to maintain. Platform independence Because JSP technology is Java-based, it is platform independent. JSPs can run on any nearly any Web application server. JSPs can be developed on any platform and viewed by any browser because the output of a compiled JSP page is HTML. Component reuse Using JavaBeans and Enterprise JavaBeans, JSPs leverage the inherent reusability offered by these technologies. This enables developers to share components with other developers or their client community, which can speed up Web site development. Scripting and tags JSPs support both embedded JavaScript and tags. JavaScript is typically used to add page-level functionality to the JSP. Tags provide an easy way to embed and modify JavaBean properties and to specify other directives and actions.

Comparison between JSP and other technologies JSP vs. Active Server Pages (ASP). ASP is a similar technology from Microsoft. The advantages of JSP are Saturday, March 13, 2004two fold. First, the dynamic part is written in Java, not Visual Basic or other MS-specific language, so it is more powerful and easier to use. Second, it is portable to other operating systems and non-Microsoft Web servers.
45

JSP vs. Pure Servlets. JSP doesn't give you anything that you couldn't in principle do with a servlet. But it is more convenient to write and to modify regular HTML than to have a million println statements that generate the HTML, by separating the look from the content, you can put different people on different tasks. Your Web page design experts can build the HTML, leaving places for your servlet programmers to insert the dynamic content. JSP vs. JavaScript. JavaScript can generate HTML dynamically on the client. This is a useful capability, but only handles situations where the dynamic information is based on the client's environment. With the exception of cookies, HTTP and form submission data is not available to JavaScript. And, since it runs on the client, JavaScript can't access server-side resources like databases, catalogs and pricing information, to understand the distinction between Java Script and Java Server Pages. Java Script code is generally executed by the web client (browser) after the web server sends the HTTP response. Java Server Pages are executed by the web server before the web server sends the HTTP response. In fact, JSP is what creates the HTTP response. Thus, Java Script is said to be a Client Side technology. Its underlying code can be viewed by the web user, while Java Server Pages are a Server Side technology and its underlying code is not exposed to web users. JSP is processed by the web server before result reaches the client. JSP vs. Static HTML. Regular HTML, of course, cannot contain dynamic information. JSP is so easy and convenient that it is quite feasible to augment HTML pages that only benefit marginally by the insertion of small amounts of dynamic data. Previously, the cost of using dynamic data would prevent its use in all but the most valuable instances.

DATABASE A collection of programs that enables you to store, modify, and extract information from a database. Information of the users gets stored in a relational database. The application works well with MS- Access as database, it also works well with SQL Server 2000 and Oracle. Data Manipulation Language (DML) is used to modify the data present in database: SELECT - extracts data from a database table UPDATE - updates data in a database table DELETE - deletes data from a database table INSERT INTO - inserts new data into a database table
46

The Data Definition Language (DDL) is used to define the data: CREATE TABLE - creates a new database table ALTER TABLE - alters (changes) a database table DROP TABLE - deletes a database table CREATE INDEX - creates an index (search key) DROP INDEX - deletes an index Java Database connectivity (JDBC) JDBC technology is an API that lets us access virtually any tabular data source from the Java programming language. It provides cross-DBMS connectivity to a wide range of SQL databases, and now, with the new JDBC API, it also provides access to other tabular data sources, such as spreadsheets or flat files.

HTML HTML was invented in 1990 by a scientist called Tim Berners-Lee. Short for Hyper Text Markup Language, the authoring language used to create documents on the World Wide Web. HTML is similar to SGML, although it is not a strict subset. HTML defines the structure and layout of a Web document by using a variety of tags and attributes. The correct structure for an HTML document starts with <HTML><HEAD> (enter here what document is about)<BODY> and ends with </BODY></HTML>. All the information you'd like to include in your Web page fits in between the <BODY> and </BODY> tags. There are hundreds of other tags used to format and layout the information in a Web page. Tags are also used to specify hypertext links. These allow Web developers to direct users to other Web pages with only a click of the mouse on either an image or word(s).

CSS Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can also be applied to any kind of XML document, including plain XML, SVG and XUL. CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as
47

the layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in the structural content (such as by allowing for table less web design). It can also be used to allow the web page to display differently depending on the screen size or device on which it is being viewed. While the author of a document typically links that document to a CSS style sheet, readers can use a different style sheet, perhaps one on their own computer, to override the one the author has specified. The CSS specifications are maintained by the World Wide Web Consortium (W3C).

JAVASCRIPT JavaScript is a scripting language you can use in conjunction with HTML to create interactive Web pages. A scripting language is a programming language thats designed to give folks easy access to prebuilt components. In the case of JavaScript, those prebuilt components are the building blocks that make up a Web page (links, images, plug-ins, HTML form elements, browser configuration details, and so on). JavaScript has a reputation of being easy to use because the bulk of the document object model (the portion of the language that defines what kind of components, or objects, you can manipulate in JavaScript) is pretty straightforward. For example, if we want to trigger some kind of event when a person clicks a button, we access the onClick event handler associated with the button object; if we want to trigger an event when an HTML form is submitted, you access the onSubmit event handler associated with the form object. Features of JavaScript: JavaScript supports much of the structured programming syntax from C As in most scripting languages, types are associated with values, not

with variables. JavaScript supports various ways to test the type of an object, including duck typing. JavaScript is officially managed by Mozilla Foundation, and new language features are added periodically. JavaScript typically relies on a run-time environment (e.g. in a web browser) to provide objects and methods by which scripts can interact with "the outside world".
48

SYSTEM SPECIFICATION
SOFTWARE SPECIFICATION Client on Internet : Web browser(any),operating system(any) Client on Intranet : Client software, Web Browser, Operating System (any) Web server : Apache Tomcat or Glassfish, Operating System(any) Database Server : MS-access, Operating System(Microsoft Windows<any version>) Development End: Net beans (J2EE, Java, Servlets, JSP), MS- Access (DB tool). HARDWARE SPECIFICATION PC with 2GB or more hard disk 256 MB or more RAM

49

TABLE STRUCTURE
REGISTER Name NAME USERNAME GENDER PASSWORD CPASSWORD DOB ADDRESS CITY STATE PIN ACCOUNTNO EMAIL MOBILENO ACCOUNTTYPE BRANCH Attribute Type VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER VARCHAR2 NUMBER VARCHAR2 VARCHAR2 25 25 25 Attribute Size 25 20 20 20 20 15 50 20 20

TRANSACTION Name USERNAME BALANCE DEBIT CREDIT DATES NARRATION Attribute Type VARCHAR2 NUMBER NUMBER NUMBER DATE VARCHAR2 30 Attribute Size 20

50

ACCOUNT DETAILS Name NAME USERNAME ADDRESS ACCOUNTNO ACCOUNTTYPE BRANCH BALANCE1 INTEREST MOBILENO DOCUMENT DATES GUARDIAN DOB Attribute Type VARCHAR2 VARCHAR2 VARCHAR2 NUMBER VARCHAR2 VARCHAR2 NUMBER NUMBER NUMBER VARCHAR2 DATE VARCHAR2 VARCHAR2 30 15 50 25 25 Attribute Size 25 20 50

FEEDBACK Name NAME ACCOUNTNO MOBILE REVIEWS EMAIL Attribute Type VARCHAR2 NUMBER NUMBER VARCHAR2 VARCHAR2 30 70 Attribute Size 20

51

CHECKBOOK Name ACCOUNTNO SUBCATEGORY USERNAME CBNO CBLEAVES Attribute Type NUMBER VARCHAR2 VARCHAR2 NUMBER NUMBER 15 30 Attribute Size

52

PROJECT IMPLEMENTATION
e-banking the site demonstrating the proposed system of online banking thereby providing the facilities to the customer to enjoy the service of the bank without visiting to the particular bank branch which leads to time saving , it is convenient to access ,reduce the risk of carrying heavy cash. HOMEPAGE This is the front page/homepage of the project. The customer can login to the website through his valid username and password. Person can view the profile of e-banking, also give the feedback of the services provided by the website. New customer has to register before accessing the services of the website.

53

VISION

FEATURES The feature of e-banking is stated in this page.

54

FEEDBACK This site facilitates the customer to give reviews about the services provided by the banking and modulate the service in order to provide best service to its customer.

CONTACT US

55

REGISTER New users have to first register to the website in order to enjoy the services of the ebanking. All the fields are mandatory. When all the details are entered by the customer then click on Submit button and login with your valid username and password or if you want to reset the page then click on reset button and you will get the blank registration page. Read and accept the terms and condition before confirmation.

56

SERVICES User have to login through his login name and password to access the internet services of e-banking. 1. Account Statement User can view his account statement by specifying the start date and end date. It will list the transaction made between the start date and end date.

2. Account Summary You can view the summary of your account through e-banking.

57

3. Transfer Customer can transfer funds from his account to any other account in the same bank by specifying the his account number, the account number in which he has to transfer the funds and the amount to be transfer.

4. New Account Customer can create either his new saving account or current account. Click on the required account field which will direct you to fill the form of the respective account. After filling all the entries click on the submit button and your account will be created.

58

Saving Account Customer has to fill the Saving Account form to create a new Saving Account. A saving account is a deposit account in a bank that pays interest on your balance though banks require that you have at least a minimum amount in the account to qualify for earning.

Current Account Customer has to fill the Current Account form to create a new Current Account. Current Account is primarily meant for businessmen, firms, companies, and public enterprises etc. that have numerous daily banking transactions.

59

5. Deposit Customers can deposit cash which will be credited to the account on the same day.

6. Withdrawal Customer can withdraw cash from his account through e-banking without going to the bank and doing paper work, thereby consuming time.

60

7. Balance Enquiry Customer can know his current balance with the help of e-banking by just clicking on the account number whose balance you have to enquire.

8. Issue Cheque Book Customer can request for the cheque book, mentioning the number of cheque book, number of leaves in it and instrument subcategory.

61

PROS AND CONS


The features available from an e-banking are similar to those which are available other banking services or visiting the local branch. e-banking features do differ between the banks, but usually include: Transfer of funds between accounts; It brings efficiency in CRM(Customer relationship management) View balance and statements. Brings door to door services Create, view and maintain Standing Orders Have evolutionary trend at a global scenario. Customer can View Direct Debits
.

ADVANTAGE OF e-banking Opening & closing of accounts It gives reliefs to their customer from carrying heavy cash. Enables prompt & speedy operation to clients. It saves lot of time to their customers and convenient to access DISADVANTAGE OF e-banking Customer may have to face risky transaction & fraud. Failure of power supply cause to break down of system. Loss of heavy income at times of settlement of higher magnitude. Cost involved in training staff may not be profitable especially i n times of attrition. Development of an attitude of lethargy.

62

CONCLUSION
This project is a result of Six (6) months of continuous effort. But six months are not enough time to accomplish such a project in its entirety. It has been a daunting task on a part at each step of the project implementation. As computer professional of the next century, it would not be wrong to option for open source programming. The e-banking System is developed using java (jsp), Servlet and sql fully meets the objectives of the system for which it has been developed. This project developed, incorporated all the activities involved in the browsing centre. It provides all necessary information to the management as well as the customer with the use of this system; the user can simply sit in front of the system and monitor all the activities without any physical movement of the file. Management can service the customers request best in time. The system provides quickly and valuable information. These modules have been integrated for effective use of the management for future forecasting and for the current need. Thus, providing new era to access the internet for common public application and promises the fast and effective solutions to the current problems prevailing in the market between client and service provider.

63

FUTURE SCOPE
The system can be designed for further enhancement .This could also be developed according to the growing needs of the customer. There have been numerous cases of computer glitches, errors in content, and security lapses reported in online banking .So in the near future the so called software could be made more secure and reliable in order to provide comfort ability to our customer. While electronic glitches are rare, they have been known to occur, for instance when computer crashes voided the efforts of thousands of customer. There are also cases in which the correction software has corrupted database so the software can be programmed well so as to avoid corrupted information.

64

REFRENCES AND BIBLOGRAPHY


REFRENCES http://www.scribd.com www.wikipedia.com www.sbi.com www.idbi.com www.bankofbaroda.com www.rbi.com www.roseindia.net www.w3schools.com http://www.webopedia.com http://jakarta.apache.org/tomcat/tomcat-4.0-doc/ssl-howto.html http://java.sun.com BIBLOGRAPHY Ivan Bayross The programming language of Oracle Ueli Wahli, Mitch Fielding, Gareth Mackown, Deborah Shaddon, Gert Hekkenberg Servlet and JSP Programming with IBM WebSphere Studio and Visual Age for Java . Emily Vander VeerJavaScript for Dummies 4th Edition. Kathy Sierra Java 2 Professional JavaScript for Web Developer. Herbert SchildtComplete Reference J2EE.

65

You might also like