ezeemailsystem

93
Ezee Mail System

Upload: swami123456

Post on 20-Nov-2014

112 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EzeeMailSystem

Chapter 1

Ezee Mail System

Page 2: EzeeMailSystem

Abstract

Page 3: EzeeMailSystem

Abstract

This Ezee Mail System is designed to provide a communication channel inside an

organization between different clients (Organization staff) on the network. The main

objective of the project is to develop a fully functional Ezee Mail System that enhances

Page 4: EzeeMailSystem

communications among the members of the organization in a reliable, cost-effective and

secure way. Thus it helps the organization to improve the performance of its teams in

the corporate sector. This system design shall be able to provide the following facilities

to the users:

System shall accept the mails from authorized users providing security. Submitted

messages will be delivered to appropriate person only. Provides the facility to review

messages from the respective folders. Effective Communication has become an integral

part of organizations today. The rapid development of intranets may provide

construction and design teams with an innovative tool for meeting these growing

communication challenges.

A project specific intranet uses a database server to store mails information and

the organizational information such as users details including the personal information

and information requests. Teams members can be then access this information using the

Ezee Mail System. As information changes, the server content can be easily updated with

new or revised data. This flexible approach allows geographically remote project teams

to access timely, consistent and accurate information without expensive typesetting,

printing, distribution and mailing charges.

Chapter 2

Page 5: EzeeMailSystem

P r o j e c t S y n o p s i s

Page 6: EzeeMailSystem

Synopsis-Introduction

Page 7: EzeeMailSystem

This Ezee Mail System is to provide a communication system in an organization,

which takes the chance of establishing channel for sending and receiving the information

between the users. The main objective of the project is to develop a fully functional Ezee

Mail System that enhances communications among the members of the organization in a

reliable, cost-effective and secure way. Thus it helps the organization to improve the

performance of its teams in conducting the organizational works the corporate sector.

This system design shall be able to provide the following facilities to the users.

The user can access this mailing system for sending the information to other users

of the same organization. He is also provided with login and logout services, service of

checking into the mails through the inbox, sending the mails using compose service,

checking the sent mails list, creating and deleting the folders in association to the user

involved in the communication. User is also provided with the flexibility of maintaining

the address book in the mailing system through which he can store the details of his

contacts. Users of the Ezee Mail System are also provided with the chance to change the

password of his account through the options service designed.

This system is to be designed with user flexible screens through which user can

navigate through the mailing system and access the above services for the basic

purpose of communication.

Chapter 3

Page 8: EzeeMailSystem

S y s t e m C o n fi g u r a t i

o n

Page 9: EzeeMailSystem

System Configuration

Software Requirements:

Operating System

Windows 2000/XP (Client/Server).

Software requirements

Page 10: EzeeMailSystem

Web-Server: Tomcat Server.

Front-end: HTML, JavaScript.

Communication Architecture: Servlets.

Database maintenance: Oracle 8i.

Client Browsers: Internet Explorer or Netscape Navigator.

Hardware Requirements:

Hardware Configuration

Pentium III Processor with 700 MHz Clock Speed

128 MB RAM, 20 GB HDD, 32 Bit PCI Ethernet Card.

Chapter 4

Page 11: EzeeMailSystem

Sys tem Ana lys i s

Page 12: EzeeMailSystem

Fe a s i b i l i ty S t u d y

Page 13: EzeeMailSystem

Fact Finding Techniques

In this system we are going to develop a facility to a user that he will not face any

difficulty at the time of usage like data missing, one way contacts, one view contacts. As

we are developing this system with distributed architecture and security services the

system is expected to be very flexible and user friendly in providing the file and directory

services. As we are maintaining one technique of checking the user at every activity

initiation we are able to achieve the standards of the communication.

Page 14: EzeeMailSystem

Feasibility Study

A feasibility study is a high-level capsule version of the entire System analysis and

Design Process. The study begins by classifying the problem definition. Feasibility is to

determine if it’s worth doing. Once an acceptance problem definition has been

generated, the analyst develops a logical model of the system. A search for alternatives

is analyzed carefully. There are 3 parts in feasibility study.

Operational Feasibility

Question that going to be asked are

Will the system be used if it developed and implemented.

If there was sufficient support for the project from the management and from

the users.

