alumini.com in java

162
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

Transcript of alumini.com in java

Page 1: alumini.com in java

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

Page 2: alumini.com in java

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

Page 3: alumini.com in java

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

Page 4: alumini.com in java

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

Page 5: alumini.com in java

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

Page 6: alumini.com in java

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

Page 7: alumini.com in java

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

Page 8: alumini.com in java

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

Page 9: alumini.com in java

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

Page 10: alumini.com in java

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

Page 11: alumini.com in java

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

Page 12: alumini.com in java

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

Page 13: alumini.com in java

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

Page 14: alumini.com in java

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

Page 15: alumini.com in java

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

Page 16: alumini.com in java

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/-

Page 17: alumini.com in java

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

Page 18: alumini.com in java

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

Page 19: alumini.com in java

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

Page 20: alumini.com in java

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

Page 21: alumini.com in java

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

Page 22: alumini.com in java

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

Page 23: alumini.com in java

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

Page 24: alumini.com in java

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

Page 25: alumini.com in java

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:

Page 26: alumini.com in java

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:

Page 27: alumini.com in java

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

Page 28: alumini.com in java

Alumni.com

- 28 -

28

Page 29: alumini.com in java

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

Page 30: alumini.com in java

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

Page 31: alumini.com in java

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

Page 32: alumini.com in java

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

Page 33: alumini.com in java

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

Page 34: alumini.com in java

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

Page 35: alumini.com in java

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

Page 36: alumini.com in java

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

Page 37: alumini.com in java

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

Page 38: alumini.com in java

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

Page 39: alumini.com in java

Alumni.com

- 39 -

39

EntriesDeletionModificationsDetails

RegstrationProfileScrape,send,Read.Dleat

RegstrationProfileScrape,send,Read.Dleat

User

Authentication

Student, Employ

Valid 

Administrator  

Teacher,Employ, friend

Page 40: alumini.com in java

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

Page 41: alumini.com in java

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

Page 42: alumini.com in java

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

Page 43: alumini.com in java

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

Page 44: alumini.com in java

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

Page 45: alumini.com in java

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

Page 46: alumini.com in java

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

Page 47: alumini.com in java

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

Page 48: alumini.com in java

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

Page 49: alumini.com in java

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

Page 50: alumini.com in java

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

Page 51: alumini.com in java

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

Page 52: alumini.com in java

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

Page 53: alumini.com in java

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

Page 54: alumini.com in java

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

Page 55: alumini.com in java

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

Page 56: alumini.com in java

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

Page 57: alumini.com in java

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

Page 58: alumini.com in java

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

Page 59: alumini.com in java

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

Page 60: alumini.com in java

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

Page 61: alumini.com in java

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

Page 62: alumini.com in java

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

Page 63: alumini.com in java

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

Page 64: alumini.com in java

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

Page 65: alumini.com in java

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

Page 66: alumini.com in java

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

Page 67: alumini.com in java

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

Page 68: alumini.com in java

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

Page 69: alumini.com in java

Alumni.com

- 69 -

69

Page 70: alumini.com in java

Alumni.com

- 70 -

70

Page 71: alumini.com in java

Alumni.com

- 71 -

71

Page 72: alumini.com in java

Alumni.com

- 72 -

72

Page 73: alumini.com in java

Alumni.com

- 73 -

73

Page 74: alumini.com in java

Alumni.com

- 74 -

74

Page 75: alumini.com in java

Alumni.com

- 75 -

75

Page 76: alumini.com in java

Alumni.com

- 76 -

76

Page 77: alumini.com in java

Alumni.com

- 77 -

77

Page 78: alumini.com in java

Alumni.com

- 78 -

78

Page 79: alumini.com in java

Alumni.com

- 79 -

79

Page 80: alumini.com in java

Alumni.com

- 80 -

80

Page 81: alumini.com in java

Alumni.com

- 81 -

81

Page 82: alumini.com in java

Alumni.com

- 82 -

82

Page 83: alumini.com in java

Alumni.com

- 83 -

83

Page 84: alumini.com in java

Alumni.com

- 84 -

84

Page 85: alumini.com in java

Alumni.com

- 85 -

85

Page 86: alumini.com in java

Alumni.com

- 86 -

86

Page 87: alumini.com in java

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

Page 88: alumini.com in java

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

Page 89: alumini.com in java

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

Page 90: alumini.com in java

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

Page 91: alumini.com in java

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

Page 92: alumini.com in java

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

Page 93: alumini.com in java

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

Page 94: alumini.com in java

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

Page 95: alumini.com in java

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

Page 96: alumini.com in java

Alumni.com

- 96 -

96

Evaluation

Testing

Reliability Model

Debug

Software Configuration

Test Results

Error Rate Data

Test Configuration

Expected Results

Predicated Reliability

Error

Page 97: alumini.com in java

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

Page 98: alumini.com in java

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

Page 99: alumini.com in java

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

Page 100: alumini.com in java

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

Page 101: alumini.com in java

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

Page 102: alumini.com in java

Alumni.com

- 102 -

102

Page 103: alumini.com in java

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

Page 104: alumini.com in java

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

Page 105: alumini.com in java

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

Page 106: alumini.com in java

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">&nbsp;</td>

</tr>

<tr>

<td height="82">&nbsp;</td>

</tr>

- 106 -

106

Page 107: alumini.com in java

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">&nbsp;</td>

<td width="83" class="style2">User Id </td>

<td width="164">

<input type="text" name="userid">

</td>

<td width="64">&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

<td class="style2">User Name </td>

<td><input type="text" name="username"></td>

<td>&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

<td class="style2">Password</td>

<td><input type="password" name="password"></td>

<td>&nbsp;</td>

</tr>

<tr>

<td height="29">&nbsp;</td>

<td>&nbsp;</td>

- 107 -

107

Page 108: alumini.com in java

Alumni.com

<td>

<div align="center">

<input type="submit" name="submit" value="Login">

</div></td>

<td>&nbsp;</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">&nbsp;&nbsp; </div></td>

<td width="176">&nbsp;<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

Page 109: alumini.com in java

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">&nbsp;</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

Page 110: alumini.com in java

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

Page 111: alumini.com in java

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

Page 112: alumini.com in java

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

Page 113: alumini.com in java

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

Page 114: alumini.com in java

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

Page 115: alumini.com in java

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

Page 116: alumini.com in java

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

Page 117: alumini.com in java

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

Page 118: alumini.com in java

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

Page 119: alumini.com in java

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

Page 120: alumini.com in java

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

Page 121: alumini.com in java

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

Page 122: alumini.com in java

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