-
Index
i. Introduction
a. Abstract
b. Organization Profile.
c. Project Overview
d. Aim & Scope of the project
ii. System Analysis
a. Existing System
b. Proposed System
c. Software Requirements Specification
-Software Requirements
-Hardware Requirements
d. Feasibility Study
iii. System Design.
a. Introduction
b. Data Base Design
c. Data Dictionary
d. UML Diagrams
iv. System Testing.
a. Unit Testing
b. Integration Testing
c. System Testing
v. System Implementation.
vi. Screens.
vii. Technology Specification.
viii. Conclusion.
ix. Bibliography and References.
-
2Introduction
a. Abstract
MingleSpot is an online community designed to make your social
life more active and
stimulating. Its social network can help you maintain existing
relationships with pictures
and messages, and establish new ones by reaching out to people
you've never met
before. It will become the fastest growing travel and lifestyle
social networking
community portal in future and discover how easy it is for you
to keep in touch, meet
people from around the world and keep your friends and family
informed of your
whereabouts movements and activities. Use messaging capabilities
to keep in touch
simply, quickly and cheaply!
MingleSpot makes it easy to find people who share your hobbies
and interests, look for
romantic connections or establish new business contacts. You can
also create and join a
wide variety of online communities to discuss current events,
reconnect with old school
mates or even exchange your favorite recipes.
MingleSpot is a flagship example of the next generation of
internet companies born out
of the world with global potential. By sharing tips and
introductions with likeminded
travellers, its members can get more out of their leisure time.
This brand will have
massive growth potential and we will be delighted to be
involved."
-
3
The System after careful analysis has been identified to present
with the following
modules. The following functionalities are incorporated in this
application
1. About profile To avail the facility user must register
himself by creating his profile. This module
maintains all the information, which belongs to the profiles
that are registered in the
portal. This module maintains the total information about the
registered users. For each
and every user profile has been divided into five types. i.e.,
Basic information, Contact
information, Personal information, Educational &
Professional information, and other
information. If the user dont want to display his profile to all
the users and wants to
display for some of his friends then he can change his settings
in my settings option.
2. About Buddies
This module allows users to search friends and view their
profiles and place request to
add people as friends and allows to send scraps to your buddies.
If any of the users
wants to search for the friends, he can search the friends by
just choosing the search
option located in the portal. They can search for the friends by
choosing their own
option. After completion of search if they want to view their
friends profiles then they
can view the profiles by clicking on their friends name. After
completion of search if you
want to add that person to your friends list then you can open
his profile and choose the
option add as a friend, then it will be placed in your friends
list. If you want send a
scrap to that person then you can directly open his profile and
choose the option Leave
a scrap. So you can send a scrap. Finally this module maintains
all the information
related to search the friends and their profiles.
-
43. About SAWAALS AND POLLS
Users can place questions on various topics and can view the
answers posted by other
registered users. This functionality allows users to create
polls and participate in polls
created by other users. This module deals with major and crucial
part that includes the
details of existed sawals and polls. Every user can able to
create a new poll and view the
existed polls. Each and every user can vote for the polls. But
the user who has created
the poll is not allowed to vote for his poll. Any of the existed
user can directly go to the
portal, select the poll option and vote for the poll. This
facility is used to know opinion of
the people. Sawal is the most useful feature for the public. In
this feature we can place a
new sawal. In this feature sawals is categorized into some
parts, depending upon that
parts we can place a sawal and view the existed sawals. Each and
every user can
directly answer for the sawals excluding the user who has
created the sawal is not
allowed to answer his sawal. Only the administrator can able to
cancel a sawal or a poll
if it effects the others privacy.
4. About COMMUNITIES
This functionality allows users to create their own gang or to
participate in an existing
gang. This gang feature is available for every user. Each and
every user can create their
own gang. We can add the gangs details, what activities our gang
should be done this
type information also we can place. Also each and every user can
view the details of all
the existed gangs. If any of the user wants to join in that gang
they can just click the
join button, or wants to see the members involved in that gang
then just click the
members button. The gang started date also we can place and we
can see the existed
gangs starting dates. Only the admin user can cancel the gang if
it effects the others
privacy.
-
55. About Information
Provide your opinions about anything in the world like cars,
bikes, etc. Search info about
your city. We can collect the public opinion. Every user can ask
for the opinion in the
portal at the same time share your opinion with the existed
opinions. We can ask for the
opinions about anything in the world like cars, bikes etc, and
we can search for the
movies, schools in our city. Each and every user can view all
the opinions which are
already existed in the portal.
6. About Administrator
Activities related to administrator like permit/update/delete
any user profile or a gang
created by registered users. This module deals with major and
crucial part that includes
the cancellation of polls, sawaals, opinions, gangs, etc. The
admin user can cancel any of
the above features if they affect any inconvenience to the
users. This module deals with
all the existed gangs, polls, sawaals and maintain all the
information about these
features.
The following functionalities are incorporated in this
application:
User Account Creation: To avail the facility user must register
himself by creating his
profile.
Search Friends: Allows users to search friends and view their
profiles and place request
to add people as friends
Sawals: Users can place questions on various topics and can view
the answers posted
by other registered users.
Polls: This functionality allows users to create polls and
participate in polls created by
other users.
Gangs: This functionality allows users to create their own gang
or to participate in an
existing gang.
Opinions: Provide your opinions about anything in the world like
cars, bikes, etc.
Local Info: Search info about your city.
Scraps: Send scraps to your buddies.
Pictures: Allows users to upload their pics and many more.
Technologies Used: J2SE, Servlets, JSP, JDBC and Java
Script.
-
6b. Organization Profile
Today enterprises globally are looking for service providers who
can bring value to the
relationship in terms of innovation, creativity, committed to
deliver quality within
schedules, budget and having business models supporting the fast
change in global
economic scenarios. To achieve this, the service providers
should be passionate about
their own business, highly creative, customer centric and
innovative to create value to
its customers, employees and shareholders. Seeback Software
Systems offers all these
and many more
Seeback Software Systems, is a leading Software Solutions and
Services Provider in the
Global Market, providing Business Solutions and High-End
Technology based services to
its customer base in USA, Europe, Nordic and Asia with on-site,
off-site and off-shore
development models. With a corporate history of more than 8
years, Seeback Software
Systems delivered many large-scale enterprise class solutions in
the areas of E-
Business, Knowledge Management, Business Intelligence, etc.,
using cutting edge
technologies and re-usable frameworks.
Seeback Software Systems team consists of professionals with
proven expertise and
skills in building Enterprise Level Architectures using cutting
edge technologies like J2EE,
CORBA and Microsoft .NET. Seeback Software Systems has perfected
the art of Global
Delivery with 24x7 Virtual Development Life Cycle having teams
working at on-site, of-
site and off-shore development in different time zones in
multiple continents. Seeback
Software Systems team works at high productivity levels by
leveraging its expertise of
component development methodologies and in-house built Component
Knowledge
Warehouse (CKW) for various re-usable functionalities
One of the key corner stone for our continuous success is our
adaptation to wide range
of Industry best practices in Quality Management, Project
management, World Class
Infrastructure Management, etc to provide complete satisfaction
to our customers. In
recognition of its commitment to quality and compliance with the
standards, Seeback
Software Systems was awarded ISO 9001 certification by KPMG in
January 1998
covering its software development activities. Seeback Software
Systems is presently
working on to implement SEI iCMM practices for global
delivery.
-
7Vision
To become globally recognizable and respectable IT Solution
Provider by delivering
quality Software Solutions, Services and Products to enhance the
business value of IT to
our global customers.
Mission
We have combined the following to achieve our Corporate
Vision.
x To continuously achieve high levels of Customer Satisfactionx
To create an environment where every member of Seeback Software
Systems
strives towards success through Innovation, Creativity and
Knowledge Driven
Practices.
x To create Stock Holder Value through a continuous, predictable
overall growth by de-risking the business models.
x To strive for excellence in every facet of Organization by
delivering quality through established processes and
methodologies.
x To continuously build expertise in cutting edge technologies
and build tools and systems to enhance the productivity of the
team.
Seeback Software Systems offers a complete range of innovative
integrated e-business
solutions designed to meet the specific needs of industries
worldwide. Our competence
lies across building customized solutions to implementing
industry standard packages.
Seeback Software Systems has domain experts who work closely
with technology team
to deliver value added solutions. Our energies are focused
mainly on the following
business domains are
x HealthCarex Retail & Distributionx FBISx Utilities
-
8c. Project Overview
Problem statement is one of the basic and important phases of
project phase. When the
basic problem is determined, it is documented and the
symptomatic problem is
analyzed, then the current list of basic problem is completed. A
system is simply a set of
components that interact to accomplish some purpose.
Mingle Spot is an online software application which provides the
excellent
communication between people. It provides the interface to users
in a graphical way to
interact with the friends and create their own communities and
groups.
The aim of this application is to find the people who share your
hobbies and interests.
Also you can create and join in communities to discuss current
events and it will help us
to improve the business contacts.
Current system is a existing one in which user can send messages
only.
This project is developed using Java Programming Language under
Windows.
-
9d. Aim & Scope of the project
MingleSpot is an application and is used to
create/manage/monitor gangs and can send scrap messages as well as
can find the information
regarding the needs. Finally you can modify MingleSpot system
properties.
Lot of effort was put to make it user friendly.
Optimum utilization of application is possible. All basic
features are provided.
Reduces the user interaction work. More flexible/expendability
it means developer can ---
x They can implement their own client (HTML/JavaScript, Applet,
Flash, Java Application). They only need API (JavaDoc) to know how
to interact with
MingleSpot server-side. HTML/JavaScript skins are also a good
starting point.
XML Connector service should be used for remote clients
(Applets, ...).
-
10
System Analysis
a. Existing System
Here the existing system is nothing but the traditional email
communication system
using which user can send messages only. In this system he can
maintain or categorize
different communities or groups and the user cant search for his
friend.
Disadvantages:
x Unable to search for his friends and add them in the friends
list.x Unable to manage communities easily and join in that
community x Unable to conduct the pollsx Unable to upload photos
and share the photosx Unable to place scrap messages to other
usersx Unable to invite the friends into his community
b. Proposed System
This system tries to overcome the difficulties in the system and
makes it easy
to find people who share your hobbies and interests, look for
romantic connections or
establish new business contacts. You can also create and join a
wide variety of online
communities to discuss current events, reconnect with old school
mates or even
exchange your favorite recipes.
Advantages
-
11
x Good communicative social network with user-friendly UIx Can
able to search for friends and can also able to add them to
their
friends list
x Can able to invite friends. x Can create and manage the
communitiesx Can able to view the existing communities, and join in
that.x Can able to place a scrap to other users and can view their
own scrapsx Can able to ask a sawaal and can able to answer to an
existing sawaalx Can able to share his opinionsx Can able to upload
their photos into the gallery and can view the existing
photos
x Can conduct the polls
MODULES
-
12
The System after careful analysis has been identified to present
with the following
modules. The following functionalities are incorporated in this
application
1. PROFILE MODULETo avail the facility user must register
himself by creating his profile. This module
maintains all the information, which belongs to the profiles
that are registered in
the portal. This module maintains the total information about
the registered users.
For each and every user profile has been divided into five
types. i.e., Basic
information, Contact information, Personal information,
Educational & Professional
information, and other information. If the user dont want to
display his profile to all
the users and wants to display for some of his friends then he
can change his
settings in my settings option.
2. BUDDIES MODULE
This module allows users to search friends and view their
profiles and place request to
add people as friends and allows to send scraps to your buddies.
If any of the users
wants to search for the friends, he can search the friends by
just choosing the search
option located in the portal. They can search for the friends by
choosing their own
option. After completion of search if they want to view their
friends profiles then they
can view the profiles by clicking on their friends name. After
completion of search if you
want to add that person to your friends list then you can open
his profile and choose the
option add as a friend, then it will be placed in your friends
list. If you want send a
scrap to that person then you can directly open his profile and
choose the option Leave
a scrap. So you can send a scrap. Finally this module maintains
all the information
related to search the friends and their profiles.
3. SAWAALS AND POLLS MODULE
-
13
Users can place questions on various topics and can view the
answers posted by other
registered users. This functionality allows users to create
polls and participate in polls
created by other users. This module deals with major and crucial
part that includes the
details of existed sawals and polls. Every user can able to
create a new poll and view the
existed polls. Each and every user can vote for the polls. But
the user who has created
the poll is not allowed to vote for his poll. Any of the existed
user can directly go to the
portal, select the poll option and vote for the poll. This
facility is used to know opinion of
the people. Sawal is the most useful feature for the public. In
this feature we can place a
new sawal. In this feature sawals is categorized into some
parts, depending upon that
parts we can place a sawal and view the existed sawals. Each and
every user can
directly answer for the sawals excluding the user who has
created the sawal is not
allowed to answer his sawal. Only the administrator can able to
cancel a sawal or a poll
if it effects the others privacy.
4. COMMUNITIES MODULE
This functionality allows users to create their own gang or to
participate in an existing
gang. This gang feature is available for every user. Each and
every user can create their
own gang. We can add the gangs details, what activities our gang
should be done this
type information also we can place. Also each and every user can
view the details of all
the existed gangs. If any of the user wants to join in that gang
they can just click the
join button, or wants to see the members involved in that gang
then just click the
members button. The gang started date also we can place and we
can see the existed
gangs starting dates. Only the admin user can cancel the gang if
it effects the others
privacy.
5. INFORMATION MODULE
-
14
Provide your opinions about anything in the world like cars,
bikes, etc. Search info about
your city. We can collect the public opinion. Every user can ask
for the opinion in the
portal at the same time share your opinion with the existed
opinions. We can ask for the
opinions about anything in the world like cars, bikes etc, and
we can search for the
movies, schools in our city. Each and every user can view all
the opinions which are
already existed in the portal.
6. ADMIN MODULE
Activities related to administrator like permit/update/delete
any user profile or a gang
created by registered users. This module deals with major and
crucial part that includes
the cancellation of polls, sawaals, opinions, gangs, etc. The
admin user can cancel any of
the above features if they affect any inconvenience to the
users. This module deals with
all the existed gangs, polls, sawaals and maintain all the
information about these
features.
Advantages:
x Good communicative social network with user-friendly UIx Can
able to search for friends and can also able to add them to their
friends listx Can able to invite friends. x Can create and manage
the communitiesx Can able to view the existing communities, and
join in that.x Can able to place a scrap to other users and can
view their own scrapsx Can able to ask a sawaal and can able to
answer to an existing sawaalx Can able to share his opinionsx Can
able to upload their photos into the gallery and can view the
existing photos x Can conduct the polls
c. Software Requirements Specification
-
15
The requirement phase basically consists of three
activities:
x Requirement Analysisx Requirement Specificationx Requirement
Validation
Requirement Analysis:
Requirement Analysis is a software engineering task that bridges
the gap between
system level software allocation and software design. It
provides the system engineer to
specify software function and performance indicate softwares
interface with the other
system elements and establish constraints that software must
meet.
The basic aim of this stage is to obtain a clear picture of the
needs and requirements of
the end-user and also the organization. Analysis involves
interaction between the clients
and the analysis. Usually analysts research a problem by asking
questions and reading
existing documents. The analysts have to uncover the real needs
of the user even if they
dont know them clearly. During analysis it is essential that a
complete and consistent
set of specifications emerge for the system. Here it is
essential to resolve the
contradictions that could emerge from information got from
various parties. This is
essential to ensure that the final specifications are
consistent.
It may be divided into 5 areas of effort.
x Problem recognitionx Evaluation and synthesisx Modelingx
Specificationx Review
Each Requirement analysis method has a unique point of view.
However all analysis
methods are related by a set of operational principles.
-
16
They are
x The information domain of the problem must be represented and
understood.
x The functions that the software is to perform must be
defined.
x The behavior of the software as a consequence of external
events must be defined.
x The models that depict information function and behavior must
be partitioned in a hierarchical or layered fashion.
x The analysis process must move from essential information to
Implementation detail
Requirement Analysis in this Project
The main aim in this stage is to assess what kind of a system
would be suitable for a
problem and how to build it. The requirements of this system can
be defined by going
through the existing system and its problems. They discussing
(speak) about the new
system to be built and their expectations from it. The steps
involved would be
Problem Recognition
The main problem is here while posting the answers for opinions,
polls and
sawaals. If we want to post the answers for opinions, polls and
sawaals which were
created by you is not allowed to post the answers.
Evaluation and Synthesis
-
17
In the proposed system this application saves the lot of time,
and it is time saving
process when we use this application. Using this application we
can easy to manage the
friends list, search for new friends, collect the opinions from
the friends, upload our own
photos and interact with the friends. Each and every user can
easily use the application
for interacting with the friends.
Specification Principles
Software Requirements Specification plays an important role in
creating quality software
solutions. Specification is basically a representation process.
Requirements are
represented in a manner that ultimately leads to successful
software implementation.
Requirements may be specified in a variety of ways. However
there are some guidelines
worth following: -
Representation format and content should be relevant to the
problem
Information contained within the specification should be
nested
Diagrams and other notational forms should be restricted in
number and consistent in
use.
Representations should be revisable.
The software requirements specification is produced at the
culmination of the analysis
task. The function and performance allocated to the software as
a part of system
engineering are refined by establishing a complete information
description, a detailed
functional and behavioral description, and indication of
performance requirements and
design constraints, appropriate validation criteria and other
data pertinent to
requirements.
Software Specification
-
18
Database : MySQL 5.0, MySQL 3.5 JDBC driver, Oracle
Server : Apache Tomcat 5.0/6.0
Front end : JSP / J2SDK 1.6
HTML, DHTML,
Scripting language : Java Script
Editor : Edit plus
Hardware Specification
Processor : Intel P-IV based system
Processor Speed : 2.0. GHz
RAM : 256 MB to 512 MB
Hard Disk : 40GB to 80GB
Key Board : 104 keys
d. Feasibility Study
-
19
All projects are feasible given unlimited resources and infinite
time. But the
development of software is plagued by the scarcity of resources
and difficult delivery
rates. It is both necessary and prudent to evaluate the
feasibility of a project at the
earliest possible time.
Three key considerations are involved in the feasibility
analysis.
Economic Feasibility
This procedure is to determine the benefits and savings that are
expected from a
candidate system and compare them with costs. If benefits
outweigh costs, then the
decision is made to design and implement the system. Otherwise,
further justification or
alterations in proposed system will have to be made if it is to
have a chance of being
approved. This is an ongoing effort that improves in accuracy at
each phase of the
system life cycle.
Technical Feasibility
Technical feasibility centers on the existing computer system
(hardware, software, etc.,)
and to what extent it can support the proposed addition. If the
budget is a serious
constraint, then the project is judged not feasible.
Operational Feasibility
People are inherently resistant to change, and computers have
been known to facilitate
change. It is understandable that the introduction of a
candidate system requires special
effort to educate, sell, and train the staff on new ways of
conducting business.
FEASIBILITY STUDY IN THIS PROJECT
-
20
1. Technical feasibility
The system is self-explanatory and does not need any extra
sophisticated training. As
the system has been built by concentrating on the Graphical User
Interface Concepts,
the application can also be handled very easily with a novice
User. The overall time that
is required to train the users upon the system is less than half
an hour.
The System has been added with features of menu-driven and
button interaction
methods, which makes the user the master as he starts working
through the
environment. The net time the customer should concentrate is on
the installation time.
2. Financial Feasibility
I) Time Based: Contrast to the manual system management can
generate any report
just by single click. In manual system it is too difficult to
maintain historical data which
become easier in this system. Time consumed to add new records
or to view the reports
is very less compared to manual system. So this project is
feasible in this point of view
II) Cost Based: No special investment need to manage the tool.
No specific training is
required for employees to use the tool. Investment requires only
once at the time of
installation. The software used in this project is freeware so
the cost of developing the
tool is minimal and hence the overall cost.
SYSTEM DESIGN
-
21
a. Introduction
The most creative and challenging phase of the life cycle is
system design. The term
design describes a final system and the process by which it is
developed. It refers to the
technical specifications that will be applied in implementations
the candidate system.
The design may be defined as the process of applying various
techniques and principles
for the purpose of defining a device, a process or a system in
sufficient details to permit
its physical realization.
The designers goal is how the output is to be produced and in
what format samples of
the output and input are also presented. Second input data and
database files have to
be designed to meet the requirements of the proposed output. The
processing phases
are handled through the program Construction and Testing.
Finally, details related to
justification of the system and an estimate of the impact of the
candidate system on the
user and the organization are documented and evaluated by
management as a step
toward implementation.
The importance of software design can be stated in a single word
Quality. Design
provides us with representations of software that can be
assessed for quality. Design is
the only way that we can accurately translate a customers
requirements into a finished
software product or system without design we risk building an
unstable system, that
might fail it small changes are made or may be difficult to
test, or one whos quality
cant be tested. So it is an essential phase in the development
of a software product.
APPLICATION DESIGN
-
22
USERS:
The major functionality of this product is divided into three
categories.
1. Administrator Functions.
2. Registered User Functions.
3. Guest User Functions.
In this application each and every user must having their own
User ID and Password,
using these User ID and Password only they can directly enter
into their corresponding
Login forms.
After enter into their Login forms each user will interact with
the following
functionalities.
But according to their responsibilities only they will use the
above functionalities.
1) Administrative User Functions
In this functionality the administrator will do his own
responsibilities. After providing of
his user name and password only the administrator can enter into
his account and do his
duties. The administrator can maintain the total portal. He can
able to add and view the
local information. The administrator can able to ask for the
opinion and view the total
existed opinions, but he cant post the opinion which was asked
by him. The
administrator can upload the photos, create his own poll and
view all the existed polls
and answers. He can place and view the sawaals. The
administrator can create his own
gang and view all the existed gangs in the portal. The main aim
of the administrator is
to maintain the total portal. He can able to sent messages to
the users who are invited
by the registered users. The administrator can able to cancel a
poll if it effects the others
privacy. He can able to edit an answer for the sawaal. He can
able to cancel a gang if it
effects the others privacy. Also he can able to cancel a photo
if it effects the others
privacy.
-
23
2) Registered User Functions
In this function registered users can perform following tasks
without login. He can able
to search for the friends but unable to add them to their
friends list. He can able to view
the existing gangs but unable to join in a gang. He can able to
view sawaals but unable
to post answers. He can able to view existing polls but unable
to vote for a poll and to
create a poll. Registered users can perform the following tasks
after login. If any
situation he wants to change the password then he can directly
change the password on
his own. He can able to view or update his profile. He can able
to upload the photos into
the gallery and can view the existing photos. He can able to
create their own poll and
can able to vote for an existing poll. The registered user can
able to place a scrap to
other users and can view their own scraps. He can able to ask a
sawaal and can able to
answer an existing sawaal. The registered users can able to
share his opinions and he
can able to post the local information. He can search for the
friends and add them to
their friends list. He can directly invite the friends.
3) Guest User Functions
In this function, the guest user can able to search for the
friends and unable to add
them to their friends list. He can able to view the existing
gangs but unable to join in a
gang. The guest users can able to view sawaals but unable to
post the answers to
corresponding sawaasls. He can able to view the polls but unable
to vote for the poll and
create a poll.
-
24
b. Database Design
Database Tables: The total number of database tables that were
identified to build the
system is 11. The major part of the
Database is categorized as
1. Transactional components:
The Transactional components are useful in recording the
transactions made by the
system. Consignment bookings, material particulars, dealership
requests and feedbacks
etc.
2. Data Dictionary components:
These components are used to store the major information like
branch details, employee
details, deliveries, dispatches and receivers details etc.
3. General components:
These components are used to store the general information like
login information etc.
c. Data Dictionary
The logical characteristics of current systems data stores,
including name,
description, aliases, contents, and organization. Identifies
processes where the data are
used and where immediate access to information needed. Serves as
the basis for
identifying database requirements during system design.
Uses of Data Dictionary
-
25
x To manage the detail in large systemsx To communicate a common
meaning for all system elementsx To Document the features of the
systemx To facilitate analysis of the details in order to evaluate
characteristics and
determine where system changes should be made.
x To locate errors and omissions in the systems
-
26
DATABASE TABLES
TABLE NAME: Answer details
The following table explains all the fields.
Field Name Data Type Size Constraints
ANSWER ID VARCHAR 200 PK
SAWAAL ID VARCHAR 200 PK
CATEGORY VARCHAR 200 NOT NULL
SAWAAL DESCRIPTION VARCHAR 200
POSTED BY VARCHAR 200 NOT NULL
A DESCRIPTION VARCHAR 200
ANSWERED BY VARCHAR 200 NOT NULL
PHOTO PATH VARCHAR 200
-
27
TABLE NAME: basicdetails
The following table explains all the fields.
Field Name Data Type Size Constraints
MSID VARCHAR 200 PK
USER ID VARCHAR 200 PK
PASSWORD VARCHAR 200 NOT NULL
PHOTO PATH VARCHAR 200
FIRST NAME VARCHAR 200 NOT NULL
LAST NAME VARCHAR 200 NOT NULL
DATE OF BIRTH VARCHAR 200
GENDER VARCHAR 200 NOT NULL
RELATIONSHIP STATUS VARCHAR 200
CHILDREN VARCHAR 200
ABOUT ME VARCHAR 200
HERE FOR VARCHAR 200
RELIGIOUS VIEWS VARCHAR 200
POLITICAL VIEWS VARCHAR 200
LANGUAGES KNOWN VARCHAR 200
VIEW STATUS VARCHAR 200
-
28
TABLE NAME: Contactinfo
The following table explains all the fields.
Field Name Data Type Size Constraints
MSID VARCHAR 200 FK
USER ID VARCHAR 200 FK
EMAIL ID VARCHAR 200 NOT NULL
PHONE NO VARCHAR 200
WORK PHONE VARCHAR 200
LOCATION VARCHAR 200
ADDRESS VARCHAR 200
VIEW STATUS VARCHAR 200
-
29
TABLE NAME: Eduandprofessioanal
The following table explains all the fields.
Field Name Data Type Size Constraints
MSID VARCHAR 200 FK
USER ID VARCHAR 200 FK
SCHOOL NAME VARCHAR 200
SPERIOD VARCHAR 200
COLLEGE VARCHAR 200
COLLEGE NAME VARCHAR 200
CPERIOD VARCHAR 200
DEGREE VARCHAR 200
DCOLLEGE NAME VARCHAR 200
DPERIOD VARCHAR 200
GRADUATION VARCHAR 200
GCOLLEGE NAME VARCHAR 200
OCCUPATION VARCHAR 200
COMPANY NAME VARCHAR 200
JOB DESCRIPTION VARCHAR 200
CAREER INTERESTS VARCHAR 200
VIEW STATUS VARCHAR 200 NOT NULL
-
30
TABLE NAME: Friendslist
The following table explains all the fields.
Field Name Data Type Size Constraints
SNO INT 20 NOT NULL
USER ID VARCHAR 200 FK
FRIEND NAME VARCHAR 200
PHOTO PATH VARCHAR 200
-
31
TABLE NAME: Gangmembers
The following table explains all the fields.
Field Name Data Type Size Constraints
MEMBER ID INT 20 FK
GANG NAME VARCHAR 200 NOT NULL
MEMBER NAME VARCHAR 200 NOT NULL
PHOTO PATH VARCHAR 200
STATUS VARCHAR 200
-
32
TABLE NAME: Gangsinfo
The following table explains all the fields.
Field Name Data Type Size Constraints
GANGS ID VARCHAR 200 PK
GANG NAME VARCHAR 200 NOT NULL
PHOTO PATH VARCHAR 200
DESCRIPTION TINYBLOB 100
OWNER VARCHAR 200 NOT NULL
CATEGORY VARCHAR 200
STARTING DATE DATE
TOTAL MEMBER INT 20
STATUS VARCHAR 200
-
33
TABLE NAME: Invites
The following table explains all the fields.
Field Name Data Type Size Constraints
SNO INT 10 NOT NULL
FROM VARCHAR 200 NOT NULL
TO VARCHAR 200 NOT NULL
STATUS VARCHAR 200
-
34
TABLE NAME: Localinfo
The following table explains all the fields.
Field Name Data Type Size Constraints
LOCAL ID VARCHAR 200 PK
POSTED BY VARCHAR 200 NOT NULL
PHOTO PATH VARCHAR 200
CATEGORY VARCHAR 200
LOCATION VARCHAR 200
DESCRIPTION TINYTEXT
DATE OF POST VARCHAR 200
INFO STATUS VARCHAR 200
-
35
TABLE NAME: Login
The following table explains all the fields.
Field Name Data Type Size Constraints
USER ID VARCHAR 50 FK
PASSWORD VARCHAR 50 NOT NULL
AUTH INT 11
-
36
TABLE NAME: Opinioninfo
The following table explains all the fields.
Field Name Data Type Size Constraints
OPID VARCHAR 200 PK
OPINION VARCHAR 200
ASKED BY VARCHAR 200
CATEGORY VARCHAR 200
OPINION ABOUT VARCHAR 200
DESCRIPTION TINYBLOB
POSTED BY VARCHAR 200 NOT NULL
PHOTO PATH VARCHAR 200
-
37
TABLE NAME: Opinionsdetails
The following table explains all the fields.
Field Name Data Type Size Constraints
OPINION ID VARCHAR 200 FK
ASKED BY VARCHAR 200 NOT NULL
PHOTO PATH VARCHAR 200
CATEGORY VARCHAR 200
OPINION ABOUT VARCHAR 200
DATE OF POST VARCHAR 200
OPINION COUNT INT 20
-
38
TABLE NAME: Otherinfo
The following table explains all the fields.
Field Name Data Type Size Constraints
MSID VARCHAR 200 FK
USER ID VARCHAR 200 FK
FIRST MEMORY VARCHAR 200
SCHOOL DAYS VARCHAR 200
COLLEGE DAYS VARCHAR 200
HOLIDAY SPOT VARCHAR 200
MILESTONE EVENT VARCHAR 200
PEOPLE LIKE VARCHAR 200
MY AMBITION VARCHAR 200
FAVOURITE MOVIE VARCHAR 200
FAVOURITE DIRECTOR VARCHAR 200
FAVOURITE SONG VARCHAR 200
FAVOURITE SINGER VARCHAR 200
FAVOURITE HERO VARCHAR 200
FAVOURITE HEROINE VARCHAR 200
VIEW STATUS VARCHAR 200
-
39
TABLE NAME: Personaldetails
The following table explains all the fields.
Field Name Data Type Size Constraints
MSID VARCHAR 200 FK
USER ID VARCHAR 200 FK
MY ATTRACTION VARCHAR 200
HEIGHT VARCHAR 200
HAIR COLOR VARCHAR 200
LOOKS VARCHAR 200
LIKES VARCHAR 200
DISLIKES VARCHAR 200
SMOKING VARCHAR 200
DRINKING VARCHAR 200
MYPARENTS VARCHAR 200
MYSIBLINGS VARCHAR 200
MYCOUSING VARCHAR 200
MYPET VARCHAR 200
MYCHILDHOOD MEMORY VARCHAR 200
VIEW STATUS VARCHAR 200
-
40
TABLE NAME: Photogallery
The following table explains all the fields.
Field Name Data Type Size Constraints
PHOTO ID INT 10
USER ID VARCHAR 100 FK
PHOTO PATH VARCHAR 200
DATE UPLOADED DATE
-
41
TABLE NAME: Pollsinfo
The following table explains all the fields.
Field Name Data Type Size Constraints
POLL ID VARCHAR 200 PK
CREATED BY VARCHAR 200
PHOTO PATH VARCHAR 200
POLL DETAILS VARCHAR 200
DATE OF CREATION DATE
OPTION1 VARCHAR 200
OPTION2 VARCHAR 200
OPTION3 VARCHAR 200
OP1COUNT INT 20
OP2COUNT INT 20
OP3COUNT INT 20
POLL STATUS VARCHAR 200
-
42
TABLE NAME: Sawaaldetails
The following table explains all the fields.
Field Name Data Type Size Constraints
SAWAAL ID VARCHAR 200 PK
ASKED BY VARCHAR 200 NOT NULL
PHOTO PATH VARCHAR 200
CATEGORY VARCHAR 200
SAWAAL DESCRIPTION VARCHAR 200
DATE OF SAWAAL DATE
ANSWER COUNT INT 20
SAWAAL STATUS VARCHAR 200
-
43
TABLE NAME: Scrapsinfo
The following table explains all the fields.
Field Name Data Type Size Constraints
SCRAP ID VARCHAR 200 PK
PLACED BY VARCHAR 200 NOT NULL
TO VARCHAR 200 NOT NULL
SCRAP DESCRIPTION TINYTEXT
DATE OF POST DATE
-
44
e. UML DIAGRAMS
Introduction
UML is a notation that resulted from the Unification of Object
Modeling Technique and
Object Oriented Software Technology .UML has been designed for
broad range of
application. Hence, it provides constructs for a broad range of
systems and activities.
ClassDiagramClassdiagramstodescribethestructureofthesystem.Classesareabstractionthatspecifies
thecommonstructureandbehaviorofasetofobjects.Classdiagramsdescribethesystemin
termsofobjects,classes,attributes,operationsandtheirassociations
Usecase Diagram
Use cases are used during requirements elicitation and analysis
to represent the
functionality of the system. Use cases focus on the behavior of
the system from the
external point of view. The actor is outside the boundary of the
system, where as the
use cases are inside the boundary of the system.
Sequence Diagram
Sequencediagram depicts the interactions between class
instances, in the form
ofmethodcallsandcallreturnsshowsaspecificscenarioofexecutioninthesystemintermsofobject
instances. This diagram focuses on the time orderedmessages
between objects that
collaboratetoaccomplishsometask
-
45
Class Diagram
AddLocalInfopostInfo()
ViewLocalInfogetLocalDetails()
GangsaddGang()view()update()
SearchgetSearchingDetails()view()
SawaladdSawal()updateSawal()viewSawal()
LocaladdInfo()viewInfo()
OpinionsaddOptions()viewOptions()
PhotosmanageGallery()viewPhotos()
PollsmanagePolls()vote()displayResult()
UserHomedisplayOptions()
Loginvalidate()authenticate()
DBConnectiongetConn()
RegistergetRegistere()
-
46
Class Diagram:
InviteAction()
BookSawalView()Create()opname()Update()
SendInvitesSend()
AdminHomeView()
ViewAnswerListGetanswers()ViewAnswers()
BlockAnswerViewAnswers()blockAction()
BlockSawalgetConn()blockAction()
ViewSawalListGetSawalList()getConn()
BlockAnswersView()Block()
-
47
Usecase Diagram
UploadPhotos
ViewOpinions
AskOpinions
ViewLocalInfo.
CreatePoll
Votepoll
AskSawals
AnswerSawal
AddLocalInfo.
ViewSawals
RegisteredUserViewPoll
Guest
-
48
Usecase Diagram
BlockPolls
Blocksawals
BlockGangs
BlockAnswers
SendInvites
DeletePhoto
MyProfile
MySettings
MyFriends
ScrapBook
Administrator
ChangePwd
NormalUser
-
49
Sequence Diagram
Sequencediagram depicts the interactions between class
instances, in the form
ofmethodcallsandcallreturnsshowsaspecificscenarioofexecutioninthesystemintermsofobject
instances. This diagram focuses on the time orderedmessages
between objects that
collaboratetoaccomplishsometask
-
50
PhotoGallery
Home ViewPhotos
UploadPhotos
SearchFriend
AddtoFriendList
InviteFriend
Enter()
View()
Upload()
Search()
Add()
Invite()
-
51
Sequence Diagram
Login Validate DBConnection AdminHome ViewBlockedActivities
Select BlockAction
1:Check
2:GetConn()
3:Redirect()
4:Display()
5:SelectActivity()
6:Block()
-
52
SYSTEM TESTING
Software Testing is a critical element of software quality
assurance and represents the
ultimate review of specification, design and coding, Testing
presents an interesting
anomaly for the software engineer.
Testing Objectives include:
1. Testing is a process of executing a program with the intent
of finding an error
2. A good test case is one that has a probability of finding an
as yet
undiscovered error
3. A successful test is one that uncovers an undiscovered
error
Testing Principles:
1. All tests should be traceable to end user requirements
2. Tests should be planned long before testing begins
3. Testing should begin on a small scale and progress towards
testing in large
4. Exhaustive testing is not possible
5. To be most effective testing should be conducted by a
independent third
party.
-
53
TESTING STRATEGIES
A Strategy for software testing integrates software test cases
into a series of well
planned steps that result in the successful construction of
software. Software testing is
a broader topic for what is referred to as Verification and
Validation. Verification refers
to the set of activities that ensure that the software correctly
implements a specific
function. Validation refers he set of activities that ensure
that the software that has been
built is traceable to customers requirements
a. Unit Testing
Unit testing focuses verification effort on the smallest unit of
software design that is the
module. Using procedural design description as a guide,
important control paths are
tested to uncover errors within the boundaries of the module.
The unit test is normally
white box testing oriented and the step can be conducted in
parallel for multiple
modules.
b. Integration Testing
Integration testing is a systematic technique for constructing
the program structure,
while conducting test to uncover errors associated with the
interface. The objective is to
take unit tested methods and build a program structure that has
been dictated by
design.
-
54
Top-down Integration
Top down integrations is an incremental approach for
construction of program structure.
Modules are integrated by moving downward through the control
hierarchy, beginning
with the main control program. Modules subordinate to the main
program are
incorporated in the structure either in the breath-first or
depth-first manner.
Bottom-up Integration
This method as the name suggests, begins construction and
testing with atomic modules
i.e., modules at the lowest level. Because the modules are
integrated in the bottom up
manner the processing required for the modules subordinate to a
given level is always
available and the need for stubs is eliminated.
c. System Testing
System testing is actually a series of different tests whose
primary purpose is to fully
exercise the computer-based system. Although each test has a
different purpose, all
work to verify that all system elements have been properly
integrated to perform
allocated functions.
-
55
TEST CASES
Test Case
ID Test Case
Expecting
behavior
Exhibiting
behavior Result
1
Enter the wrong
Username and
Password for Admin
Error message
has to be
displayed
Error message is
displaying Pass
2
Login as admin and Try
to add the new opinion
It has to add the
opinion
It is adding
successfully Pass
3
Login as admin and try
to View the opinions
It has to display
all the opinions
It is displaying all
the opinions Pass
4
Login as admin and Try
to upload the photos
It has to upload
the photos
It is uploading
successfully Pass
5 Login as admin and try
to place a sawal
It has to add the
sawal
It is adding the
sawal successfully
Pass
6 Login as admin and try
to block a poll
It has to block a
poll
It is blocking the
poll successfully
Pass
7 Login as admin and try
send invites
It has to send It is sending
successfully
Pass
8 Login as user and try
to change the
password
It has to change
the password
It is changing the
password
Pass
9
Login as user and try
to block a poll
Error message
has to be
displayed
Error message is
displaying Pass
10
Login as user and try
to add a friend
It has to add a
friend
It is adding
successfully Pass
11
Login as user and try
to send a scrap to the
friend
It has to send the
scrap
It is sending the
scrap to the
particular user
Pass
12
Login as user and try
to ask a sawaal
It has to add the
sawal
It is adding the
sawal successfully Pass
Login as user and try Error message Error message is
-
56
13 to answer for his sawal has to be
displayed
displaying Pass
14
Login as user and try
to search for the
friends
It has to search
for the friends
It is searching for
the friends Pass
15
Login as user and try
to block a gang
Error message
has to be
displayed
Error message is
displaying
Pass
SCREENS
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
67
-
68
-
69
TECHNOLOGY SPECIFICATION
ABOUT JAVA
The Internet helped catapult Java to the forefront of
programming, and Java, in turn,
has had a profound effect on the Internet. The reason for this
is quite simple: Java
expands the universe of objects that can move about freely in
the cyberspace. In a
network, two very broad categories of objects are transmitted
between the server and
our computer passive information and dynamic, active
programs.
As desirable as dynamic, networked programs are, they also
present serious problems in
the areas of security and portability. Java achieves this
security or protection by
confining a Java program to the Java execution environment and
not allowing it to
access to other parts of the computer. Many types of the
computers and operating
systems are in use throughout the world and many are connected
to the Internet. For
programs to be dynamically download to all the various types of
platforms connected to
the Internet, some means of generating portable executable code
is needed.
Java was designed to be easy for the professional programmers to
learn and use
efficiently. The object model of Java is simple and easy to
extend, while simple types,
such as integers are kept as high-performance non-objects.
BSNL System is implemented using the Java language so as to make
the programmers
and different users at different levels can make use of this
system very affectively.
The multiplatformed environment of the web places
extraordinarily demands on a
program, because the program must execute reliably in a variety
of systems. Thus, the
ability to create robust programs was given a high priority in
the design of Java. At the
same time, Java frees us from having to worry about many of the
most common cause
of programming errors. Because Java is strictly typed language,
it checks our code at
the compile time and also at run-time.
-
70
Java was designed to meet the real world requirements of
creating interactive,
networked programs. Java supports multithreaded programming,
which allows us to
write programs that do many things simultaneously. A central
issue for the Java
designers was that of code longevity and portability. Their goal
was write once; run
anywhere, any time, forever.
Java enables the creation of the cross-platform programs by
compiling into intermediate
representation called Java byte code. This code can be
interpreted on any system that
provides a java virtual machine. Java is designed for the
distributed environment of the
Internet, because it handles TCP/IP protocols. In fact,
accessing a resource using a URL
is not much different from accessing a file. The original
version of Java (OAK) included
features for intra-address-space messaging. Java programs carry
with them substantial
amounts of the run-time type information that is used to verify
and resolve accesses to
objects at run-time. This makes it possible to dynamically link
code in a safe and
expedient manner.
ABOUT INTERNET AND INTRANET
Technologically, the Internet is network of computers. Not just
a few special Computers,
but over nine million of all kinds of computers. Similarly it is
not just a network, but a
network of networks hence the name and using TCP/IP
(transmission control protocol
and internet protocol).
Internet is the name for a vast, worldwide system consisting of
people, information and
computers. Internet is global communication system of diverse,
INTER connected
computer NETWORK for the exchange of information of virtually
every conceivable topic
known to man.
Internet is not just one thing. It is a lot of things to lot of
people. In todays world it is
one of the most important commodity of life. The Internet is
more important in what it
enables than what it is, more of a phenomenon than fact.
-
71
IntranetThe classical definition of Intranet is the application
of the Internet technologies to the
internal business applications media most refer to the Intranet
in terms of applying web
technologies to information systems in the organization.
ABOUT JDBC (JAVA DATA BASE CONNECTION)
It is a java data base connectivity having database as a
back-end of java as front end.
Database is a collectivity of related data. A data base
management system (DBMS)
controls the storage or retrieval of data in the database. The
main use of this JDBC is
the database connectivity.
Using drivers we can get connection to the back-end:
1. Which drive we are going to connect back-end.
2. Create a data source name (dsn).
3. Create a statement for connection.
The package we use here is import java.sql.*
Interfaces of JDBC include driver, connection, and statement;
prepare statement,
callable statement, Result Set, Result Set Meta data. Classes of
JDBC are driver
manages, driver property information, date, time, and timestamp,
type. The driver
defined by the classJdbc odbc driver in package sun.jdbc.odbc.
Class sun.jdbc.odbc.jdbc
odbc driver represents the jdbc to odbc bridge driver.
-
72
ABOUT SERVLETS
Servlet is server side applet. It contains several advantages.
They are:1.Performance is significantly better. Servlets execute
within the address space of
the web server. Creating a separate process to handle each
client request isnt
necessary.2.Servlets are platform-independent, because they are
written in Java. Several web
servers, from vendors such as sun, Netscape, and Microsoft,
offer the servlet API
Programs developed for this API can be moved to any of these
environments
without recompilation.
3. The java security manager on the server enforces a set of
restrictions to
protect the resources on a server machine
4.The full functionality of the Java class librariesis available
to a servlet. It
can communicate with applets, databases, or othersoftware via
the sockets and
RMI mechanisms.
The Lifecycle of a servlet:
Three methods are central to the lifecycle of a servlet: init
(), service( ), and
destroy( ). First, assume that a user enters a Uniform Resource
Locator (URL) to the
web browser. The web browser then generates an HTTP request for
this URL and
sends it to the appropriate server. Second the web server
receives this HTTP
request. The server maps this request to particular servlet. The
servlet is
dynamically retrieved and loaded into the address space of the
server. Third, the
server invokes the init( )
method of the servlet. This method is invoked only when the
servlet is first loaded
into the memory. Fourth, the server invokes the servlet service(
) method , which is
called to process the HTTP request. The service( ) method is
called for each HTTP
request. Two packages are required to build the servlet they are
javax.servlet and
javax.srevlet.http. They constitute of servlet API.
ServletRequest interface is used to
read the data from a client0request and servletResponse is used
to write data to the
client response. The javax.srevlet.http package include
interfaces like
HttpServletRequest whish enables servlets to read data from HTTP
request and
HttpServletResponse which enables servlets to write data from
HTTP response.
-
73
Introduction to HTML
The hypertext markup language (HTML) is a simple markup
language. Used to create a
hypertext documents that are portable from one platform to
another HTML documents
are SGML (Standard generalized mark up language) documents with
generic semantics
that are appropriate for representing information from a wide
range of applications. This
specification defines HTML version 3.2. HTML 3.2 aims to capture
recommended practice
as of early 96 and as such a replacement for HTML2.0 (RFC
1866).
A set of instructions embedded in a document is called mark up
language. These
instructions describe what the document text means and how it
should look like in a
display. Hyper Text Mark Up language (HTML) is the language used
to encode World
Wide Web documents.
WHY TO USE HTML?
Website is a collection of pages, publications, and documents
that reside on web server.
While these pages publications and a document as a formatted in
a single format, you
should use HTML for home page and all primary pages in the site.
This will enable the
millions of web users can easily access and to take advantage of
your website.
HTML is considered first for formatting any new material you
plan to publish on the web.
HTML documents are platform independent, meaning that they dont
confirm to any
standard. If they are created properly you can move home page to
any server platform
or you can access them with any complaint www browser.
STRUCTURE OF HTML
HTML elements perform a defined task. HTML uses two types of
elements
. Empty Tags
. Container Tags
These tags differ because of what they represent. Empty tags
represent formatting
constricts such as line breaks and horizontal rules. Container
tags define a section of
text, formats and dot all of the selected text. A container tag
has both a beginning and
an ending.
HTML LAYOUT:
-
74
An HTML document consists of text, which comprises the content
of the document and
tags, which, defines the structure, and appearance of the
document. The structure of an
HTML document is simple, consists of outer.
tag enclosing the document header and body
the title of HTML document
This is where the actual HTML documents
Text lies, which is displayed in the browser
Each document has a head and body delimited by the and tag.
The
head is where you give your HTML document a title and where you
indicate other
parameters the browser may use when displaying the document.
This includes the text
for displaying the text. Tag also references special and
indicates the hot spots that link
your document to other documents.
HTML FORMS:
Creating a form usually involves two independent steps: Creating
the layout for the form
itself and then writing a script program on the server side to
process the formation you
get back from a form.
To create a form, You use the tag. Inside the opening and
closing FORM tags
are each of the individual form elements plus any other HTML
content to create a layout
for that form.
-
75
The opening tag of the FORM element usually includes the
attributes: METHOD and
ACTION. The METHOD attributes can be either GET or POST which
determines how your
form data is sent to the script to process it.
The ACTION attribute is a pointer to the script that processes
the form on the server
side. The ACTION can be included by a relative path or by a full
URL to a script on your
server or somewhere else. For example, the following tag would
call a script
called form-name in cgi-bin directory on server
www.myservser.com
.
METHOD ATTRIBUTE:
The other required attribute for the tag sets the methods by
which the browser
forms data to the server for processing. There are two ways: the
POST method and GET
method. With POST method, the browser sends the data in two
steps: the browser first
contacts the form-processing server specified in the action
attributes, and once contact
is made, sends the data.
The GET method in the other hand, contacts the form processing
server and sends the
form data in a single transaction step: the browser appends the
data to the forms action
URL, separated by the question mark (?) character.
-
76
INTRODUCTION TO JAVA
CREATION OF JAVA
Java was conceived by James Gosling, Patrick Naughton, Chris
Warth, Ed Frank and
Mike Sheridan at SUN Microsystems Incorporation in the year
1991.It took 18 months to
develop the 1st working version. This language was initially
called OAK, but was
renamed JAVA in 1995, many more contributed to the design and
evolution of the
language.
JAVA OVERVIEW
Java is a powerful but lean object-oriented programming
language. It has generated a
lot of excitement because it makes it possible to program for
Internet by creating
Applets. Programs that can be embedded in web page. The context
of an applet can be
an animation with sound, an interactive game or a ticker tape.
With constantly updated
stock prices. Applets can be just little decorations to liven up
web page, or they can be
serious applications like Word processor or Spreadsheet.
But Java is more than a programming language for writing
Applets. It is being used
more and more for writing standalone applications as well. It is
becoming so popular
that many people believe it will become standard language for
both general purpose and
Internet programming.
There are many buzzwords associated with Java, but because of
its spectacular growth
in popularity, a new buzzword has appeared ubiquitous. Indeed,
all indications are that
it will soon be everywhere.
Java builds on the strength of C++. It has taken the best
features of C++ and discarded
the more problematic and error prone parts. To this lean core,
it has added garbage
collection (automatic memory management), multithreading (the
capacity for one
program to do more than one thing at a time), security
capabilities. This result is that
Java is simple, elegant, and powerful and easy-to-use.
-
77
Java is actually a platform consisting of 3 components:
1. Java Programming Language.
2. Java Library of Classes and Interfaces.
3. Java Virtual Machine
The following sections will say more about these components.
JAVA IS PORTABLE:
One of the biggest advantages Java offers is that it is
portable. An application written in
Java will run on all the major platforms. Any computer with a
Java-based browser can
run the applications or Applets written in the
Java-Programming-Language. A
programmer no longer has to write one program to run on a
Macintosh, another
program to run on a Windows-machine still another to run on a
UNIX-machine and so
on. In other words, with Java developers write their programs
only once.
The Virtual Machine is what gives Java is cross platform
capabilities. Rather being
compiled into machine language, which is different for each OSs
and computer
architecture, Java code is compiled into Byte codes.
With other languages, the program code is compiled into a
language that the computer
can understand. The problem is that other computers with
different machine instruction
set cannot understand that language. Java code on the other hand
is compiled into Byte-
Code rather than a machine language. These byte codes go to the
JVM, which executes
them directly or translates them into the language that is
understood by the machine
running it.
In summary, these means that with the JDBC API extending Java, a
programmer writing
Java code can access all the major RDBMS on any platform that
supports the JVM.
-
78
JAVA IS OBJECT-ORIENTED
The Java programming language is OBJECT-ORIENTED, which makes
program design
focus on what you are dealing with, rather than on how your are
going to do something.
This makes it more useful for programming in sophisticated
projects, because one can
break the things into understandable components. A big benefit
is that these
components can then be reused.
Object-Oriented Languages use the paradigm of classes. In
simplest term, a class
includes both the data and the functions to operate on data. You
can create an instance
of a class, also called an object, which will have all the data
members and functionality
of its class. Because of this, you can think of a class as being
like template, with each
object being a specific instance of a particular type of
class.
The class paradigm allows one to encapsulate data so that
specific data values are those
using the data cannot see the function implementation.
Encapsulation makes it possible
to make the changes in code without breaking other programs that
use that code.
If for example, the implementation of a function is changed, the
change is invisible to
any programmer who invokes that function, and does not affect
his/her program, except
hopefully to improve it.
Java includes inheritance, or the ability to derive new classes
from existing classes. The
derived class, is also called as Sub-Class, inherits all the
data in the functions of the
existing class.
JAVA DEVOLPMENT EVNIRONMENT
To code, edit, debug and test the java programs, one needs to
have a java development
environment. At the minimum this will consists of a java
compiler interpreter and applet
viewer where applets can be tested.
Suns java development kit (JDK) latest version is 2.2 can be
freely downloaded
from the Internet.
Java compiler is available on DOS, Win95, WINNT, Solaris and MAC
etc.
-
79
Introduction to JavaScript
JavaScript
JavaScript is a new scripting language for WebPages. Scripts
written with java script can
be embedded into your HTML pages. With java script you have many
possibilities for
enhancing your HTML page with interesting elements. For example
you are able to
respond to user-initiated events quite easily. Some effects that
are now possible with
java script were some time ago only possible with CGI. So you
can create really
sophisticated pages with the helps of java script on the
Internet.
Difference between java and Java Script
Although the names are almost the same Java is not the same as
Java Script. These are
two different techniques for Internet programming. Java is
programming language.
JavaScript is a scripting language as the name implies. The
difference is that we can
create real programs with java. But java script in not real
programming. Java Script is
meant to be easy to understand and easy to use. JavaScript
authors should not have to
care too much about programming. We could say that Java Script
is rather an extension
to HTML than a separate computer language. Of course this is not
the official definition
but it makes it easier to understand the difference between java
and java script.
How can Java Script scripts run?
The first browser to support java script was the Netscape
Navigator 2.0 of course the
higher versions do have java script as well. You might know that
java does not run on
all Netscape Navigators 2.0 (or higher versions) versions. But
this is not true for java
script -although there are some problems with the different
versions.
The Mac version for example seems to have many bugs. In the near
future there are
going to be some other browsers, which support java script. The
Microsoft Internet
explorer 3.0 is going to support java script. JavaScript enabled
browsers are going to
spread soon - it is worth learning this new technique now. You
might realize that is
really easy to write Java Script scripts. We have to know is
some basic techniques and
some work-around for problems you might encounter. Of course we
need a basic.
-
80
Understanding HTML before reading this tutorial you can find
many really good online
resources about HTML. Best you make an online search about html
at yahoo if you
want to get informed about HTML. Now I want to show some small
scripts so you can
learn how they are implemented into HTML-documents and to show
which possibilities
you have with the new scripting language. The following is a
very small script, which
will only print a text into an HTML document.
My first JavaScript
This is a normal HTML document
Document.write (this is a java script)
Backing HTML again
If you are using a java script enabled-browser at the moment
then you will have the
possibility to see this script working. If your browser doesnt
support Java Script then
this output might be some kind of strange
This is a normal HTML document
This is java script!
Back in HTML again.
-
81
Functions
Functions are bet declared between the tag of HTML page.
Functions are called
by user-initiated events. Seems reasonable to keep the functions
between the
tags. They are loaded first before a user can do anything that
might call a function.
Scripts can be placed between inside comment fields to ensure
that older browser do not
display the script itself.
function pushbutton (){
alert (Hello!);
}
If we want to test this one immediately and you are using a Java
Script enabled browser
then please go ahead and push the button.
This script will create a button and when you press it a window
will pop up saying
hello!. In fact we have a lot of possibilities just by adding
functions to our scripts.
The common browsers transmit the form information by either
method: heres the
complete tag including the GET transmission method attribute for
the previous form
-
82
Example
Input elements.
Use the tag to define any one of a number of common form
elements including
text fields multiple choice lists click able images and
submission buttons. There are
many attributers for this tag only that types and name
attributes are required for each
element, each type of input element uses only a subset of the
followed attributes.
Additional attributes may be required based upon which type of
the form
element you specify.
Submit button
The submit button ( ) does what its name implies, settings
in
motion the forms submission to the server from the browser. We
many have more than
submit buttons will be added to the parameter list the browser
sends along to the
server.
Example
< Input type =submit>
Reset button
The reset button if firm button is nearly self- explanatory; it
lets the user reset
erase or set to some default value all elements in the form. By
default the browser
displays a reset button worth the label reset. We can change
that by specifying a value
attribute with tour own button label.
-
83
INTRODUCTION TO JDBC
JDBC (Java Database connectivity) is a front-end tool for
connecting to a server to ODBC
in that respect, however JDBC can connect only java client and
it uses ODBC for the
connectivity. JDBC is essentially a low-level API since any data
manipulation, storage
and retrieval has to be done by the program itself. Some tools,
which provide a higher-
level abstraction, are expected shortly.
The next question that needs to be answered is why we need JDBC,
once we have ODBC
on hand. We can use the same ODBC to connect the entire database
and ODBC is a
proven technology.
Problem for doing this is ODBC gives a c language API, which
uses pointers extensively.
Since java does not have any pointes and is object-oriented sun
Microsystems, inventor
of java developed to suit its needs.
Requirements to use JDBC
To use JDBC you need a basic knowledge of databases and SQL.A
part from this you
need the jdk1.1 (Java Development Kit1.1 available javasofts
website) or a version of
Java since jdk1.1 and above come bundled with JDBC software.
After that you need to have a back-end database engine for which
a JDBC driver is
available. When JDBC drivers are not available JDBC-ODBC bridge
drivers are used to
access the database through ODBC. Back-end is not needed when
JDBC driver is capable
of storing and retrieving the data itself, or if JDBC-ODBC
Bridge and the ODBC driver
can be used to store and retrieve the information.
-
84
DATABASE MODELS
JDBC and accessing the database through applets and JDBC API via
an intermediate
server resulted server resulted in a new type of database model
which is different from
the client-server model. Based on number of intermediate server
through the request
should go it is named as single tire, two tire and multi tire
architecture
Single Tier
In a single tier the server and client are the same in the sense
that a client program that
needs information (client) and the source of this type of
architecture is also possible in
java, in case flat files are used to store the data. However
this is useful only in case of
small applications. The advantage with this is the simplicity
and portability of the
application developed.
Database
Two Tiers (client-server)
Serverandclient
-
85
In two tier architecture the database resides in one machine and
client in different
machine they are connected through the network. In this type of
architecture a database
management takes control of the database and provides access to
clients in a network.
This software bundle is also called as the server. Software in
different machines,
requesting for information are called as the clients.
Database
Three Tier and N-Tier
In the three-tier architecture, any number servers can access
the database that resides
on server. Which in turn serve clients in a network. For
example, you want to access the
database using java applets, the applet running in some other
machine, can send
request only to the server from which it is down loaded. For
this reason we will need to
have a intermediate server which will accept the requests from
applets and them to the
actual database server. This intermediate server acts as a
two-way communication
channel also. This is the information or data from the database
is passed on to the
applet that is requesting it.
Server
Client
Client
-
86
This can be extended to make n tiers of servers, each server
carrying to specific type of
request from clients; however in practice only 3 tiers
architecture is popular.
JDBC Driver Types
The JDBC drivers that we are aware of at this time fit into one
of four categories:
1. JDBC-ODBC BRIDGE PLUS ODBC DRIVER
The java soft bridge product provides JDBC access via ODBC
drivers. Note that ODBC
binary code end in many cases database client code must be
loaded on each client
machine that uses this driver. As a result, this kind of driver
is most appropriate on a
corporate network where client installations are not major
problem, or for application
server code written in java in a 3-tier architecture.
2. NATIVE API PARTLY-JAVA DRIVER
This kind of driver converts JDBC calls into calls on the client
API for oracle Sybase,
Informix, DB2, or other DBMS. Note that, like the bridge driver,
this style of driver
requires that some binary code be loaded on each client
machine.
3. JDBC-NET ALL-JAVA DRIVER
This driver translates JDBC calls into a DBMS independent net
protocol, which is then
translated, to a DBMS protocol by a server. This net servlet
middle-ware is able to
connect its all java clients to many different databases. The
Specific protocol used
depends on the vendor. In general, this most flexible JDBC
alternative. It is likely that all
vendors of this solution will provide products suitable for
intranet use. In order for these
products to also support Internet access, they must handle the
additional requirements
for security, access through firewalls, etc that the web
imposes. Several vendors are
adding JDBC drivers to their existing database middleware
products.
-
87
4. NATIVE PROTOCOL ALL-JAVA DRIVER
This kind of driver converts JDBC calls into the network
protocol used by DBMS
directory. This allows a direct call from the client machine to
the DBMS server that is
practical solution for intranet access. Since many of these
protocols are proprietary, the
database vendors themselves will be the primary source. Several
database vendors have
these in progress. Eventually, we expect that driver categories
3 and 4 will be the
preferred way to access databases from JDBC. Driver categories
one and two are interim
solutions where direct all java drivers are not yet available.
Category 4 is in some sense
the ideal; however, there are many cases where category 3 may be
preferable: eg: -
where a thin DBMS-independent client is desired, or if a DBMS
independent protocol is
standardized and implemented directly by many DBMS vendors.
SERVLETS
Servlets provides a Java-Based solution used to address the
problems currently
associated with doing server side programming, including
inextensible scripting
solutions, platform specific APIs, and incomplete interfaces.
Servlets are objects conform
to a specific interface that can be plugged into a Java-based
server. Servlets are to the
server-side what applets are to the client-side-object byte
codes that can be dynamically
loaded off the net. They differ from applets in that they are
faceless objects (without
graphics or a GUI component). They serve as platform
independent, dynamically
loadable, plug gable helper byte code objects on the server side
that can be used to
dynamically extend server-side functionality.
For example, an HTTP servlet can be used to generate dynamic
HTML content. When you
use servlets to do dynamic content you get the following
advantages:
1.Theyre faster and cleaner than CGI scripts.
2.They use a standard API (the Servlet API)
3.They provide all the advantages of Java (run on a variety of
servers without
needing to be rewritten)
-
88
The attractions of Servlets
There are many features of servlets that make them easy and
attractive to use.
These include:
Easily configured using the GUI-based Admin Tool.
Can be loaded and invoked from a local disk or remotely across
the network. Can be
linked together, or chained, so that one servlet can call
another servlets, or several
servlets in sequence.
Can be called dynamically from within HTML pages, using
server-side include tags
Invoking the servlet
To invoke a servlet you call it by creating a URL with /servlet/
pretended to the servlet
name. Then enter this URL in your favorite browser to see the
output of the Servlet.
Example:
After installing according to the directions above, access the
HelloServlet by entering the
following URL in your favorite browser:
http://server-host-name:8080/servlet/hell
Internal Servlets
The Java Server servlet architecture is very flexible and the
server takes advantage of
this by dividing up its work among several internal
servlets.
They are
1.File Servlet
2.Invoker Servlet
3.Server side include servlet
4.Admin Servlet
5.CGI Servlet
6.Image map servlet
-
89
File Servlet
The file servlet provides the standard document serving
capabilities of java server. This
servlet includes a caching mechanism to speed up response times
of frequently accesses
files. In addition it recognizes files that are to be parsed for
server side includes and
passes them on to the SSInclude Servlet.
Servlets are an effective substitute for CGI scripts and provide
a faster and cleaner way
to generate dynamic documents.
The java server is both flexible and extensible. Using the java
server APIs you can write
your own servlet and incorporate it into the server. To do this
follows these three steps
1. Write the servlet
2. Configure the servlet
3. Invoke the servlet
Writing the Servlet
Unless they are used with the http protocol, servlets subclass
the servlet. GenericServlet
class and override the service (Servlet Request,
ServletResponse) method.
Servlets use with the HTTP protocol should subclass the
javax.servlet.HttpServlet class
override one or both of the doGet (HttpServletRequest,
HttpServletResponse) and
doPost (HttpServletRequest, HttpServletResponse) methods
Servlets class may choose to override the default
implementations of the servlet
lifecycle servlet methods, init (ServletConfig) and destroy
().
-
90
Configuring the Server:
The real beauty of the java server is that it is extensible.
But, before you can use a
Servlet to add an extended functionality to the JavaServer.You
have to use the Java
Server administration applet to install the Servlet and specify
the default parameters
and arguments.
Display the Administration Applet by connecting to:
http://server_Host_Name:9090/index.html
Are secure-even when downloading across the network, the
servlets security model and
the Servlet sandbox to protect your system from unfriendly
behavior.
The advantage of the Servlet API
One of the great advantages of the Servlet API is protocol
independence. It assumes
nothing about:
The protocol being used to transmit on the net.
How it is loaded.
The server environment it will be running in.
These qualities are important, because it allows the Servlet API
to be embedded in many
different kinds of Servers. There are other advantages to the
servlet API as well.
Servlet Features
The Java Server provides several important Servlet features.
These include:
Loading & Invoking Servlets.
Servlets can be loaded both locally and remotely.
Filters and Servlets change.
The Java Server uses MIME types to call Servlets
sequentially.
Server size includes:
Servlets can be invoked from dynamic HTML documents using Server
side include tags.
Replacing the CGI Scripts.
-
91
Java Server Pages (JSP)
Java Server Pages is a simple, yet powerful technology for
creating and maintaining
dynamic-content web pages. Based on the Java programming
language, Java Server
Pages offers proven portability, open standards, and a mature
re-usable component
model.
PORTABILITY
Java Server Pages files can be run on any web server or
web-enabled application
server that provides support for them. Dubbed the JSP engine,
this support involves
recognition, translation and management of the Java Server Pages
lifecycle and its
interaction with associated components.
PROCESSING
A Java Server Pages file is essentially an HTML document with
JSP scripting or tags.
It may have associated components in the form of. Class, .jar,
or .ser files- -or it
may not. The use of components is not required.
The Java Server Pages file has a .jsp extension to identify it
to the server as a
Java Server Pages file.
ACCESS MODELS
A Java Server Pages file may be accessed in at least two
different ways:
A client request comes directly into a Java Server Page.
A request comes through a servlet.
-
92
Servlet generates the dynamic content. To handle the response to
the Client, the
servlet creates a Bean and stores the dynamic content (sometimes
c