Have the users been involved in planning and development of the

Project.

Will the system produce poorer result in any respect or area?

This system can be implemented in the organization because there is adequate

support from management and users. Being developed in Java so that the necessary

operations are carried out automatically.

Technical feasibility

Does the necessary technology exist to do what is been suggested

Does the proposed equipment have the technical capacity for using the new

system?

Are there technical guarantees of accuracy, reliability and data security?

The project is developed on Pentium III with 128 MB RAM.

The environment required in the development of system is any windows

platform.

The observer pattern along with factory pattern will update the results

eventually.

The language used in the development is JAVA J2SDK1.4.0, Servlets, JDBC, Tomcat

Server and database as Oracle 8i.

Page 15: EzeeMailSystem

Financial and Economical Feasibility

The system developed and installed will be good benefit to the organization. The

system will be developed and operated in the existing hardware and software

infrastructure. So there is no need of additional hardware and software for the system.

The System developed can reduce the cost overheads of the organization in providing

the internet services for establishing the communication channel between the

organization staff in conducting the organizational works in smoother and time effective

manner.

E x i s t i n g a n d

P r o p o s e d S y s t e m

Page 16: EzeeMailSystem

Existing System

In the Existing system of communication the data transfer between the different

individuals of the organization in conducting the works for the company is a cost

effective and not a reliable architecture where even the security standards are very low.

In the traditional 2-tier architecture there existed only the server and the client. In most

cases the server was only a data base server that can only offer data. Therefore majority

of the business logic i.e., validations etc. had to be placed on the clients system. This

makes maintenance expensive. Such clients are called as ‘fat clients’. This also means

that every client has to be trained as to how to use the application.

Page 17: EzeeMailSystem

Since the actual processing of the data takes place on the remote client the data

has to be transported over the network. As a rule this leads to increased network stress

(Load). The client also controls how to conduct the transactions. Advanced techniques

like two-phase-committing can’t be run. PCs are considered to be "un-trusted" in terms

of security, i.e. they are relatively easy to crack. Nevertheless, sensitive data is

transferred to the PC, for lack of an alternative.

Application logic can’t be reused because it is bound to an individual PC-program.

The 2-tier-model implies a complicated software-distribution-procedure: as all of the

application logic is executed on the PC, all those machines (maybe thousands) have to

be updated in case of a new release. This can be very expensive, complicated, prone to

error and time consuming. Distribution procedures include the distribution over networks

(perhaps of large files) or the production of an adequate media like floppies or CDs. Once

it arrives at the user’s desk, the software first has to be installed and tested for correct

execution. Due to the distributed character of such an update procedure, system

management cannot guarantee that all clients work on the correct copy of the program.

Proposed System

The proposed system should have the following features. The Webserver Interface

should be as simple as possible so that the server can be configured easily. The

transactions should take place transparently. The validation code should be placed on

the server and not on the client. This leads to a thin client, which is more desirable. The

server should identify the type of request (GET/POST) and perform appropriate action. It

Page 18: EzeeMailSystem

should also identify the file requested (HTML/CGI) and run the required process at the

server if necessary. When responding to the client, the server should send necessary

information such as Content – Length, MIME types etc.

To offset the above-mentioned problems, 3-tier architecture is proposed. A middle

ties called as the application server is introduced. This is also known as the Web server.

The following are the advantages in the Webserver.

Clear separation of user-interface-control and data presentation from application-

logic. Through this separation more clients are able to have access to a wide variety

of server applications. The two main advantages for client-applications are clear:

quicker development through the reuse of pre-built business-logic components and a

shorter test phase, because the server-components have already been tested.

Re-definition of the storage strategy won’t influence the clients. RDBMS’ offer a

certain independence from storage details for the clients. However, cases like

changing table attributes make it necessary to adapt the client’s application. In the

future, even radical changes, like let’s say switching form an RDBMS to an OODBS,

won’t influence the client. In well designed systems, the client still accesses data over

a stable and well designed interface which encapsulates all the storage details.

Business-objects and data storage should be brought as close together as possible,

ideally they should be together physically on the same server. This way - especially

with complex accesses - network load is eliminated. The client only receives the

results of a calculation - through the business-object, of course.

In contrast to the 2-tier model, where only data is accessible to the public, business-

