Alumni.com Project On In (JAVA) (MASTER OF COMPUTER APPLICATIONS) Under The Supervision Of Mr. Manish Bhatia ” Dynamica India Pvt. Ltd.” Submitted to: - Submitted by:- - 1 - 1
Alumni.com
ProjectOn
In (JAVA)
(MASTER OF COMPUTER APPLICATIONS)
Under The Supervision Of
Mr. Manish Bhatia
” Dynamica India Pvt. Ltd.”
Submitted to: - Submitted by:-Prof. Dr Ashis Nagi Anil Kumar Singh
Roll No-07090600001MCA (VI Semester) Project Session No: 2007-10
Govind Ballabh Pant Engineering College (An autonomous State Government Engineering
College of Uttarakhand)
- 1 -
1
Alumni.com
Acknowledgment
We are thankful to
” Dynamica India Pvt. Ltd. ", for providing us proper guidance to prepare the Project
Training on the topic "Alumni.com". It was impossible to work on the Project without
help of the IT Dept members, who helped us at every step of our Project work.
We are extremely grateful and highly indebted to our advisor Mr. Arvind Kumar
(Project Manager) for supporting us all along and always being there for consultation.
He has been a guide in the true sense of the word and has directed the project in a very
efficient and organized manner.
We thank our examiners Mr. Manish Bhatia (Head of IT Department) for their
suggestions and guidelines to make some improvements in the project.
Finally we thank Mr. Aditya Singh (employee of IT Dept), for his continued drive for
better quality in everything that happens at Dynamica India Pvt. Ltd.. This report is a
small contribution towards the greater goal.
Anil Kumar Singh
Roll No: - 07090600001 MCA 6th Semester
- 2 -
2
Alumni.com
DECLERATION
I Anil Kumar Singh, Student of MCA (2007-2010), Govind
Ballabh Pant Engineering College Pauri Garhwal ,(Uttarakhand), Hereby
declare that Dissertation Case study on “Alumni.com(Keep in
tuche)” in Java Language has been done under the guidance of
Project. Manager (Mr. Arvin Kumar), (Dynamical India Pvt. Ltd.
Naiad.)
Anil kumar singh
MCA (2007-2010)
- 3 -
3
Alumni.com
Table of Contents page-No
1. Introduction 10 Team Structure 112. 2.1 Objective 11 2.2 scope of the system 123. Approach 12 3.1 Study and Analysis Phase 12 3.1.1 Design Phase 13 3.1.2 Coding and Implementation Phase 13 3.1.3 Testing 14 4. SYSTEM ANALYSIS 15 4.1 Feasibility Study 16 4.1.1 Current System Summary 20 4.1.2 Background 20 4.1.3.System Objectives and Current Functionality 20 4.1.4.Current Methods and Procedures 21 4.2 Proposed Methods And Procedures 22 4.3 System Requirement 22 Hardware 23 Software 24 4.4 Functional requirements 24 4.4.1 Data flow diagram 24 4.4.2. Data dictionary 305. List of Tables used 30 5.1 UserDetails 30 5.2 User table 30 5.3 PostDetails 31 5.4 ReplyDetails 316. UML Diagrams 35 6.1An Overview of UML: 35 6.2 Class diagram 367. SYSTEM DESIGNModules of the System 40 7.1 Modules Description 41 7.2 PROJECT CATEGORY 428.SOFTWARE REQUIREMENT SPECIFICATION 43
9.PLATEFORM (Technology/Tool Selection) 44 9.1 Introduction to Java 44 9.1.1 Connectivity using JDBC 46 9.1.2 ABOUT J2EE 48 9.1.3 J2EE Technologies 52 9.1.4JAVA BEANS 55
- 4 -
4
Alumni.com
9.2 BaCK-END 6010. Database Models 65 10.1 Single tier architecture. 65 10.2 Two tier architecture. 65 10.3 N- Tier architecture. 6511 .Software and Hardware Tools 6712 .SCREEN SHOTS 6913 .SYSTEM TESTING 87 13.1 TESTING OBJECTIVES 90 13.2 LEVELS OF TESTING 91 13.3 ACCEPTANCE TESTING 93 13.4 WHITE BOX TESTING 93 13.4 BLACK BOX TESTING 9414 .IMPLEMENTATION 9715. Conclusion 11016. Scope for Future Work 11117. Appendix 112 18. Bibliography 121
CERTIFICATE
- 5 -
5
Alumni.com
This is to certify that the project report entitled ‘Alumni.com’ submitted to Govind
Ballabh Pant University…………. in partial fulfillment of the requirement for the award
of the degree of Master of Computer Applications is an original work carried out by Anil
Kumar Singh, Registration No: 07090600001 under my guidance.
The matter embodied in this project is a genuine work done by the student and has not
been submitted whether to this university or any other University/Institute for the
fulfillment of the requirement of any course of study.
Signature of Guide/Supervisor
- 6 -
6
Alumni.com
COMPANY PROFILE
Dynamic India pvt.Ltd. A QUALITY SOLUTION COMPANY
1.1 Introduction
Project under Organization:
Dynamica India Pvt. Ltd.
Sector-15, Noida (U.P).
ABOUT US :-
DYNAMICA Company works on solutions in the scope web site development, software
development on multiple platforms, multimedia presentation design, and internet
marketing. One of the most perspective directions in our company specialization is
development of solutions for mobile commerce (m-commerce). We develop WAP sites
and PDA compatible sites which become more and more needed year by year
QUALITY MATTERS:-
The main direction of our companies activity is the development of high quality and
efficient managing of web sites, convenient from user point of view, fully functional from
administrating position, meeting all quality standards of modern IT industry and Internet
standards in particular.
We provide our clients with truly flexible solutions. Convenient and reliable in utilizing
products that finally give them a real advantage compared to companies not paying
enough attention to the quality of IT products used in their business process
WE CHOOSE THE BEST FOR YOU:-
- 7 -
7
Alumni.com
Our activity is built on the outsourcing basis, or in other words, we involve specialized
experts who have extensive experience working with technologies which are planned for
project implementation.
The use of outsourcing allows us to achieving the best product quality and decreases the
cost price due to the involvement of outsourced specialists.
At the moment more than 200 various specialists and developer teams from India are
working for our company. Among them a bigger part belongs to programmers and web
designers as well as specialists in Internet advertising and Internet marketing
WE DO HELP:-
Our clients are companies of any level interested in specialized software products
development, increase of presence in high tech communication sectors or releasing e-
commerce projects.
WE WORK INTERNATIONALLY:-
In spite of the fact that our main developer's center is located in Noida (INDIA) we offer
services worldwide. Our CRM system allows us to keep in touch with our clients very
closely.
SOLUTIONS:-
What makes us the obvious choice as a information technology outsourcing consultant and provider, apart from our evident knowledge, expertise and sheer
devotion to our work, is the fact that our solutions go beyond being a mere means to an end. We believe that any solution will be effective only when it perfectly
complements existing business strategies, practices, structures and vision. Each project is unique in its requirements and our approach subsequently differs.
WE SPECIALIZE IN 3 CORE AREAS:-
1. WEB APPLICATION DEVELOPMENT
- 8 -
8
Alumni.com
2. CUSTOM APPLICATION DEVELOPMENT
3. MOBILE SOFTWARE PROGRAMMING
THE OTHER AREAS WE CATER TO ARE:
1. ERP SOLUTIONS2. .NET/ASP PROGRAMMING3. LINUX PROGRAMMING4. JAVA PROGRAMMING5. IBM MAINFRAME6. C++7. UNIX8. TESTING9. ORACLE
- 9 -
9
Alumni.com
PROJECT DETAIL
INTRODUCTION
Starting the project we should fully know about the meaning of project. There are seven
letters in the word “PROJECT” each character has its own technical meaning.
Planning : - This deal with the idea at thinking and which are required for the project.
Resource: - The money problem will be solved and resources fr which collected.
Operating: - The procedure from which the getting job is prepared in a systematic way
is known as operation.
Joint effort: - This is directly proper to a operation output is made of several person
working sincerely is known as JOINT EFFORT.
Engineering: - A well-educated engineer can do this work in a better way to find out
better result. Hence the project is as engineering function.
Co-operation:- To make the project successfully, it is necessary for its success and
completion of project.
Technique: - It must as it gives a better shape. It is not possible to complete the project
without technique.
- 10 -
10
Alumni.com
1.3 Team Structure
Ours is the hierarchical team structure.At the top of hierarchy was the
Supervisor of our project. He divided the whole project into various modules. The
names of my team members are:
1)Anil kumar singh
2)varsha
1.4 Objective
Our objective is to develop a project on keep in touch for our Company employee and
college students . It’s all about managing the Suggestion processing System facilities in
an automated way rather than working manually and thus utilizing the manpower and
resources efficiently and effectively.
Thus, to attain or obtain maximum profit with minimum amount of cost. It is also used to
computerize the system for facility of the employees who are in need of the particular
suggestion of computers so that no problem would increase in the future . The Employee
can add, modify, update, or delete the suggestions as per required and also the nominal
user can inform the collegues .this project about the maintenance keep in touch in future
being carried out.
The core objective of this Project is:
- 11 -
Project Coordinator
Anil kumar singh
Gaurav
11
Alumni.com
To develop a system that will automate the suggestions and chat process.
More easier to run the maintenance process by users.
Also help the employees to get rid of lack of commuction in future those who are
related to the organization .
.4 Scope of the system
The Training manager has decided to computerize the functions or facilities of
sending message and chatting related to computers to be provided to the required
employees. The main objective is to expedite the process of managing activities and
to reduce the process time.
Important features of proposed system are
To reduce the manual lack of communication.
Allow the employee to add or modify a its functionality like message program.
To maintain and to keep in touch of employees with in less as possible time as in
future.
All this information will help the collegues to generate the suggestions for the
employees.
Allow the employees to check that informations’s arrival and departual .
Quick and easy retrieval of data.
Time saving process.
1.5 Approach:
Phase 1 - Study and Analysis Phase
In this phase, the data, facts and figures will be gathered by checking various
documents related to system. It also covers to wipe out of the persons who belong to the
employee and now are living in abroad and far. The problems in the current system will
be identified and necessary improvements will be recommended. Thus a new system, as a
solution will be proposed. The emphasis is on the type of information, the new system
should provide, the required frequency and accuracy of results and other considerations.
The activities of analysis phase will be least structured and more people oriented.
- 12 -
12
Alumni.com
Phase 2 - Design Phase
The design of a system produces the details that state how a system will meet
the requirements identified during system analysis. In this phase, the detailed
specifications for the new system will be formulated. They will describe its features: the
outputs, inputs, files and databases, and procedures – all in a manner that meets project
requirements.
Following the analysis of the existing system, the next step is to develop the
Information System Architecture and Enterprise Data Model (EDM) that will describe
effectively the existing system. The conceptual model will lead to the development of an
Enhanced Entity Relationship Diagram. This will be followed by the development of
relational model that describes the tables (or relations) that can be suitably implemented
in any modern relational DBMS software like Ms Access.
Phase 3 - Coding and Implementation Phase
The activity following logical design, which produces program software, files and
a working system, will be carried out. This process will be initiated by first identifying
the key factors responsible for the layout of the software. Then many suggestions
received at a previous stage are analyzed and categorized according to their nature. Then
the solutions of these problems will be designed and developed.
The physical model will cover all the physical file organization issues leading to the
actual relations that will be implemented on to the system. The Query Implementation
will demonstrate the various queries that will be executed on the relations created during
design phase. This will be followed by the development of user interfaces and their
connectivity with the database.
Phase 4 - Testing
- 13 -
13
Alumni.com
Nothing in this world is perfect. Testing is the process of executing with explicit
intention of finding errors that is, making the program fail. In this process, the close
examination of procedural details will be done. During this phase, the input, output and
external data will be tested. It checks whether the input data is correct and that the desired
output is obtained or not. All the steps above will lead to an application that will suitably
demonstrate the objectives already described.
1.6Time Scheduling (Gantt chart)
Automated tools, specialized notations and modern techniques are often used to
develop software requirement specifications, architectural and detailed designs and the
source code. Management tools such as PERT, Gantt charts, work breakdown structures
and personnel staffing charts may be used to track and control progress.
Systems Development can generally be thought of as having two major components:
Systems Analysis and Systems Design. Systems Design is the process of planning a new
business system or one to replace or complement an existing system. But before this
planning can be done, we must thoroughly understand the old system and determine how
computers can best be used (if at all) to make its operation more effective. Systems
analysis, then, is the process of gathering and interpreting facts, diagnosing problems, and
using the information to recommend improvements to the system.
- 14 -
14
Alumni.com
SYSTEM ANALYSIS
Feasibility Study
A feasibility study is conducted to select the best system that meets performance
requirement. This entails an identification description, an evaluation of candidate system
and the selection of best system for he job. The system required performance is defined
by a statement of constraints, the identification of specific system objective and a
description of outputs.
The key consideration in feasibility analysis are:
1. Economic Feasibility :
2. Technical Feasibility :
3. Operational Feasibility:
Economical feasibility
It looks at the financial aspects of the project. It determines whether the
management has enough resources and budget to invest in the proposed system and the
estimated time for the recovery of cost incurred. It also determines whether it is worth
while to invest the money in the proposed project. Economic feasibility is determines by
the means of cost benefit analysis.The proposed system is economically feasible because
the cost involved in purchasing the hardware and the software are within approachable.
The personal cost like salaries of employees hired are also nominal, because working in
this system need not required a highly qualified professional. The operating-environment
costs are marginal. The less time involved also helped in its economical feasibility. It was
observed that the organization has already using computers for other purpose, so that
there is no additional cost to be incurred for adding this system to its computers.
- 15 -
15
Alumni.com
The backend required for storing other details is also the same database that is
Sql. The computers in the organization are highly sophisticated and don’t needs extra
components to load the software. Hence the organization can implement the new system
without any additional expenditure. Hence, it is economically feasible.
Software Cost :
Manpower Cost :
- 16 -
16
Web Logic Server :20000/-
Oracle : 15000/-
J2EE Kit : Free
Team cost : 25000/-
System Cost : 40,000/-
Total Cost : 100000/-
Alumni.com
Technical Feasibility
It is a measure of the practically of a specific technical solution and the availability
of technical resources and expertise
The proposed system uses Java as front-end and Oracle 8.0 as back-end tool.
Oracle is a popular tool used to design and develop database objects such as
table views, indexes.
The above tools are readily available, easy to work with and widely used for
developing commercial application.
Hardware used in this project are- p4 processor 2.4GHz, 128 MB RAM, 40 GB
hard disk, floppy drive. This hardware was already available on the existing computer
system. The software like Oracle 8i, Weblogic Server, Thin Driver, JDK, JSDK, J2EE
and operating system WINDOWS-XP’ used were already installed On the existing
computer system. So no additional hardware and software were required to purchase and
it is technically feasible. The technical feasibility is in employing computers to the
organization. The organization is equipped with enough computers so that it is easier for
updating. Hence the organization has not technical difficulty in adding this system.
Tools Used :
1) J2EE Library
2) J2SDK 2.0
3) JDK 1.2
4) WebLogic 8.1
5) Oracle 10g
- 17 -
17
Alumni.com
Duration of Project:-
Operational Feasibility
The system will be used if it is developed well then be resistance for users that
undetermined
No major training and new skills are required as it is based on
DBMS model.
It will help in the time saving and fast processing and dispersal of
user request and applications.
New product will provide all the benefits of present system with
better performance.
Improved information, better management and collection of the
reports.
- 18 -
18
Time Duration
For study 15 days
Designing 20 days
For development 90 days
Testing 15 days
Total time 140 days
Alumni.com
User support.
User involvement in the building of present system is sought to
keep in mind the user specific requirement and needs.
User will have control over there own information. Important
information such as pay-slip can be generated at the click of a
button.
2.1 Current System Summary
2.1.1Background
The existing system of Alumni the Company is a manual system. All the functions
concerning to this system are handled up manually by Users and the concerned
employees.those who are looking for a chatting and get in touch in future.
Some of the major drawbacks in existing System are due to manual processing.
Some of these drawbacks in existing system are:
The retrieval of information at the required moment is difficult.
Number of fields of entry much low than the required.
All the entry of the modules is manually and takes a lot of man work and time.
The present system is partially manual and that makes the system laborious and error
prone
The present system is unable to provide timely and accurate information.
Immense care and paperwork was required which made system out dated.
2.1.2.System Objectives and Current Functionality
The major requirement of our system is that the new users/employees
should get proper facility regarding to remove technical problems and software
problems of computers too so that all the employees can get properly aware of the
- 19 -
19
Alumni.com
environment being entertained in the office and hence they could give their best qualities
to their work.
The goal of the system is to tackle the above stated problems in an efficient
and effective manner, as follows:
Incorporate every addition appropriate.
Ensure user friendliness.
Avoid confusion and conflicts.
Make end user usage easy.
Increase flexibility.
General aware to make a growing organisation.
2.1.3.Current Methods and Procedures
To automate our system we have provided several functions for different
functionalities such as we are maintaining all details of the employees that are registered .
Secondly, monitoring the status of the stock. Equipments being used in the organization.
2.1.4.Deficiencies
The current system suffers from following problems:
i. Cost incurred due to stationary
ii. Cost incurred due to wastage of time
iii. Redundancy of information
iv. Lack of security
v. Data Inconsistency
- 20 -
20
Alumni.com
2.1.5.Equipment Being Used
We have automated the manual system, in which the entire thing was being
done manually. For e.g. details of the training, faculty availability were prepared on the
black and white sheet. Also, details of every thing were kept on the papers etc. So
maintaining them was quite typical.
2.2Proposed Methods And Procedures
2.2.1 Summary of Improvements
2.2.1.1. Functional Improvements
By introducing automated system we can easily gather the information or details
about the candidates generated in the organisation. The user of Computer department can
easily add, modify, update or delete the related information..
The proposed system enjoys the following advantages
1. User friendly approach
2. Quick and easy retrieval of data
3. High data security is provided
4. Easy backup and record keeping facility is provided
5. Restricting un-authorized accessing
6. Time saving process
7. Easy to maintain and remove problems of the computers in the organization.
8. Instant results are obtained
9. Less chances of making errors
2.2.1.2. Timeliness
It is not time consuming because the details often be easily send employee and user
specific data.
2.3 System Requirement
A major element in building system is selecting compatible information. The system
analyst has to determine all information related to the users.
- 21 -
21
Alumni.com
Hardware /software selection begins with requirements analysis, followed by a request
for proposal. Knowledge of computer and of software is helpful; as a basis for selecting
hardware/software. Today’s maturing market means a wide choice for the user. Searching
for the best product requires specialized knowledge and a serious approach. This is when
an experienced analyst or outside constant can contribute to a successful; installation.
There are several factors for the selection. They are:-
1). Define system capability that make sense for business. Computers have proven values
to business in the following areas:-
a). Cost Reduction
b). Cost avoidance
c). Improved service
d). Improved profit
1). Specify the magnitude of the problem; i.e. clarify whether selection entails a few
peripherals or a major decision concerning the mainframe.
2). Assess the competence of the in-house staff. This involves determining the expertise
needed in different area.
3). Consider hardware and software as a package. This approach ensures compatibility. In
fact, software be considered first, because often the user secures the hardware ad then
wonders what software is available for it. Remember that software solves problem and
hardware drives the software to facilitate solutions.
4). Develop a schedule for the selection process. Maintaining a schedule helps keep the
project under control.
5). Provide user introduction. This is crucial, especially for first-time user. Selecting the
system to the user staff, providing adequate training and preparing an environment
conducive to implementation are prerequisites for system acquisition.
- 22 -
22
Alumni.com
Hardware
The hardware used for the project are:
Processor : Intel Pentium or more
Ram : 256 MB or more
Cache : 512 KB
Hard disk : 16 GB hard disk recommended for primary partition.
Software
The software used for designing the project are
Operating system : Windows XP or later
Screen design : java, jsp
Database : MS Access
Server : Sql server
- 23 -
23
Alumni.com
2.4 Functional requirements
2.4.1 Data flow diagram
A data flow diagram is graphical tool used to describe and analyze
movement of data through a system. These are the central tool and the basis from
which the other components are developed. The transformation of data from input to
output, through processed, may be described logically and independently of physical
components associated with the system. These are known as the logical data flow
diagrams. The physical data flow diagrams show the actual implements and
movement of data between people, departments and workstations. A full description
of a system actually consists of a set of data flow diagrams. Using two familiar
notations Bourdon, Gane and Sarson notation develops the data flow diagrams. Each
component in a DFD is labeled with a descriptive name. Process is further identified
with a number that will be used for identification purpose. The development of DFD’s
is done in several levels. Each process in lower level diagrams can be broken down
into a more detailed DFD in the next level. The lop-level diagram is often called
context diagram. It consists a single process bit, which plays vital role in studying the
current system. The process in the context level diagram is exploded into other
process at the first level DFD.
A DFD is also known as a “bubble Chart” has the purpose of clarifying system
requirements and identifying major transformations that will become programs in
system design. So it is the starting point of the design to the lowest level of detail. A
DFD consists of a series of bubbles joined by data flows in the system.
DFD Symbols:
Terms used in DFD
Process
A process transforms data values. The lowest level processes are pure
functions without side effects. An entire data flow graphics high level
process.
- 24 -
24
Alumni.com
Graphical representation:
Data flows
A data flow connects the output of an object or process to input of
another object or process. It represents the intermediate data value within a
computation. It is represented by an arrow and labeled with a description of
data, usually its name or type.
Actors
An actor is active object that drives the data flow graph by producing
or consuming values.
Data store
A data store is a passive object with in a data flow diagram that stores
data for later access.
External Entity
- 25 -
25
Graphical Representation:
Graphical Representation:
Graphical Representation:
Alumni.com
A rectangle represents an external entity such as a librarian ,a library
member.
OutPut Symbol
This box represented data production during human computer interaction
Constructing DFDS:
Several rules of thumb are used in drawing DFD’s:
Process should be named and numbered for an easy reference. Each name
should be representative of the process.
The direction of flow is from top to bottom and from left to right. Data
traditionally flow from source to the destination although they may flow back
to the source. One way to indicate this is to draw long flow line back to a
source. An alternative way is to repeat the source symbol as a destination.
Since it is used more than once in the DFD it is marked with a short diagonal.
- 26 -
26
Graphical Representation:
Graphical Representation:
Alumni.com
When a process is exploded into lower level details, they are numbered.
The names of data stores and destinations are written in capital letters. Process
and dataflow names have the first letter of each work capitalized
DFD typically shows the minimum contents of data store. Each data store
should contain all the data elements that flow in and out.
Questionnaires and Suggestions should contain all the data elements that flow
in and out. Missing interfaces redundancies and like is then accounted for
often through problems in the computer systems.
- 27 -
Alumnus
Search Information
View Information
Search details
View details
Send Response
Registration
Login
Post details.
Edit & Maintain details
View Responses
ADMINISTRATOR
Edit Inform
ation
View
Regd. U
sers
Post Inform
ation
VIEWER POSTER
27
Alumni.com
- 28 -
28
Alumni.com
- 29 -
Database
Search Details
View Details
Send Response
details
Category
Database
Login Process
View Responses
Post details
Editdetails
Registered Users
Administrator
MaintainCategory View
Registered Users
Send Notification
Manage Info
MaintainDetails
Database
Viewer
Search Information
View Information
Poster
New Poster
29
Alumni.com
2.4.2. 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 required, Serves as the basis for identifying
database requirements during system design.
Uses of Data Dictionary:
1. To manage the details in large systems.
2. To communicate a common meaning for all system elements.
3. To Document the features of the system.
4. To facilitate analysis of the details in order to evaluate characteristics and
determine where system changes should be made.
5. To locate errors and omissions in the system.
List of Tables used:
The following are the tables used in this project
(1) UserDetails: This table shall store general information of the contains following fields.us UserId
- 30 -
30
Alumni.com
Mailed
Password
DisplayName
Role
joiningDate
PostCount
ReplyCount
Groupcount
1. User table
user name
password
phone no
Email id
2.PostDetails:
PostedPosted
PosterPoster
PostdatePostdate
viewCountviewCount
replyCountreplyCount
VoteCountVoteCount
RatingRating
ReplyDetails:
Repalyid
Posted
replyposter
- 31 -
31
Alumni.com
Replydate
Content
Viewcount
Votecount
Rating
Table’s description
1.UserDetails: This table shall store general information of the contains following fields.users. It
Field name Data type Constraint/Description
userIduserId NumberNumber Primary key, Auto Generated Primary key, Auto Generated
MailedMailed Varchar2Varchar2 Not Null (used as loginId)Not Null (used as loginId)
PasswordPassword Varchar2Varchar2 Not NullNot Null
displayNamedisplayName Varchar2Varchar2 Not NullNot Null
RoleRole Varchar2Varchar2 Not Null (admin, member)Not Null (admin, member)
joiningDatejoiningDate DateDate Not NullNot Null
postCountpostCount NumberNumber Count of posts submitted by the user on all Count of posts submitted by the user on all forumsforums
replyCountreplyCount NumberNumber Count of replies submitted by the user on all Count of replies submitted by the user on all forumsforums
- 32 -
32
Alumni.com
groupsCountgroupsCount NumberNumber Count of groups joined by the userCount of groups joined by the user
forumsCountforumsCount NumberNumber Count of forums joined by the userCount of forums joined by the user
(2) PostDetails: This table shall store information post of users on a forum. It contains following fields.
Field name Data type Constraint/Description
Posted Number Primary key (Auto Generated)
Poster Number Foreign Key (userId of UserDetails)
Postdate Date Not Null
Contents Varchar2 Not Null
viewCount Number Not Null
replyCount Number Not Null
voteCount Number Vote Given by the viewers to the post.
- 33 -
33
Alumni.com
Rating Varchar2 Rating given on the basis of votes.
3. ReplyDetails: This table shall store information replies of a post on a his table shall store information replies of a post on a forum. It contains following fields.forum. It contains following fields.
Field name Data type Constraint/Description
replyIdreplyId NumberNumber Primary key (Auto Generated) Primary key (Auto Generated)
PostedPosted NumberNumber Foreign Key (PostDetails)Foreign Key (PostDetails)
replyPosterreplyPoster NumberNumber Foreign Key (userId of UserDetails)Foreign Key (userId of UserDetails)
replyDatereplyDate DateDate Not NullNot Null
ContentsContents Varchar2Varchar2 Not NullNot Null
- 34 -
34
Alumni.com
viewCountviewCount NumberNumber Not NullNot Null
voteCountvoteCount NumberNumber Vote Given by the viewers to the reply.Vote Given by the viewers to the reply.
RatingRating Varchar2Varchar2 Rating given to the reply on the basis of Rating given to the reply on the basis of votes.votes.
2.4 UML Diagrams
2.4.1An Overview of UML:
The UML is a language for
Visualizing
Specifying
Construction
Documenting
These are the artifacts of a software-intensive system.
Basic building blocks of the UML
The vocabulary of UML encompasses three kinds of building blocks:
Things
Relationships
Diagrams
Things are the abstractions that are first-class citizens in a model;
Relationships tie these things together;
Class diagram:
- 35 -
35
Alumni.com
A class is a description of a set of objects that share the same attributes,
operations, relationships, and semantics. A class implements one or more interfaces.
Graphically a class is rendered as a rectangle, usually including its name, attributes
and operations, as shown below.
Interface:
An interface is a collection of operations that specify a service of a class or
component. An interface describes the externally visible behavior of that element.
Graphically the interface is rendered as a circle together with its name.
Collaboration:
Collaboration defines an interaction and is a society of roles and other
elements that work together to provide some cooperative behavior that’s bigger than
the sum of all the elements.
Graphically, collaboration is rendered as an ellipse with dashed lines, usually including
only its name as shown below.
Chain
Use Case:
Use case is a description of a set of sequence of actions that a system
performs that yields an observable result of value to a particular things in a model.
Graphically, Use Case is rendered as an ellipse with dashed lines, usually including
only its name as shown below.
- 36 -
36
Chain of
Responsibility
Place Order
Alumni.com
Contents:
Class Diagrams commonly contain the following things:
Classes
Interfaces
Collaborations
Dependency, generalization and association relationships
Use Cases
Use Case diagrams are one of the five diagrams in the UML for modeling the
dynamic aspects of systems(activity diagrams, sequence diagrams, state chart diagrams
and collaboration diagrams are the four other kinds of diagrams in the UML for
modeling the dynamic aspects of systems). Use Case diagrams are central to modeling
the behavior of the system, a sub-system, or a class. Each one shows a set of use cases
and actors and relationships.
Common Properties:
A Use Case diagram is just a special kind of diagram and shares the same
common properties, as do all other diagrams- a name and graphical contents that are a
projection into the model. What distinguishes a use case diagram from all other kinds
of diagrams is its particular content.
Contents:
Use Case diagrams commonly contain:
Use Cases
Actors
Dependency, generalization, and association relationships
Like all other diagrams, use case diagrams may contain notes and constraints.
Use Case diagrams may also contain packages, which are used to group elements of
your model into larger chunks. Occasionally, you will want to place instances of use
- 37 -
37
Alumni.com
cases in your diagrams, as well, especially when you want to visualize a specific
executing system.
- 38 -
38
Authentication Student,
employ
Valid
User
administrator
Teacher,Frend
Alumni.com
- 39 -
39
EntriesDeletionModificationsDetails
RegstrationProfileScrape,send,Read.Dleat
RegstrationProfileScrape,send,Read.Dleat
User
Authentication
Student, Employ
Valid
Administrator
Teacher,Employ, friend
Alumni.com
SYSTEM DESIGN
Well-structured designs improve the maintainability of a system. A structured system is
one that is developed from the top down and modular, that is, broken down into
manageable components. In this project we modularized the system so that they have
minimal effect on each other.
3.1 Modules of the System
- 40 -
40
Alumni.com
3.2 Modules Description
3.2.1.Administrator Module:
It is the user say employee behind the machines. They are used for effective inter-
user problems communications and analyzing the productivity of the employee. Four
factors are considered namely
a) Entries
- 41 -
Main Module
Administrator Module Search
frend
Login
Registration Process
Poster
41
Alumni.com
b) Details
c) allocations
d) Deletions
1. Search friends: Through this module Viewer can view friends, can
also send response to particular poster.
2.login:In this module Poster enter the User id and password is checked and only valid user id and password will get entry into member’s zone. This is a security feature to avoid entry of unauthorized users.
3.Registration Process: Through this module new posters can registered them. After giving their details, they will get a user id and password. Then to get entry into poster section they need to provide this id and password and only poster with valid id and password will get entry into poster zone. This is also a security feature to avoid entry of unauthorized user.
4.Poster : Through this module a poster can post a update details. He can update including user name and password and search and shortlist the Viewers,He can reply to the viewers .
5.Administrator:
This is the Administrator’s module by which he keep the eye on whole site and maintain and upgrade the site’s service for sake of users. Administrator can show banner ads of others, which help the site in revenue.
- 42 -
42
Alumni.com
PROJECT CATEGORY
This Project is coupled with material on how to use the various tool,
sub sets available in JSP, SERVLETS AND ORACLE.
The need of today’s software development is competence in a GUI
based front-end tool, which can connect to Relational Database
engines. This gives the programmer the opportunity to develop client
server based commercial applications.
These applications give users the power and ease of a GUI with the
multi user capabilities of Novell, UNIX or WinNT based RDBMS engines
such as ORACLE .
All the important coding techniques used by programmers, in OOPS
based coding is brought out in full and in great detail.
SOFTWARE REQUIREMENT SPECIFICATION
Software requirement specification (SRS) is the starting point of the software
development activity. Little importance was given to this phase in the early days of
software development. The emphasis was first on coding and then shifted to design.
- 43 -
43
Alumni.com
As systems grew more complex, it became evident that the goals of the entire system
cannot be easily comprehended. Hence the need for the requirement analysis phase arose.
Now, for large software systems, requirements analysis is perhaps the most difficult
activity and also the most error prone.
Some of the difficulty is due to the scope of this phase. The software project is
initiated by the client’s needs. In the beginning these needs are in the minds of various
people in the client organization. The requirement analyst has to identify the
requirements by talking to these people and understanding their needs. In situations
where the software is to automate a currently manual process, most of the needs can be
understood by observing the current practice.
The SRS is a means of translating the ideas in the minds of the clients (the input),
into formal document (the output of the requirements phase). Thus, the output of the
phase is a set of formally specified requirements, which hopefully are complete and
consistent, while the input has none of these properties.
PLATEFORM (Technology/Tool Selection)
Introduction to Java
Java is a high-level, third-generation programming language like C, FORTRAN,
Perl and many others. It is a platform for distributed computing – a development and run-
time environment that contains built-in support for the World Wide Web.
History of Java
- 44 -
44
Alumni.com
Java development began at Sun Microsystems in 1991, the same year the World
Wide Web was conceived. Java’s creator, James Gosling did not design java for the
Internet. His Objective was to create a common development environment for consumer
electronic devices which was easily portable from one device to another. This effort
evolved into a language, code named Oak and later renamed Java that retains much of the
syntax and power of c++, but is simpler and more platform-independent.
Java Features
Some of the important features of Java are as follows:
Simplicity
Orientation
Platform Independence
Security
High Performance
Multi Threading
Dynamic linking.
Garbage Collection.
One of the most important features of Java is platform independence, which
makes it famous and suitable language for World Wide Web.
Why Java is Platform Independent?
Java is Platform Independent because of Java Virtual Machine (JVM).
Java Virtual Machine (JVM)
- 45 -
45
Alumni.com
The client application or operating system must have a java byte-code interpreter
to execute byte-code instructions. The interpreter is a part of a larger program called the
JVM. The JVM interprets the byte code into native code and is available on platforms
that support Java.
When the user runs a Java program, it is up to the JVM to
load, possibly verify, and then execute it. The JVM can perform this function from within
a browser or any other container program or directly on top of the operating system.
When a browser invokes the JVM to run a Java program, the JVM does a number
of things:
It validates the requested byte-code, verifying that they pass various
formatting and security checks.
It allocates memory for the incoming java class files and guarantees that the
security of JVM is not violated. This is known as the class loader module.
It interprets the byte code instructions found in the class files to execute the
program.
Connectivity using JDBC
There are four kinds of drivers available in Jdbc: -
Jdbc-Odbc Bridge Driver
Partly Java Driver
Native Driver
Pure Java Driver
Jdbc-Odbc Driver:
- 46 -
46
Alumni.com
This provides a bridge between the Jdbc APIs and the Odbc APIs. The bridge
translates the standard JDBC calls to corresponding ODBC calls, and sends them to the
ODBC data source via ODBC libraries. This configuration requires every client that will
run the application to have the JDBC-ODBC bridge API, the ODBC driver and the native
language-level APIs. As a result this kind of driver is most appropriate on a corporate
network where client installations are not a major problem.
Partly Java Driver:
Jdbc database calls are translated into vendor-specific API calls. The database will
process the request & send the result back through the API, which in turn forwards them
back to the Jdbc drivers. The Jdbc driver translates the result to the Jdbc standard &
returns them to the Java application, hence this kind of driver has same problem that was
with Jdbc-Odbc driver and is mostly used in Intranet.
These are true 100% pure java real JDBC drivers. All the mechanism of the client
access is coded completely in java. There are no calls out off or into the virtual machine
and native code and there is no need for some costly server in the middle. Type 4 drivers
are different for different RDBMS and are available for almost all major RDBMS
vendors.
Pure Java Driver:
This is a platform independent driver as this kind of driver remains on server.
This kind of driver is provided by third party vendor. This middle-ware server is able to
connect its java clients to many different databases. These are really non-drivers. They
are front end for database access servers and connectors. For ex: The proxy driver talks to
the middle tier concentrator or access server. The concentrator or access server in turn
uses ODBC (or) vendor specific protocol to talk to the actual database. The requirement
for collaborating middle tier server is often cumbersome and very expensive too.
- 47 -
47
Alumni.com
Native Driver:
This kind of driver converts JDBC calls into the network protocol used by Database
directly. This allows a direct call from client machine to the Database server.
These are true 100% pure java real JDBC drivers. All the mechanism of
the client access is coded completely in java. There are no calls out off or into the virtual
machine and native code and there is no need for some costly server in the middle. Type
4 drivers are different for different RDBMS and are available for almost all major
RDBMS vendors.
Client Side Interface:
In client side interface we are using:-
Servlet / JSP – for Internet Based Application.
Servlet / JSP are middle-ware technologies which are used in web based projects because
they use:-
HTTP Protocol to handle Request and Response.
They are invoked through Browser.
They give output in HTML format.
ABOUT J2EE
Introduction to J2EE:
The multi-tier architecture such as COBRA has got its own advantages in terms of
scalability, performance and reliability .In a multi-tier architecture, a client does not
interact directly with the server. Instead, it first contacts another layer called Middleware.
The middleware instantiates the server applications and messages the server object. It
returns results to the clients. The presence of a middleware layer allows programmers to
- 48 -
48
Alumni.com
concentrate on business logic of application. The middleware handles low-lever services,
such as thread handling, security, and transactions management.
Sun Microsystems introduced the J2EE application server and the enterprise Java
Bean (EJB) specifications as a venture into the multi-tier component architecture. J2EE
functions as a middle tier server in three tier architecture
It provides certain specifications that can be used to implement enterprise
solutions for certain all types of business requirements. J2EE also offers cost effective
solution for business solution.
J2EE is used for developing, deploying and executing applications i a distributed
environment. The J2EE applications server acts as a platform for implementing various
server side technologies Servlets, Java Server Pages (JSP) and Enterprise Java Bean
(EJB). J2EE allows you to focus on your business logic program. The business logic is
coded in java program, which are reusable component that can be accessed client
program EJB runs on J2EE server.
In J2EE security is handled almost entirely by platform and its admin. The
developer does not have to worry about writing the security logic.
J2EE Architecture:
The J2EE SDK architecture consists of the following components:
The J2EE server
The EJB Container
The Web Container
The J2EE server provides the EJB and web containers. The J2EE server
enforces authenticating users. The either service provided by the J2EE server are
listed here below.
It allows client to interact with Enterprise Bean.
It enables a web browser to access servlets and JSP files
- 49 -
49
Alumni.com
It provides naming and directory services to enable users and
various services to locate and search for services and components.
The EJB container manages the execution of Enterprise Bean for J2EE server.
EJB is a specification for making server side component that enable and simplifies the
task of creating distributed objects. EJB component provide services such as transaction
and security management and can be customized during deployment.
The web container manages the executing of JSP and servlets for J2EE
applications web components and their container run on the J2EE server. Servlets of the
java program that can be deployed on a java enable web server to enhances and extend
the functionality of the web server for example you can write a servlets to add a manager
service to a website.
Servlet can also be used to add dynamic content to web pages. Java Server Page
(JSP) adds server side programming functionality to java. JSP consists of regular Html
tags representing the static content and code enclosed within special tags representing the
dynamic content. After compilation, a JSP generates a servlets and therefore incorporates
all the servlets functionalities.
J2EE Application:
J2EE applications are complex access data from a variety of source
and cater to a variety of client. To manage these applications the business
function conducted in the middle tier. The J2EE platform acts as a middle tier and
provides the necessary environment needed by the application. The J2EE
platform provides” write once, run anywhere”, portability and scalability for multi-
tier application. It also minimizes complexity for building multi-tier application.
- 50 -
50
Alumni.com
To create a J2EE application we need to create following three
components:
(1) J2EE application client
(2) Enterprise Bean
(3) Web component
Each of these components is packaged into a file with a specified file
format. A J2EE application client is a Java application that run in a environment
that enable it to access to the J2EE services. A J2EE application client is
packaged into a .jar (Java archive) file. The web components are packaged into
a .war (Web archive) file.
An Enterprise Bean consists of three files: the
EJB class, Home and Remote Interfaces. The Enterprise Beans are bundled into
an EJB.jar file. The .jar, .war and EJB.jar are assembled into a J2EE application,
which is an .ear file. The .ear file is then deployed to the J2EE server.
The race for market share in the database industry has increased with the
advent of client-server platforms. Oracle is one of the most successful companies that
has released a number of development tools including SQL *PLUS, PL/SQL that
enables faster and easier application development and its management.
Oracle is the robust Database System, it support very large database.
Moreover Oracle is widely used as back end for client / server applications.
Administrative tools of Oracle help in securing the Data / Information.
Process of creating a J2EE application:
- 51 -
51
Alumni.com
Assembled
Deployed
J2EE Technologies:
The J2EE includes many technologies such as:
Enterprise Java Beans (EJB)
Remote Method Invocation (RMI)
Java Naming and Directory Interface (JNDI)
Java Database Connectivity (JDBC)
Java Transaction API (JTA)
Java Transaction Services (JTS)
- 52 -
52
Enterprise Bean (.jar file)
Component (.jar file)
J2EE Application Server (.jar file)
J2EE Server
Alumni.com
Java Messaging Services (JMS)
Java Servlet & Java Server Pages (JSP)
Extensible Markup Language (XML)
EJB:
Enterprise Java Beans (EJB) is “write once, run anywhere” middle tier
component consisting of method that implements the business rule. Enterprise
Bean encapsulates the business logic. There are two types of Enterprise Bean:
Entity Bean and Session Bean.
RMI:
Remote Method Invocation is defined for the communication of remote
objects in the middle tier of the distribute application. It enables a Java object to
communicate remotely with other Java object.
JNDI:
Java Naming and Directory Interface is an extension to Java platform and
provide multiple Naming and Directory services. A Naming services provide a
mechanism for locating distributed object. A Directory services organize the
distributed object and other resources such as file in hierarchical structure.
Directory services allow resources to be linked virtually so as located in to
directory services hierarchy. There are different types of Directory services. JNDI
allows the different types of Directory services to be link. Thus client can use any
type of directory services.
JDBC:
Java Database Connectivity provides a Database programming API for
Java program. A JDBC API contains a set of classes and Interfaces that are
used to connect a database build using any DBMS or RDBMS. It also submit
SQL query to a database and retrieve its and processes the result of SQL query.
JTA & JTS:
Java Transaction API (JTA) and Java Transaction Service (JTS) are
transaction API. One can use these API to democrat whether the transaction
starts or ends.
- 53 -
53
Alumni.com
JMS:
Java Messaging Service is an API that J2EE platform include to send
mail via Internet.
Servlet:
Servlets are used to develop a variety of web-based application. They
make use of the extensive power of the Java API such as networking and URL
access, multithreading, database connectivity, internationalization, RMI and
object serialization. Java Server Pages (JSP) adds server side programming
functionality to Java. Both Servlet and JSP allow the creation of database driven
web application and have server side programming capability.
XML:
J2EE uses Extensible Markup Language as a Markup language to
describe the contents. The described file created when deploying the J2EE
application is an XML file.
J2EE SDK TOOLS:
J2EE SDK includes following tools:
1. The Deployment Tool.
2. The J2EE Server.
3. The Cloud Scale Server.
4. The Clean-up Script.
5. The Packager Tool.
6. The Realm Tool.
7. The Run Client Script.
8. The Verifier Tool.
- 54 -
54
Alumni.com
The J2EE Security:
The architecture of the J2EE is such that it enforces security in the application. In
order to access the J2EE services, a user need to prove his/her identity. Such users are
called J2EE users and process is called authentication. The J2EE authentication services
are different from security of the operating system. The users of the operating system and
the users of the J2EE belong to a different realm. A realm is a group of users that have
the same authentication policy. The users of J2EE belong to a two different realms that
are respectively authentication by certificates and defaults. J2EE certificate to
authenticate a web browser client. In most cases, the J2EE services use the default realm
to authenticate a user. J2EE users may also belong to a group. A group is a collection of
users who have common feature for eg. The user belonging to a group may all belonging
to a group coding same module. Similarly project managers might belong to a different
group.
When J2EE application client execute its request that you enter login id
and password. If the combination of both username and password correct the J2EE
allow you to access the services.The J2EE server also enforces security by process
known as authentication. Authorization is a process by which the permissions are
assigned by server to invoke the method of Enterprise Bean.
JAVA BEANS
The java beans specification allows software components to be written in java,
which encapsulate the logic behind the web application and remove the bulk of the code
that would otherwise clutter up JSP’s. The result is JSP code that is simpler, easier to
maintain and which is more readily accessible to non-programmers.
- 55 -
55
Alumni.com
A bean uses properties to describe internal data that affects how it works and
what it shows. In java the actual bean property data is usually a private or protected field,
which can be edited by publicly available methods. In other words beans allow access to
internal data via public get and set methods. This confirms to object orientation norms,
which hide internal data from users and explore it only through accessor methods.
Another aspect of this component is that it should be able to communicate with other
objects or beans. Java beans accomplish this by firing events and listening to them. A
bean that is interested in what happens to an object external to itself can register itself as
a listener for various events in that object. Conversely an external object can register
itself to listen to that bean. This concept is really the key to providing standalone software
components.
BOUND PROPERTIES:
One way of exporting events is to use bound properties. When a property
value changes a bound property can inform other parts of the application that its value is
changed.
BEAN EVENTS:
The property change support class should cater for most of the needs.
However on many occasions beans will still need to communicate even though no
property change activity has occurred.
BEAN PERSISTANCE AND STORAGE:
For a component to be really useful it must be possible to save it and any
values it may contain and reload it to the same state at a later date. No matter how
wonderful the component we create it will not be used much if it has to reset every time it
is retrieved. Java beans use the serializable interface to address these issues.
- 56 -
56
Alumni.com
The serializable interface has no methods to implement. It is simply on indicator
to the compiler that object may be made persistence by serialization. In practice
serialization generally means saving the bean to a file using the object output stream
classes. Then to restore the bean to read from the same file using object input stream. To
make java bean to be serializable we need to do is add the serializable interface in the
class declaration.
JDBC
There are many classifications of databases available as Hierarchical database, Network
database, Relational database, Object databases and soon. Due their flexibility Relational
database management systems are most successful bread of databases in the history of
computing. Ex: - Oracle, IBMdb2, and Microsoft SQL Server.
A technology that enables JSP base applications to interact directly with database
engines is called Java Database Connectivity and is an integral part of Java platform.
JDBC/JSP based web application access the database connections. These connections
must be managed carefully by the application especially if a large number of concurrent
users may be accessing them. To make this performance optimization JDBC uses a
mechanism called connection pooling. The evaluation of this open database access
technology has led to a mirade of driver architecture.
Interaction of JSP Page with JDBC
- 57 -
57
Alumni.com
Application Server Machine
Client Machine
Browser
with
HTML
DB Server Machine
Here the browser using the web application is not required to support java at all.
The JSP has full control over how many JDBC connections are made to the server. The
client never makes direct JDBC connection to the server. This solution can work readily
through a firewall, only standard HTTP is used between the web server and the client.
As a bonus this solution sends itself to easily secured information simply by
adding secured socket layer support to the web server. Because of this separation of the
presentation from the business logic, which is separated from the database logic, this sort
- 58 -
58
Web server
JSP Engine JDBC Driver
RDBMS Server
Alumni.com
of system is often called three tiers of the system. Although the application server and
database server can also running on the same server machine.
There is still one minor problem with this scenario. Project personal accessing the
JSP page containing the embedded JDBC code can easily and inadvertently modify the
database access code and this may result in an erroneous application or even corrupted
database. There are 2 solutions for this:
1. Create java beans or java classes that encapsulate all the JDBC operations. This is
significantly better solution. But instantiation, initialization and parameterization
of the java class or the beans can still represent a significant amount of embedded
java code with in the JSP.
2. Create a tag extension set to ‘pushdown’ all the database access logic. The data
access logic programmers write the set of custom tags. The JSP application logic
designers will then use the set of custom tag to create their application.
- 59 -
59
Alumni.com
JSP Engine
JSP’s
Custom tag Custom Java
extension beans/classes
JDBC Driver Other DB access Technologies
BaCK-END
ORACLE 10g
Why we are using Oracle (RDBMS)?
Some of the merits of using Oracle (RDBMS) are as under:
- 60 -
60
Alumni.com
Centralization of database.
Client Server Technology.
Security.
Normalization of Data Base.
Relationship.
Transaction Processor.
It gives some internet related features.
Hence because of these features we are using Oracle as a back-end technology.
Weather you are working on LAN projects or Distributed projects, there are two
sides of it:-
Front End
Back End
Front End remains on client side. Front end is made for end user who uses our
application. Basically in front end, our input-output forms reside which takes the input
from the client and gives output back to client.
Backend remains on server side and has two components viz.
Server side programs
Data Base
Database is the most important thing in this universe as database gives identity to a
thing. It provides us with a repository where we can store ample amount of data, at one
place. Without a database, existence of a thing is impossible.
While working on a project first step is to design a database.
What is a database?
- 61 -
61
Alumni.com
Data Base is a collection of tables and table is a collection of records in a tabular
form i.e. in row and columns format.
Data Base can be divided into two parts:-
RDBMS
DBMS
We will be using RDBMS (Relational Database Management System) in our
project i.e. oracle 8.0 Enterprise Edition.
ABOUT ORACLE 10g
Oracle 8.0 contains all the features of previous version. It also supports some new
features & enhancement to some existing features. Oracle servers provide deficient &
effective solution for the major features.
Large Database & Space Management Control
Oracle supports the largest database potential of hundreds of Giga Bytes in size.
To make efficient use of expensive devices, it allows full control of space usage.
Many Concurrent Database Performances
It supports large no of concurrent users executing a variety of database
applications operation on the same data. It minimizes data connection & guarantees data
concurrency.
High Transaction Processing Performance
Oracle maintains the processing features with a high degree of overall system
performance. Database users don’t suffer from slow processing performance.
High Availability
Oracle works 24 hours a day with no downtime or limited database throughput.
Normal system operation such as database backup & partial system failure doesn’t
interrupt database use.
Controlled Availbility
- 62 -
62
Alumni.com
Oracle can selectively control the availability of data at the database level & sub
database level. E.g. an administrator can disallow use of a specific application .Data can
be reloaded without affecting other application.
Industry Accepted Standards
Oracle adheres to industry accepted standards for the data access language
operating system, user interface & network communication protocols.
Manageable Security
To protect against unauthorized database aspects & users, Oracle provides failsafe
security features to limit & monitor the data area. The system makes it easy to manage
even the most completed designs for data assets.
Database Enforced Integrity
Oracle enforces data integrity “Business rules”, that dictate the standards for
applicable data. As a result, the cost of coding & managing checks in many database
applications is eliminated.
Distributed Database System
For community environment that are connected via networks, Oracle combines
the data physically located on different computers in one logical database that can be
accessed by all the network users. Distributed systems have same degree of user
transparency & data consistency as non-distributed systems, yet receive the advantages of
local database management.
Portability
Oracle software is compatible to work under different operating system & same
on all system. Applications developed on Oracle can be used on virtually any system with
little or no more modification.
- 63 -
63
Alumni.com
Compatibility
Oracle software is compatible with industry standards, including most industry
standard operating systems. Applications developed on Oracle can be used on virtually
any system with little or no modification.
Connectivity
Oracle software allows different types of computers & operating system to share
information in networks.
Improved Select Statement
A new feature of the select statement allows a sub query to be used in place of a
table in a from clause.
Now when we are discussing Database, there is one more thing attached to
it, i.e. “ Data Base Models ”
Database Models
There are three kinds of database models:-
Single tier architecture.
Two tier architecture.
N- Tier architecture.
Single tier Architecture:
In this kind of architecture, database and client application remains on one machine
i.e. there is no client-server technology, there is no centralization of database, and
basically it is a stand alone system.
- 64 -
64
Alumni.com
Two tier Architecture
In this kind of architecture, database and client application is on two different
machines. i.e Database on one machine and the application on another machine. In this
type of architecture, the implementation of client-server technology is done and
centralization of data base is there, but it has two demerits:-
Security is not there
Multiple Client access is not there.
N- Tier Architecture: -
In this kind of architecture, there is a middle-ware in between the client and
database. Middle ware checks the validity of the client i.e. weather the client can access
the database or not. Hence there is security in it as well as middle-ware allows multiple
clients access.
What is Middle-Ware?
Middle-ware is a concept. Middle-ware provides centralization of business logic
i.e. instead of putting logic on each and every client machine we put logic on a
centralized server. Hence middle ware is nothing but a server side program where all
your business logic and business methods reside. It remains on server side and it has all
the logical building. Middle ware provides: -
Multiple Client access.
Centralized business logic in case of distributed application.
Because we are working on Distributed Application Based Project we need platform
independent Language likes Java
- 65 -
65
Alumni.com
Software and Hardware Tools
Development Environment:
Operating System: Windows XP
The system will be built on windows compatible environment. The
application will be web based developed using Java technology.
Web Server:
BEA’s WebLogic 8.1 Application Server to serve as Servlet/JSP engine. The
system requires WebLogic Application Server for serving the requests for
Servlet.
- 66 -
66
Alumni.com
Server side Application Software: Java Server Pages (JSP)
Business Logic Software: Java Beans. (JB)
Client Side Application Software: Java Script, HTML
Data Base: Oracle 10g
The system requires Oracle as a database; however the system will be
ODBC complaint to work on any standard database.
Client Browsers:
Internet Explorer 5.0 or Netscape Navigator 4.7
The system requires Internet Explorer or Netscape Navigator browser for
client side.
Dream Weaver 8.0:-
,The system will be developed with Java Technologies using J2SE (JDK and
JRE). Dream Weaver 8.0/ Front Page 2003 as HTML editor.
Hardware & Software Requirements
Hardware requirement
Main Processor Pentium IV
Hard-disk Capaity 8 G.B
RAM 256 MB
- 67 -
67
Alumni.com
Clock Speed 2.8 Hz
Keyboard 104 Key
Monitor V.G.A4.2 Software specification
Software Requirement
Operating System Window XP
Backend tool Oracle 10g
Front-end tool Java
SCREEN SHOTS
- 68 -
68
Alumni.com
- 69 -
69
Alumni.com
- 70 -
70
Alumni.com
- 71 -
71
Alumni.com
- 72 -
72
Alumni.com
- 73 -
73
Alumni.com
- 74 -
74
Alumni.com
- 75 -
75
Alumni.com
- 76 -
76
Alumni.com
- 77 -
77
Alumni.com
- 78 -
78
Alumni.com
- 79 -
79
Alumni.com
- 80 -
80
Alumni.com
- 81 -
81
Alumni.com
- 82 -
82
Alumni.com
- 83 -
83
Alumni.com
- 84 -
84
Alumni.com
- 85 -
85
Alumni.com
- 86 -
86
Alumni.com
SYSTEM SECURITY
SYSTEM TESTING
Here the System testing involved is the most widely used testing process
consisting of five stages as shown in the figure. In general, the sequence of testing
activities is component testing, integration testing, and then user testing. However, as
defects are discovered at any one stage, they require program modifications to correct
them and this may require other stages in the testing process to be repeated.
(Component testing) (Integration testing) (User testing)
- 87 -
87
Unit testing
Module testing
Acceptance testing
Sub-system testing
System testing
Alumni.com
Testing is the process of detecting errors. Testing performs a very critical role
for quality assurance and for ensuring the reliability of the software. The results of testing
are used later on during maintenance also.
Testing is vital to the success of the system. System testing makes a logical assumption
that if the parts of the system are correct, the goal will be successfully achieved. In
adequate testing or non-testing leads to errors that may not appear until months or even
years later (Remember the New York three day power failure due to a misplaced ‘Break’
statement).
This creates two problems:
1. The time lag between the cause and the appearance of the problem.
2. The time interval effect of the system errors on files and the records on the
system.
A small error can conceivably explode into a much larger problem. Effective testing early
in the process translates directly into long term cost savings from a reduced number of
errors.
Another reason for system testing is it’s utility as a user oriented vehicle before
implementation. The best program is worthless if it does not meet the user requirements.
Unfortunately, the user’s demands are often compromised by efforts to facilitate program
or design efficiency in terms of processing time or design efficiency.
Thus in this phase we went to test the code we wrote. We needed to know if the code
compiled with the design or not? Whether the code gave the desired outputs on given
inputs? Whether it was ready to be installed on the user’s computer or some more
modifications were needed?
- 88 -
88
Alumni.com
Through the web applications are characteristically different from there software
counterparts but the basic approach for testing these web applications is quite similar.
These basic steps of testing have been picked from software engineering practices. The
following are the steps, we undertook:
The content of the Intranet site is reviewed to uncover Content
Errors. Content Errors covers the typographical errors, grammatical errors, errors in
content consistency, graphical representation and cross referencing errors
1. The design model of the web application is reviewed to uncover the navigation
errors. Use cases, derived as a part of the analysis activity allows a web designer
to exercise each usage scenario against the architectural and navigational design.
In essence these non-executable tests help to uncover the errors in navigation.
2. When web applications are considered the concept of unit changes. Each web
page encapsulate content navigation links, content and processing
elements(Forms, Scripts, JSP’s as in our case). It is not always possible to test
each of these individually. Thus is the base of the web applications the unit to be
considered is the web page. Unlike the testing of the algorithmic details of a
module the data that flows across the module interface, page level testing for web
applications is driven by content, processing and links encapsulating the web
page.
3. The Assembled web application is tested for overall functionality and content
delivery. the various user cases are used that test the system for errors and
mistakes.
4.The Web application is tested for a variety of environmental settings and is tested
for various configurations and upon various platforms.
The modules are integrated and integration test are conducted.
- 89 -
89
Alumni.com
5.Thread based testing is done to monitor the regression tests so that the site does not
become very slow is a lot of users are simultaneously logged on.
6.A controlled and monitored population of end users tests Intranet application, this
all comprises of the User Acceptance Testing.
Because web application evolves continuously, the testing process is an
ongoing activity, conducted by web support staff in our case the Organization’s IS
people who will finally update and manage the application.
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.
- 90 -
90
Alumni.com
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
Client Needs
Acceptance Testing
Requirements System
Testing
Design
Integration Testing
Code Unit
Testing
Unit testing
- 91 -
91
Alumni.com
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 so many
modules like Login, HR Department, Interviewer Section, etc. Each module has been
tested by giving different sets of inputs. When developing the module as well as finishing
the development, the module works without any error. The inputs are validated when
accepting them from the user.
Integration Testing
After 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 the main system is formed by integrating all the modules. 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 ‘HRRP’ has been tested against requirements of project and it is
checked whether all requirements of project have been satisfied or not.
- 92 -
92
Alumni.com
ACCEPTANCE TESTING
Acceptance Testing 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.
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.
WHITE BOX TESTING
This is a unit testing method, where a unit will be taken at a time and tested
thoroughly at a statement level to find the maximum possible errors.
I tested step wise every piece of code, taking care that every statement in the
code is executed at least once. The white box testing is also called Glass Box Testing.
I have generated a list of test cases, sample data, which is used to check all
possible combinations of execution paths through the code at every module level.
White-box test focuses on the program control structure. Test cases are derived to
ensure that all statement in the program control structure. Test cases are derived to ensure
that all statement in the program control structure. Test cases are derived to ensure that all
statement in the program has been executed at least once during testing and that all
logical conditions have been exercised. Basis path testing, a white box technique, makes
use of program graphs (or graph matrices) to derive the set of linearly independent test
that will ensure coverage. Condition and data flow testing further exercising degrees of
complexity.
- 93 -
93
Alumni.com
BLACK BOX TESTING
This testing method considers a module as a single unit and checks the unit at
interface and communication with other modules rather getting into details at statement
level. Here the module will be treated as a block that will take some input and generate
output. Output for a given set of input combinations are forwarded to other modules.
Black-box test are designed to uncover errors functional requirement without
regard to the internal workings of a program. Black-box testing techniques focus on the
information domain of the software, deriving test cases by partitioning the input and
output domain of a program in manner that provides through test coverage. The black-
box test is used to demonstrate that software functions are operational, that input is
properly produced, and that the integrity of external information are maintained. A black-
box test examines some fundamental aspect of a system with little or no regard for the
integral logical structure of the software.
Graph based testing methods explore the relationship between and behavior of
program objects. Equivalence partitioning divides the input classes of data are likely to
exercise specific software function. Boundary values analysis probes the program’s
ability to handle data at the limits of acceptability.
TEST INFORMATION FLOW
A strategy for software testing may also be viewed in the context of the
spiral. Unit testing begins at the vortex of the spiral and, concentrates on each
unit, component of the software as implemented in source code. Testing
progresses moving outward along the spiral to integration testing, where the
focus is on designed the construction of the software architecture. Taking
another turn outward on spiral, we encounter validation testing, where
requirements established as part of software requirements analysis are validated
against the software that has been constructed. Finally, we arrive at system
- 94 -
94
Alumni.com
testing, where the software and other system elements are tested as a whole. To
test computer software, we spiral out along stream lines that broaden the scope
of testing with each turn.
Considering the process from a procedural point of view, testing within the
context of software engineering is actually a series of four steps that are
implemented sequentially. The steps are shown in Figure. Initially, tests focus on
each component individually, ensuring that it functions properly as unit. Hence,
the name unit testing. Unit testing makes heavy use of white-box testing
techniques, exercising specific paths in module’s control structure to ensure
complete coverage and maximum error detection.
System Security
6.3 INFORMATION FLOW OF DATA FOR TESTING
- 95 -
95
System Testing
Validation Testing
Integration Testing
Design
Validation testing
Code
Alumni.com
- 96 -
96
Evaluation
Testing
Reliability Model
Debug
Software Configuration
Test Results
Error Rate Data
Test Configuration
Expected Results
Predicated Reliability
Error
Alumni.com
IMPLEMENTATION
Introduction
System implementation is the stage when the user has thoroughly tested the
system and approves all the features provided by the system. The various tests are
performed and the system is approved only after all the requirements are met and the user
is satisfied.
The new system may be totally new, replacing an existing manual or
automated system, or it may be a major modification to an existing system. In either case,
proper implementation is essential to provide a reliable system to meet organizational
requirements. Successful implementation may not guarantee improvement in the
organization using the new system (that is a design question), but improper will prevent
it.
Implementation is the process of having systems personnel check out and
put new equipment into use, train users, install the new application and construct
any files of data needed to use it. This phase is less creative than system design.
Depending on the size of the organization that will be involved in using the
application and the risk involved in its use, systems developers may choose to
test the operation in only one area of the firm with only one or two persons.
Sometimes, they will run both old and new system in parallel way to com-pare
the results. In still other situations, system developers stop using the old system
one day and start using the new one the next.
The implementation of the web based or lan based networked project has some extra
steps at the time of implementation. We need to configure the system according the
requirement of the software.
For the project we need to install and configure Weblogic server 8.1 , database
server, and the deployment directory for the project.
Aspects of Implementation
- 97 -
97
Alumni.com
The two aspects of implementation are:
Training Personnel
Conversion Procedures
TRAINING
Even well designed and technically elegant systems can succeed or fail
because of the way they are used. Therefore the quality of the training received by the
personnel involved with the system in various ways helps or hinders, and may even
prevent, the successful implementation of an information system.
Since, Human Resource Recruitment Process is web-based and user friendly,
not much effort was required in training process.
CONVERSION:
Conversion is the process of changing from the old system to the new system.
There are two methods of handling systems conversion:
Parallel Run
Immediate cut-off
Parallel Run
In this approach, the old system and the new system are
used simultaneously for some period of time so that the performance of the new
system can be monitored and compared with that of the old system. Also in case of
failure of the new system, the user can fall back on the old system. The risk of this
approach is that the user may never want to shift to new system.
- 98 -
98
Alumni.com
9.2.2.1 Immediate cut-off
In this method, the use of the old system ceases as soon
as the new system is implemented and bought in to palace. The old system becomes
redundant from the day of implementation of the new system. There is the high risk
involved in this approach if the new system is not tested rigorously. This is because of
the fact that if the new system fails, then there will not be anything to fall back upon.
The advantage of this approach is that both the systems need not be used
simultaneously.
Implementation Tools
The project was implemented using Java server pages,HTML,Java beans.The
implementation work was carried out in Windows XP/2000 server platform.
1) J2EE.
2) Weblogic 8.1.
3) Oracle 10g.
Coding
This means program construction with procedural specifications has finished and the
coding for the program begins:
Once the design phase was over, coding commenced
Coding is natural consequence of design.
Coding step translate a detailed design representation of software into a
programming language realization.
Main emphasis while coding was on style so that the end result was an
optimized code.
The following points were kept into consideration while coding:
- 99 -
99
Alumni.com
Coding Style
The structured programming method was used in all the modules the project. It
incorporated the following features
The code has been written so that the definition and implementation of each
function is contained in one file.
A group of related function was clubbed together in one file to include it when
needed and save us from the labor of writing it again and again.
Naming Convention:-
As the project size grows, so does the complexity of recognizing the purpose of
the variables. Thus the variables were given meaningful names; whihch would
help in understanding the context and the purposes of the variable.
The function names are also given meaningful names that can be easily
understood by the user.
Indentation
Judicious use of indentation can make the task of reading and understanding a program
much simpler. Indentation is an essential part of a good program. If code id intended
without thought its will seriously affect the readability of the program.
The higher-level statements like he definition of the variables, constants and the
function are intended, with each nested block intended, stating their purpose in the
code.
Blank line is also left between each function definition to make the code look
neat.
Indentation for each source file stating he purpose of the file is also done
- 100 -
100
Alumni.com
EVALUATION
The evaluation phase ranks vendor proposals and determines the one best suited,
Evaluation of the system is performed to identify its strengths and weaknesses. The actual
evaluation can occur along any of the following dimensions:
Operational Evaluation: Assessment of the manner in which the system functions,
including case of use, response time, overall reliability and level of utilization.
Organizational Impact: Identification and measurement of benefits to the
organization in such areas as financial concerns, operational efficiency and
competitive impact.
User Manager Assessment Evaluation of the attitudes of senior and user manager
within the organization, as well as end-users.
Development Performance: Evaluation of the development process in accordance
with such yardsticks as overall development time and effort, conformance to
budgets and standards and other project management criteria.
- 101 -
101
Alumni.com
- 102 -
102
Alumni.com
<%@ page contentType="text/html; charset=iso-8859-1" language="java"
import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color:#ffffff;
}
.style2 {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
color:#FFFFFF;
font-weight:bold;
}
.style3 {
color: #FFFFFF;
font-weight: bold;
}
.style4 {color: #FF9999}
-->
</style>
- 103 -
103
Alumni.com
<div style="position:absolute;font-family: Arial, Helvetica, sans-
serif;color:#C0C085" id="test"></div>
<script>
//This script created by Steve Bomer ([email protected])
//Modified by Dynamic Drive for NS6, additional features
//Visit Dynamicdrive.com to get it!
//Change the message below
var themessage="Welcome to Alumni !!!"
var fontsize=2
//Below determines how long the message will appear before disappearing. 3000=3
seconds
var appearfor=6000
function position_at_top(){
if (document.layers)
document.test.top=pageYOffset
else if (document.all){
test.innerHTML='<div align=center><font
face="Arial">'+themessage+'</font></div>'
setTimeout("test.style.top=document.body.scrollTop+10;test.style.left=document.bo
dy.scrollLeft+10",100)
}
else if (document.getElementById){
document.getElementById("test").innerHTML='<div align=center><font
face="Arial">'+themessage+'</font></div>'
document.getElementById("test").style.top=pageYOffset
}
- 104 -
104
Alumni.com
}
function expand(){
if (document.layers){
document.test.document.write('<div align=center style="font-
size:'+fontsize+'px"><font face="Arial">'+themessage+'</font></div>')
document.test.document.close()
}
else if (document.all)
test.style.fontSize=fontsize+'px'
else if (document.getElementById)
document.getElementById("test").style.fontSize=fontsize+'px'
fontsize+=2
if (fontsize>90){
if (document.layers)
setTimeout("document.test.visibility='hide'",appearfor)
else if (document.all)
setTimeout("test.style.visibility='hidden'",appearfor)
else if (document.getElementById)
setTimeout("document.getElementById('test').style.visibility='hidden'",appearfor)
return
}
else
setTimeout("expand()",50)
}
</script>
</head>
- 105 -
105
Alumni.com
<body bgcolor="#666633" onload="position_at_top();expand()">
<table width="934" border="0" cellpadding="0" cellspacing="0"
bordercolor="#FFFFFF" align="center" >
<tr>
<td width="574" height="142" rowspan="4"><table width="570" height="321"
border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="560" height="94"><div align="center"> <br>
</div></td>
</tr>
<tr>
<td height="85"><div align="center"><img src="pic/text.jpg" width="360"
height="67"></div></td>
</tr>
<tr>
<td height="83"><div align="center"><span class="style3">Connect
</span><span class="style4"> with friends and family using scraps and instant
messaging</span> <br>
<strong class="style3">Discover </strong> <span class="style4">new people
through friends of friends</span><br>
<strong class="style3">Share </strong> <span class="style4">your pictures,
and passions all in one place</span> </div></td>
</tr>
</table></td>
<td width="360" height="70"> </td>
</tr>
<tr>
<td height="82"> </td>
</tr>
- 106 -
106
Alumni.com
<tr>
<td height="110"><table width="360" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="360" height="54"><form method="post"
action="check.jsp"><table width="360" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="46"> </td>
<td width="83" class="style2">User Id </td>
<td width="164">
<input type="text" name="userid">
</td>
<td width="64"> </td>
</tr>
<tr>
<td> </td>
<td class="style2">User Name </td>
<td><input type="text" name="username"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td class="style2">Password</td>
<td><input type="password" name="password"></td>
<td> </td>
</tr>
<tr>
<td height="29"> </td>
<td> </td>
- 107 -
107
Alumni.com
<td>
<div align="center">
<input type="submit" name="submit" value="Login">
</div></td>
<td> </td>
</tr>
</table></form></td>
</tr>
<tr>
<td height="19"><table width="357" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="357"><table width="350" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="174"><div align="right"> </div></td>
<td width="176"> <span class="style1"><a href="registration.jsp"
style="color:#ffffff ">New User</a></span></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="18"><div align="center" class="style1">
<% String error=request.getParameter("error");
if(error==null)
{
- 108 -
108
Alumni.com
out.println("");
}
else
{out.println("Enter your valid id and password......");}
%>
</div></td>
</tr>
</table><br><table width="934" border="0" cellpadding="0" cellspacing="0"
align="center">
<tr>
<td width="934" bgcolor="#939356" align="center"> </td>
</tr>
</table>
<br>
<table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><img src="pic/crowd.jpg" ></td>
</tr>
</table>
</body>
</html>
- 109 -
109
Alumni.com
Conclusion
Alumni associations are organisations reuniting former students of a college or university and can be found at renowned educational institutions around the world.
Dialogue with our graduates show that they wish to stay in touch with fellow students . Many of them expressed a strong interest in further specializing in their field and in continuing their education. The basic
philosophy behind an alumni association is the development of a global network for mutual support. Alumni Association, we provide the necessary infrastructure for regular meetings and professional development. Alumni Association allows members to initiate and maintain important business contacts, provides industry news and details on upcoming events, and gives access to discounts on products and services. Its main purpose, however, is a mutually beneficial knowledge exchange among its members. The Association maintains a database of jobs and projects, establishes ties with the industry, opens doors into the job market, and supports the individual member’s career. Through its tireless efforts, Alumni Association is continuously raising the profile of employee and all its graduates throughout the media industry.
- 110 -
110
Alumni.com
Scope for Future Work
Since this system has been generated by using Object Oriented
programming, there are many chances of reusability of the codes in other
environment even in different platforms. Also its present features can be
enhanced by some simple modification in the codes so as to reuse it in the
changing scenario.
The site is made in all possible way to meet the user requirements using
latest version of available software and hardware. But as user requirements and
operating environment keep changing further extensions can be made on this. In
future some more schemas can be added in the “HR Recruitment Process”
hence these schemas are to be included in the software developed.
- 111 -
111
Alumni.com
Appendix
J2EE
Sun Microsystems provides specifications for a comprehensive suite of
technologies to solve large scale distributed system problems. This suite is
the Java 2 Enterprise Edition, commonly known as J2EE. The J2EE Platform
provides a component-based approach to the design, development,
assembly, and deployment of enterprise applications.
The J2EE platform is designed to provide server-side and client-side support
for developing enterprise, multi-tier applications. Such applications are
typically configured as a client tier to provide the user interface, one or more
middle-tier modules that provide client services and business logic for an
application, and backend enterprise information systems providing data
management.
J2EE APIs
JDBC – Java Database Connectivity
RMI – IIOP - Remote Method Invocation over Internet Inter-Orb Protocol
EJB – Enterprise Java Beans
Java Servlet
JSP – Java Server Pages
JMS – Java Message Service
JNDI – Java Naming and Directory Interface
- 112 -
112
Alumni.com
J2EE Technologies
Figure: J2EE Container
J2EE applications are made up of components. A J2EE component is a self-
contained functional software unit that is assembled into a J2EE application
with its related classes and files and that communicates with other
components. The J2EE specification defines the following J2EE components:
The Component technologies – to hold the business logic. (JSP, Servlets
and EJB)
The Service technologies – to provide supported services to application
components (JDBC, JTA, JNDI)
The Communication technologies – transparent to appln programmer,
provide the mechanism for communication among different parts of
the application JavaMail, RMI-IIOP)
J2EE does not specify the nature and structure of the runtime.
- 113 -
113
Alumni.com
J2EE Container – capability of the runtime to manage application
components.
J2EE APIs specifies the contract between the applications and the
container.
Different Containers – Web, EJB, Applet, application client.
The J2EE platform uses a multi-tiered distributed application model.
Application logic is divided into components according to function, and the
various application components that make up a J2EE application are installed
on different machines depending on the tier in the multi-tiered J2EE
environment to which the application component belongs
Client-tier components run on Client machine.
Web-tier components run on the J2EE server.
Business-tier components run on the J2EE server.
Enterprise information system (EIS)-tier software runs on the EIS
server.
Enterprise Java Beans (EJB)
Enterprise JavaBeans (EJB) technology is a J2EE technology for developing
business components in a component-based, enterprise Java application.
Business components developed with EJB technology are often called
Enterprise JavaBeans components or simply "enterprise beans."
They are re-usable software units containing business logic.
An EJB is just a collection of Java classes and an XML Request, bundled
into a single unit.
Java classes must follow certain rules and provide certain callback
methods.
- 114 -
114
Alumni.com
There are three types of enterprise beans:
Session beans
o Stateful
o Stateless
Entity beans
o Bean-managed Persistence (BMP)
o Container-managed Persistence (CMP)
o Enterprise Javabeans Query Language
Message-driven beans
Session beans
A session bean represents a single unique session between a client and an
instance of the bean. A session bean can't be shared. One instance of the
bean is tied to a specific client in a specific session. The session bean
exposes methods that a client can call to execute business tasks on the
server. When Client's session ends, the session bean is no longer associated
with that client.
There are two types of session beans: stateful and stateless.
o Stateful
A stateful session bean maintains data about the unique client-bean session
in its instance variables. The data represents the state (often called the
"conversational state") of that specific session. The conversational state is
maintained for the life of Client-bean association. Significantly, this means
that the data is maintained across operations.
o Stateless
A stateless session bean does not maintain conversational state for its client.
Because a stateless session bean cannot maintain conversational state
- 115 -
115
Alumni.com
across methods, it's typically used for one-step tasks, such as sending an
email that confirms an online order.
Entity beans
An entity bean represents data in a storage medium, such as a relational
database. Each entity bean may correspond to a table in a relational
database, and each instance of the bean corresponds to a row in that table.
Entity beans are not limited to representing relational databases. They can
represent data in other types of data stores, but the majority of enterprise
applications that use EJB technology access data in relational databases.
An entity bean can manage its own persistence (this is called bean-managed
persistence) or let the EJB container manage it (container-managed
persistence). With bean-managed persistence, the entity bean code includes
SQL statements that access the database. With container-managed
persistence, the EJB container automatically generates the necessary
database access calls.
Message Driven Beans
A message-driven bean processes asynchronous messages typically sent
through the Java Message Service (JMS) API. Asynchronous messaging frees
the message sender from waiting for a response from the message receiver.
A message-driven bean can process messages sent by any J2EE component
(such as an application client, another enterprise bean, or a web component)
or by a JMS application or system that does not use J2EE technology. Often
message-driven beans are used to route messages. This makes them useful
in many business-to-business communication scenarios.
- 116 -
116
Alumni.com
Oracle 10g Database & Application Server
Oracle Wwblogic Application Server Enterprise Edition
Includes: Oracle Forms Services, Oracle Reports Services, TopLink, Portal,
Discoverer Viewer, Discoverer Plus (Web Functionality), Identity Management
(LDAP), Application Interconnect Toolkit, Workflow, Wireless Option,
Personalization, and 5 JDeveloper Named User Plus licenses per Processor.
Oracle Database 10g Enterprise Edition
Includes: JServer Enterprise Edition, interMedia, Objects Option, Networking
Kit, Objects for OLE, Advanced Replication Option, Distributed Option, Parallel
Query Option, (including bitmap indexes and parallel bitmap-star query),
SQL*Plus, Visual Information Retrieval and Workflow. Also included are:
Advanced Backup & Recovery, Queuing, Advanced, Connection Manager &
Pooling, 64-bit option, MPI, OCI, ODBC Driver, Enterprise Manager and
Enterprise backup utility.
Other Features of ORACLE
- 117 -
117
Alumni.com
- 118 -
Client/Server (distributed processing) environments
To take full advantage of a given computer system or network, Oracle allows processing to be split between the database server and Client application programs.
Large databases and spaces management
Oracle supports the largest of databases, potentially 100 terabytes in size. To make efficient use of expensive hardware devices, it allows full control of space usage.
Many concurrent database users
Oracle supports large numbers of concurrent users executing a variety of database applications operating on the same data. It minimizes data contention and guarantees data concurrency.
High transaction processing performance
Oracle maintains the preceding features with a high degree of overall system performance.
High availability Oracle can work 24x7 with no down time for quite a large amount of time.
Controlled availability
Oracle can selectively control the availability of data, at the database level and sub-database level. For example, an administrator can disallow use of a specific application so that the application’s data can be reloaded, without affecting other applications.
Database enforced integrity
Oracle enforces data integrity, “business rules” that dictate the standards for acceptable data. As a result, the costs of coding and managing checks in many database applications are eliminated.
Distributed Systems
For networked, distributed environments, Oracle combines the data physically located on different computers into one logical database that can be accessed by all network users. Distributed systems have the same degree of user transparency and data consistency as non-distributed systems, yet receive the advantages of local database management.Oracle also offers the heterogeneous option that allows users to access data on some non-Oracle databases transparently.
Portability Oracle software is ported to work under different operating systems. Applications developed for Oracle can be ported to any operating system with little or no modification.
Compatibility Oracle software is compatible with industry standards, including most industry standard operating systems. Applications developed for Oracle can be used on virtually any system with little or no modification.
Connection ability
Oracle software allows different types of computers and operating systems to share information across network.
Replicated environment
Oracle software lets you replicate groups of tables and their supporting objects to multiple sites. Oracle supports replication of both data-and schema-level changes to these sites. Oracle’s flexible replication technology supports basic primary site replication as well as advanced dynamic and shared-ownership models.
118
Alumni.com
JavaScript
JavaScript was originally developed by Brendan Eich of Netscape under the
name Mocha, later LiveScript, and finally renamed to JavaScript. The change
of name from LiveScript to JavaScript roughly coincided with Netscape adding
support for Java technology in its Netscape Navigator web browser. JavaScript
was first introduced and deployed in the Netscape browser version 2.0B3 in
December of 1995. When web developers talk about using JavaScript in
Internet Explorer, they are actually using JScript. The choice of name proved
to be a source of much confusion.
As of 2006, the latest version of the language is JavaScript 1.7. The previous
version 1.6 corresponded to ECMA-262 Edition 3 like JavaScript 1.5, except
for Array extras, and Array and String generics. ECMAScript, in simple terms,
is a standardized version of JavaScript. The ECMA-357 standard specifies E4X,
a language extension dealing with XML.
JavaScript is a prototype-based scripting language with a syntax loosely
based on C. Like C, the language has no input or output constructs of its own.
Where C relies on standard I/O libraries, a JavaScript engine relies on a host
environment into which it is embedded. There are many such host
environment applications, of which web technologies are the best-known
examples. These are examined first.
One major use of web-based JavaScript is to write functions that are
embedded in or included from HTML pages and interact with the Document
Object Model (DOM) of the page to perform tasks not possible in HTML alone.
Some common examples of this usage follow.
Opening or popping up a new window with programmatic control over
the size, position and 'look' of the new window (i.e. whether or not the
menus, toolbars, etc. are visible).
- 119 -
119
Alumni.com
Validation of web form input values to make sure that they will be
accepted before they are submitted to the server.
Changing images as the mouse cursor moves over them: This effect is
often used to draw the user's attention to important links displayed as
graphical elements.
Bibliography
- 120 -
120
Alumni.com
Web Resources
www.java.sun.comOfficial Java Website
www.java.sun.com/developer/onlineTraining/J2EE/Intro2/j2ee.html
Training for J2EE
www.java.sun.com/j2se/1.4.2/docs/api/index.htmlJ2SE Online Documentation from Sun
www.w3schools.com
JavaScript Tutorials
http://www.sun.com
http://www.coreservlets.com
http://www.serverside.com
http://www.w3schools.com
http://www.google.com
http://www.webopedia.com
http://www.ddj.com
BOOKS
API DOCS –JAVA, J2EE, Java Mail, Java Servlets, JSPsBy: Sun Microsystems
Java2 - The Complete Reference(7TH Edition)By: Herbert Schildt
- 121 -
121
Alumni.com
JSP - The Complete ReferenceBy: Philhanna
Oracle 10g By: Ivan Baross
Software EngineeringBy: Roger Pressman
Head First Servlets & JSP By: Bryan Bashan, Kathy Sierra & Bert Bates
- 122 -
122