ezeemailsystem
TRANSCRIPT
Chapter 1
Ezee Mail System
Abstract
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
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
P r o j e c t S y n o p s i s
Synopsis-Introduction
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
S y s t e m C o n fi g u r a t i
o n
System Configuration
Software Requirements:
Operating System
Windows 2000/XP (Client/Server).
Software requirements
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
Sys tem Ana lys i s
Fe a s i b i l i ty S t u d y
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.
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.
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
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.
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
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.
Ana lys i sRepor t
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
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.
Chapter 5
Sys tem Des ign
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.
Chapter 6
Sys tem Desc r ip
t i on
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
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.
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
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.
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.
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.
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:
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
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
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.
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.
.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Sign-up
Compose
Login
Inbox
Folder management
Contacts
Options
Sent items
Move msg to folders
Delete msg’s
Employee
Use case diagram:
LoginServ-Address
Serv-Add Address
Serv-ModifyAddress
Serv-DeleteAddress Logout
login ()
add ()
Edit ()
Delete ()
Logout()
Sequence diagram1:
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:
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:
S o f t w a r e O v e r v i e w
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:
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
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
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.
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");
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:
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
Te s t i n g &
D e b u g g in g
S t r a t e g ie s
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.
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
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.
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.
Chapter 8
O u t p u t S c r e e n s
Chapter 9
C o n c l u s i o n &
R e c o m m e n d at i o n s
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.
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