objects can place applications-logic or "services" on the net. As an example, an

inventory number has a "test-digit", and the calculation of that digit can be made

available on the server.

As a rule servers are "trusted" systems. Their authorization is simpler than that of

thousands of "un-trusted" client-PCs. Data protection and security is simpler to

obtain. Therefore it makes sense to run critical business processes, which work with

security sensitive data, on the server.

Dynamic load balancing: if bottlenecks in terms of performance occur, the server

process can be moved to other servers at runtime.

Change management: It is easy and faster to exchange a component on the server

than to furnish numerous PCs with new program versions.

Page 19: EzeeMailSystem

Ana lys i sRepor t

Page 20: EzeeMailSystem

System Analysis

People for long time have tried to sort out the problems faced in the postal system

but as these problems exist even now, a parallel mailing system evolved and came to be

known as the Ezee Mail System. The advantages of this mailing system are:

Security

Cost effective

Less Mailing Time

Gift Incentives

The Ezee Mail System is applicable with in an organization only. In this fast

growing world where every qualified person is in urgent need of a job and they join

places where they even need to work in odd times. The organizations have shift systems

and it becomes difficult for an employee of one shift to communicate with another

Page 21: EzeeMailSystem

employee of a different shift. In these circumstances the Ezee Mail System proves its

worth.

If the organizations have an Intranet mailing facility, then each employee can

register himself/herself and send mails to any other registered employee and thus can

establish communication and perform the prescribed tasks in less time. Also the

employees do not have to pay for the mails but can avail this facility free of cost. The

mail that the employee sends reaches the destination within no time. Although the Ezee

Mail System works in similar fashion as that of an Internet mailing system, but here there

is no need to get an Internet connection for this mailing system. The various branches of

the organization can be connected to a single host server and then an employee of one

branch can send a message to the employee of another branch through the server.

Page 22: EzeeMailSystem

Chapter 5

Page 23: EzeeMailSystem

Sys tem Des ign

Page 24: EzeeMailSystem

System Design

The System Design includes the maintenance of the user information, their login

details, authorization services, details of the messages with respect to the user logged

into and their accessibility information in the database server. The design also includes

the provision of facility to the user to manipulate the concerned information according to

his personal use and communication process.

The design also needs to provide the communication channel to the user to

communicate with other registered users through the mailing services in a reliable and

secured format. Authorization and authentication services are preferred most for this

purpose.

The user is also expected to have the facility to store the information of his

communication links, to speed up the communication process i.e. the process of

maintaining the details, which include the authentication of the other registered users,

and their detailed information required for the communication process. The user is also

to be provided with manipulation facility of the details maintained with his Mail ID.

Page 25: EzeeMailSystem

Chapter 6

Page 26: EzeeMailSystem

Sys tem Desc r ip

t i on

Page 27: EzeeMailSystem

System Description

This Ezee Mail System is to provide a communication system in an organization,

which takes the chance of establishing channel for sending and receiving the information

between the users. The main objective of the project is to develop a fully functional Ezee

Mail System that enhances communications among the members of the organization in a

reliable, cost-effective and secure way. Thus it helps the organization to improve the

performance of its teams in conducting the organizational works the corporate sector.

This system design shall be able to provide the following facilities to the users.

The Mailing System is designed to support the following Features.

Inbox

Compose

Options

Folders

Address

Sent messages

Logout

Ezee Mail System is basically designed under the following modules. They are

Authentication Services

Login

Logout

Mailing transactions

Page 28: EzeeMailSystem

Inbox (Mail Checking/Receiving)

Compose (Mail Sending)

Sent (Outbox Mails)

Other transactions

Address Book Maintenance

Folders

Options

Authentication Services Module

This Module deals with basic architecture of handling the user details while they

register into the mailing system and checks for the authorization when they enter into

the mailing transactions module or the other transaction module while the purpose of

communication. In this module we maintain the details of users registered.

Mailing Transactions

Under this module we design the basic functionalities of the mailing system where

we concentrate on the services of the sending, receiving and detailed maintenance of

the records of the same. This module involves the constructs of database required for

the purpose, user interface screens and their connectivity.

Other Transactions

This module deals with the extra services to be provided to the users in utilizing

the mailing system for the communication in the organization. These services include the

options which deals with the change password activity, Address book, which deals with

the detailed maintenance of the contact information related to the users logged in, and

some features like Folders which are designed to redirect the mails in the inbox to a

folders depending on the user interest. Creation and deletion of folders by the users

explicitly is considered here.

Page 29: EzeeMailSystem

U M L C l a s s , C o l l a b o r a t i o

n , U s e C a s e , S e q

u e n c e & A c t i v i t y D i a g r a m s

Page 30: EzeeMailSystem

Serv_AddAddress

This diagram explains the constructs implemented in the servlet program for designing

the concept of adding addresses to the address book. The user is given flexibility to add

his contacts information into his database of the mailing system for his easy and faster

communication.

Page 31: EzeeMailSystem

Serv_AddFolder:

This class and collaboration diagram describes the parameters and methods used in the

constructing the service of adding folders to the accounts of various users using the Ezee

Mail System.

Page 32: EzeeMailSystem

Serv_Address:

This class and collaboration diagram describes the parameters and methods used in the

constructing the service of address book maintenance to the accounts of various users

using the Ezee Mail System.

Page 33: EzeeMailSystem

Serv_changePwd:

The change password class and collaboration diagram describes the parameters and

methods involved in the constructing the service of options provision for various users in

changing their passwords, in using the Ezee Mail System with security standards.

Serv_Compose:

Page 34: EzeeMailSystem

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of composing the mails to send to other users using the

Ezee Mail System. This design includes the maintenance of information regarding the

mail data, mail from, subject and mail to with the related details for the communication.

Serv_DeleteAddress:

This diagram explains the constructs implemented in the servlet program for designing

the concept of deleting addresses from the address book. The user is given flexibility to

Page 35: EzeeMailSystem

add his contacts information into his database of the mailing system for his easy and

faster communication.

Serv_DeleteCkd:

This diagram explains the constructs implemented in the servlet program for designing

the concept of deleting checked mails from the database. The users is given flexibility of

Page 36: EzeeMailSystem

getting into the mailbox and delete the mails he checked from the database for clearing

the memory contents and increase the space for next mails expected to be dropped in.

Serv_DeleteFolder:

This class and collaboration diagram describes the parameters and methods used in the

constructing the service of deleting folders from the account of the users using the Ezee

Mail System.

Page 37: EzeeMailSystem

Serv_DeleteMessage:

This diagram explains the constructs implemented in the servlet program for designing

the concept of deleting messages from the database. The users is given flexibility of

getting into the mailbox and delete the mails he checked from the database for clearing

the memory contents and increase the space for next mails expected to be dropped in.

Page 38: EzeeMailSystem

.

Serv_EditAddress:

This diagram explains the constructs implemented in the servlet program for designing

the concept of editing the contact address from the database. The user is given flexibility

of editing addresses of his account and change according to his desire and update with

the latest information.

Page 39: EzeeMailSystem

Serv_EditFolder:

This diagram explains the constructs implemented in the servlet program for designing

the concept of editing the folder information from the database. The user is given

flexibility of editing folders related to his account and change according to his desire and

update with the latest information.

Page 40: EzeeMailSystem

Serv_Enter:

This diagram explains the constructs implemented in the servlet program for designing

the concept of entering the information of mails into the folders.

Page 41: EzeeMailSystem

Serv_Folder:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of Folders in the Ezee Mail System. This design includes

the maintenance of information regarding the mail data, mail from, subject and mail to

with the related details folder stored into for the communication.

Page 42: EzeeMailSystem

Serv_Inbox:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of Inbox in the Ezee Mail System. This design includes

the maintenance of information regarding the mail data, mail from, subject and mail to

with the related details in the Inbox in the mail communication.

Page 43: EzeeMailSystem

Serv_Logout:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of Logout in the Ezee Mail System.

Page 44: EzeeMailSystem

Serv_ModifyAddress:

This diagram explains the constructs implemented in the servlet program for designing

the concept of modifying the addresses in the address book. The user is given flexibility

to add his contacts information into his database of the mailing system for his easy and

faster communication.

Page 45: EzeeMailSystem

Serv_ModifyFolder:

This diagram explains the constructs implemented in the servlet program for designing

the concept of modifying the folders information from the database. The user is given

flexibility of modifying folders related to his account and change according to his desire

and update with the latest information.

Page 46: EzeeMailSystem

Serv_MoveMessage:

This diagram explains the constructs implemented in the servlet program for designing

the concept of moving mails from the inbox to a desired folders in the database. The

user is given flexibility of moving mails from one folder to another folder related to his

account and change according to his desire and update with the latest information.

Page 47: EzeeMailSystem

Serv_NewAddress:

This diagram explains the constructs implemented in the servlet program for designing

the concept of entering the new addresses information into the database. The user is

given flexibility of adding new contact information related to his account and change

according to his desire and update with the latest information.

Page 48: EzeeMailSystem

Serv_NewFolder:

This diagram explains the constructs implemented in the servlet program for designing

the concept of creating the folders in the database. The user is given flexibility of

creating folders of his interest in his account and change according to his desire and

update with the latest information.

Page 49: EzeeMailSystem

Serv_Option:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of Option in the Ezee Mail System. This design includes

the maintenance of Option to the user to change the password.

Page 50: EzeeMailSystem

Serv_SeeMessage:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of viewing the messages from the inbox sent by other

users.

Page 51: EzeeMailSystem

Serv_Send:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of sending the mails to other users using the Ezee Mail

System.

Page 52: EzeeMailSystem

Serv_SentMessages:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of viewing the sent messages from the database of the

Ezee Mail System.

Page 53: EzeeMailSystem

Serv_SignmeUp:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of signing up a new user into the database with his

detailed information into the organization.

Page 54: EzeeMailSystem

Serv_SignUp:

This construct of class and collaboration diagram describes the parameters and methods

used in the designing the service of logging in into the mailing system for accessing the

service provided and utilizing the system for the communication.

Page 55: EzeeMailSystem
Page 56: EzeeMailSystem

Sign-up

Compose

Login

Inbox

Folder management

Contacts

Options

Sent items

Move msg to folders

Delete msg’s

Employee

Use case diagram:

Page 57: EzeeMailSystem

LoginServ-Address

Serv-Add Address

Serv-ModifyAddress

Serv-DeleteAddress Logout

login ()

add ()

Edit ()

Delete ()

Logout()

Sequence diagram1:

Page 58: EzeeMailSystem

Serv-sign up

Serv-signup

LoginServ-Compose

ComposeAction

Serv-inbox

View Mails

Servv-sentMessages

Sign-up()

Login () ()

Select ()

Send ()

Select ()

View ()

view ()

Logout

Logout ()

Sequence Diagram2:

Page 59: EzeeMailSystem

Sign up

Add contacts

Edit contacts

Login

Compose

Inbox

View messages

Delete messages

Move messages sentMessages

Delete folder

Edit folder

Create folder

Change password

View sent messages

Store sent messages

Delete contacts

Mailing transactions Other options

Activity Diagram:

Page 60: EzeeMailSystem

S o f t w a r e O v e r v i e w

Page 61: EzeeMailSystem

Servlets

Servlets are modules that extend request/response-oriented servers, such as Java-

enabled web servers. For example, a servlet might be responsible for taking data in an

HTML order-entry form and applying the business logic used to update a company's

order database.  

Servlets are to servers what applets are to browsers. Unlike applets, however, servlets

have no graphical user interface.

Servlets can be embedded in many different servers because the servlet API, which you

use to write servlets, assumes nothing about the server's environment or protocol.

Servlets have become most widely used within HTTP servers; many web servers support

the Servlet API.

The ServletRequest Interface

The ServletRequest interface allows the servlet access to:

Page 62: EzeeMailSystem

Information such as the names of the parameters passed in by the client, the

protocol (scheme) being used by the client, and the names of the remote host that

made the request and the server that received it.

The input stream, ServletInputStream. Servlets use the input stream to get data

from clients that use application protocols such as the HTTP POST and PUT

methods.

Interfaces that extend ServletRequest interface allow the servlet to retrieve more

protocol-specific data. For example, the HttpServletRequest interface contains methods

for accessing HTTP-specific header information.  

The ServletResponse Interface

The ServletResponse interface gives the servlet methods for replying to the client. It:

Allows the servlet to set the content length and MIME type of the reply.

Provides an output stream, ServletOutputStream, and a Writer through which the

servlet can send the reply data.

Interfaces that extend the ServletResponse interface give the servlet more protocol-

specific capabilities. For example, the HttpServletResponse interface contains methods

that allow the servlet to manipulate HTTP-specific header information  

About Html

HTML (hyper text markup language) is a language used to create hypertext documents

that have hyper links embedded in them. It consists of tags embedded in the text of a

document with HTML. We can build web pages or web document s. it is basically a

formatting language and not a programming language. The browser reading the

document interprets mark up tags to help format the document for subsequent display

to a reader. HTML is a language for describing structured documents. HTML is a platform

independent. WWW (world wide web) pages are written using HTML. HTML tags control

in part the representation of the WWW page when view with web browser. The browser

Page 63: EzeeMailSystem

interprets HTML tags in the web document and displays it. Different browsers show data

differently. Examples of browsers used to be web pages include:

Netscape

Internet Explorer

<html>

<head><title>Welcome To Ezee Mail System</title></head>

<body bgcolor=#40004>

<pre>

<center><h1><font color=white size=+3 face=mscomic><img

src="wel1.gif"></font></center></h1>

<center><h1><font color=white size=+3 face=mscomic>Ezee Mail

System</font></center></h1>

<center><img src="email.gif" border=0></center>

<center><h1><u><a href="loginsc.html"><font color=yellow>-------Enter into the

WebPage-------</h1></a></center></font>

</pre>

</body>

</html>

Java And Internet

Java is strongly associated with Internet and known as Internet programming

language. Internet users can use java to create applet programs and run them locally

using java enabled browser search as hot java. Applets can be downloaded from remote

machine via Internet and run it on local machine.

Java And World Wide Web

World wide web is an open-ended information retrieval system designed for the

use in the distributed environment. This system contains web pages that provide both

information and controls. We can navigate to a new web page in any direction. This is

made possible with HTML. Java was meant to be used in the distributed environment

such as Internet. So java could be easily incorporated into the web system and is

capable of supporting animation graphics, games and other special effect. The web has

Page 64: EzeeMailSystem

become more dynamic and interactive with support of java. We can run a java program

on remote machine over Internet with the support of web.

All About JDBC (Java Database Connectivity)

The first thing you need to do is check that you are set up properly. This involves

the following steps:

1. Install Java and JDBC on your machine.

To install both the Java tm platform and the JDBC API, simply follow the

instructions for downloading the latest release of the JDK tm (Java Development

Kit tm ). When you download the JDK, you will get JDBC as well. The sample code

demonstrating the JDBC 1.0 API was written for JDK1.1 and will run on any version

of the Java platform that is compatible with JDK1.1, including JDK1.2. Note that the

sample code illustrating the JDBC 2.0 API requires JDK1.2 and will not run on

JDK1.1.

2. Install a driver on your machine.

Your driver should include instructions for installing it. For JDBC drivers written

for specific DBMS, installation consists of just copying the driver onto your

machine; there is no special configuration needed. The JDBC-ODBC Bridge driver is

not quite as easy to set up. If you download either the Solaris or Windows versions

of JDK1.1, you will automatically get the JDBC-ODBC Bridge driver, which does not

itself require any special configuration. ODBC, however, does. If you do not

already have ODBC on your machine, you will need to see your ODBC driver

vendor for information on installation and configuration.

3. Install your DBMS if needed.

If you do not already have a DBMS installed, you will need to follow the

vendor's instructions for installation. Most users will have a DBMS installed and

will be working with an established database.

Page 65: EzeeMailSystem

Setting Up a Database

We will assume that the database Mailing System already exists. (Creating

a database is not at all difficult, but it requires special permissions and is normally

done by a database administrator.) When you create the tables used as examples

in this tutorial, they will be in the default database. We purposely kept the size

and number of tables small to keep things manageable.

Suppose that our sample database is being used by the proprietor of a

small coffee house called “The Coffee Break”, where coffee beans are sold for the

pound and brewed coffee is served in the cup. To keep things simple, also

suppose that the proprietor needs only two tables, one for types of coffee and one

for coffee suppliers.

First we will show you how to open a connection with your DBMS, and then,

since what JDBC does is to send your SQL code to your DBMS, we will demonstrate

some SQL code. After that, we will show you how easy it is to use JDBC to pass

these SQL statements to your DBMS and process the results that are returned.

This code has been tested on most of the major DBMS products. However, you

may encounter some compatibility problems using it with older ODBC drivers with

the JDBC-ODBC Bridge.

Establishing a Connection

The first thing you need to do is establish a connection with the DBMS you

want to use. This involves two steps: (1) loading the driver and (2) making the

connection.

Loading Drivers

Loading the driver or drivers you want to use is very simple and involves

just one line of code. If, for example, you want to use the JDBC-ODBC Bridge

driver, the following code will load it:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Page 66: EzeeMailSystem

Your driver documentation will give you the class name to use. For instance,

if the class name is jdbc.DriverXYZ , you would load the driver with the following

line of code:

Class.forName("jdbc.DriverXYZ");

You do not need to create an instance of a driver and register it with the

DriverManager because calling Class.forName will do that for you automatically. If

you were to create your own instance, you would be creating an unnecessary

duplicate, but it would do no harm. When you have loaded a driver, it is available

for making a connection with a DBMS.

Making the Connection

The second step in establishing a connection is to have the appropriate

driver connect to the DBMS. The following line of code illustrates the general idea:

Connection con = DriverManager.getConnection(url,

"myLogin", "myPassword");

This step is also simple, with the hardest thing being what to supply for url .

If you are using the JDBC-ODBC Bridge driver, the JDBC URL will start with

jdbc:odbc: . The rest of the URL is generally your data source name or database

system. So, if you are using ODBC to access an ODBC data source called " Fred, "

for example, your JDBC URL could be jdbc:odbc:Fred . In place of " myLogin " you

put the name you use to log in to the DBMS; in place of " myPassword " you put

your password for the DBMS. So if you log in to your DBMS with a login name of "

Fernanda " and a password of " J8, " just these two lines of code will establish a

connection:

String url = "jdbc:odbc:Fred";

Connection con = DriverManager.getConnection(url, "Fernanda", "J8");

If you are using a JDBC driver developed by a third party, the

documentation will tell you what subprotocol to use, that is, what to put after jdbc:

Page 67: EzeeMailSystem

in the JDBC URL. For example, if the driver developer has registered the name

acme as the subprotocol, the first and second parts of the JDBC URL will be

jdbc:acme: . The driver documentation will also give you guidelines for the rest of

the JDBC URL. This last part of the JDBC URL supplies information for identifying

the data source.

If one of the drivers you loaded recognizes the JDBC URL supplied to the

method DriverManager.getConnection , that driver will establish a connection to

the DBMS specified in the JDBC URL. The DriverManager class, true to its name,

manages all of the details of establishing the connection for you behind the

scenes. Unless you are writing a driver, you will probably never use any of the

methods in the interface Driver, and the only DriverManager method you really

need to know is DriverManager.getConnection.

The connection returned by the method DriverManager.getConnection is an

open connection you can use to create JDBC statements that pass your SQL

statements to the DBMS. In the previous example, con is an open connection, and

we will use it in the examples that follow.

Chapter 7

Page 68: EzeeMailSystem

Te s t i n g &

D e b u g g in g

S t r a t e g ie s

Page 69: EzeeMailSystem

Testing

Testing is the process of detecting errors. Testing performs a very critical role for

quality assurance and for ensuring the reliability of software. The results of testing are

used later on during maintenance also.

Psychology of Testing

The aim of testing is often to demonstrate that a program works by showing that it

has no errors. The basic purpose of testing phase is to detect the errors that may be

present in the program. Hence one should not start testing with the intent of showing

that a program works, but the intent should be to show that a program doesn’t work.

Testing is the process of executing a program with the intent of finding errors.

Page 70: EzeeMailSystem

Testing Objectives

The main objective of testing is to uncover a host of errors, systematically and

with minimum effort and time. Stating formally, we can say,

Testing is a process of executing a program with the intent of finding an error.

A successful test is one that uncovers an as yet undiscovered error.

A good test case is one that has a high probability of finding error, if it exists.

The tests are inadequate to detect possibly present errors.

The software more or less confirms to the quality and reliable standards.

Levels of Testing

In order to uncover the errors present in different phases we have the concept of

levels of testing. The basic levels of testing are as shown below…

Client Needs

Requirements

Design

Code

System Testing

The philosophy behind testing is to find errors. Test cases are devised with this in

mind. A strategy employed for system testing is code testing.

Acceptance Testing

System Testing

Integration Testing

Unit Testing

Page 71: EzeeMailSystem

Code Testing

This strategy examines the logic of the program. To follow this method we

developed some test data that resulted in executing every instruction in the program

and module i.e. every path is tested. Systems are not designed as entire nor are they

tested as single systems. To ensure that the coding is perfect two types of testing is

performed or for that matter is performed or that matter is performed or for that matter

is performed on all systems.

Types Of Testing

Unit Testing

Link Testing

Unit Testing

Unit testing, focuses verification effort on the smallest unit of software i.e. the

module. Using the detailed design and the process specifications testing is done to

uncover errors within the boundary of the module. All modules must be successful in the

unit test before the start of the integration testing begins.

In this project each service can be thought of a module. There are three basic

modules. Giving different sets of inputs has tested each module. When developing the

module as well as finishing the development so that each module works without any

error. The inputs are validated when accepting from the user.

In this application developer tests the programs up as system. Software units in a

system are the modules and routines that are assembled and integrated to form a

specific function. Unit testing is first done on modules, independent of one another to

locate errors. This enables to detect errors. Through this errors resulting from interaction

between modules initially avoided.

Link Testing

Link testing does not test software but rather the integration of each module in

system. The primary concern is the compatibility of each module. The Programmer tests

where modules are designed with different parameters, length, type etc.

Page 72: EzeeMailSystem

Integration Testing

After the unit testing we have to perform integration testing. The goal here is to

see if modules can be integrated properly, the emphasis being on testing interfaces

between modules. This testing activity can be considered as testing the design and

hence the emphasis on testing module interactions.

In this project integrating all the modules forms the main system. When integrating all

the modules I have checked whether the integration effects working of any of the

services by giving different combinations of inputs with which the two services run

perfectly before Integration.

System Testing

Here the entire software system is tested. The reference document for this

process is the requirements document, and the goal is to see if software meets its

requirements. Here entire ‘VOIP’ has been tested against requirements of project and it

is checked whether all requirements of project have been satisfied or not.

Acceptance Testing

Acceptance Test is performed with realistic data of the client to demonstrate that

the software is working satisfactorily. Testing here is focused on external behavior of the

system; the internal logic of program is not emphasized. In this project ‘VOIP’ I have

collected some data and tested whether project is working correctly or not.

Test cases should be selected so that the largest number of attributes of an

equivalence class is exercised at once. The testing phase is an important part of

software development. It is the process of finding errors and missing operations and also

a complete verification to determine whether the objectives are met and the user

requirements are satisfied.

Page 73: EzeeMailSystem

Chapter 8

Page 74: EzeeMailSystem

O u t p u t S c r e e n s

Page 75: EzeeMailSystem

Chapter 9

Page 76: EzeeMailSystem

C o n c l u s i o n &

R e c o m m e n d at i o n s

Page 77: EzeeMailSystem

Conclusion

The efficiency of any system designed to suit the requirement depends

cooperation during the implementation stage and also flexibility of the system to adopt

itself to the client and system requirements. “Ezee Mail System” has been developed to

overcome the problems with traditional 2-tier Architecture.

As an evidence of this, by using the system developed one can communicate with

the other valid users of the Ezee Mail System. This is allowing the Users to view the mails

coming from different regions, allowing replies to them, and saving of their information

in the folders. It also allows us to store the other users details in the address book.

Reliability

For a Service of this nature, the need to be available is all-important. After all,

when the only means of access is via ‘online’, it is of utmost importance to have and

maintain an accessible web presence.

Page 78: EzeeMailSystem

BIBLIOGRAPHY

H.M.DIETEL.P.J.DIETEL, Java How to Program, PhL, Second Edition

Gray Cornett, Horstmann, CorelJava, Sunsoft Press, 1996.

Patrick Naughton & Herbert Schildt, Java: The Complete Reference, Tata Mc Graw-Hill,

Macrch 1997.

KARL MOSS,Java Servlets,MC GRAW HILL,Second Edition

REFERENCES

http://java.sun.com/products/servlet

http://servletguru.com

http://servletcentral.com

http://www.servlets.com