Sei sulla pagina 1di 121

Alumni.

com

Project On
In (JAVA)

(MASTER OF COMPUTER APPLICATIONS)


Under The Supervision Of Mr. Manish Bhatia Dynamica India Pvt. Ltd. Submitted to: Prof. Dr Ashis Nagi MCA (VI Semester) Project Submitted by:Anil Kumar Singh Roll No-07090600001 Session No: 2007-10

Govind Ballabh Pant Engineering College


(An autonomous State Government Engineering College of Uttarakhand)

-1-

Alumni.com

Acknowledgment
We are thankful to Dynamica India Pvt. Ltd. ", for providing us proper guidance to prepare the Project Training on the topic "Alumni.com". It was impossible to work on the Project without help of the IT Dept members, who helped us at every step of our Project work. We are extremely grateful and highly indebted to our advisor Mr. Arvind Kumar (Project Manager) for supporting us all along and always being there for consultation. He has been a guide in the true sense of the word and has directed the project in a very efficient and organized manner. We thank our examiners Mr. Manish Bhatia (Head of IT Department) for their suggestions and guidelines to make some improvements in the project. Finally we thank Mr. Aditya Singh (employee of IT Dept), for his continued drive for better quality in everything that happens at Dynamica India Pvt. Ltd.. This report is a small contribution towards the greater goal.

Anil Kumar Singh


Roll No: - 07090600001 MCA 6th Semester

-2-

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)

Table of Contents

page-No

-3-

Alumni.com

1. 2.

Introduction Team Structure

10 11 11 12 12 12 13 13 14 15 16 20 20 20 21 22 22 23 24 24 24 30 30 30 30 31 31 35 35 36 40 41 42 43 44 44 46 48 52 55 60 65

2.1 Objective 2.2 scope of the system 3. Approach 3.1 Study and Analysis Phase 3.1.1 Design Phase 3.1.2 Coding and Implementation Phase 3.1.3 Testing 4. SYSTEM ANALYSIS 4.1 Feasibility Study 4.1.1 Current System Summary 4.1.2 Background 4.1.3.System Objectives and Current Functionality 4.1.4.Current Methods and Procedures 4.2 Proposed Methods And Procedures 4.3 System Requirement Hardware Software 4.4 Functional requirements 4.4.1 Data flow diagram 4.4.2. Data dictionary 5. List of Tables used 5.1 UserDetails 5.2 User table 5.3 PostDetails 5.4 ReplyDetails 6. UML Diagrams 6.1An Overview of UML: 6.2 Class diagram 7. SYSTEM DESIGNModules of the System 7.1 Modules Description 7.2 PROJECT CATEGORY 8.SOFTWARE REQUIREMENT SPECIFICATION 9.PLATEFORM (Technology/Tool Selection) 9.1 Introduction to Java 9.1.1 Connectivity using JDBC 9.1.2 ABOUT J2EE 9.1.3 J2EE Technologies 9.1.4JAVA BEANS 9.2 BaCK-END 10. Database Models

-4-

Alumni.com

10.1 Single tier architecture. 10.2 Two tier architecture. 10.3 N- Tier architecture. 11 .Software and Hardware Tools 12 .SCREEN SHOTS 13 .SYSTEM TESTING 13.1 TESTING OBJECTIVES 13.2 LEVELS OF TESTING 13.3 ACCEPTANCE TESTING 13.4 WHITE BOX TESTING 13.4 BLACK BOX TESTING 14 .IMPLEMENTATION 15. Conclusion 16. Scope for Future Work 17. Appendix Bibliography

65 65 65 67 69 87 90 91 93 93 94 97 110 111 112 18. 121

CERTIFICATE

-5-

Alumni.com

This is to certify that the project report entitled Alumni.com submitted to Govind Ballabh Pant University. in partial fulfillment of the requirement for the award of the degree of Master of Computer Applications is an original work carried out by Anil Kumar Singh, Registration No: 07090600001 under my guidance. The matter embodied in this project is a genuine work done by the student and has not been submitted whether to this university or any other University/Institute for the fulfillment of the requirement of any course of study.

Signature of Guide/Supervisor

-6-

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

-7-

Alumni.com
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 ecommerce 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


2. CUSTOM APPLICATION DEVELOPMENT 3. MOBILE SOFTWARE PROGRAMMING

-8-

Alumni.com

THE OTHER AREAS WE CATER TO ARE:


1. 2. 3. 4. 5. 6. 7. 8. 9. ERP SOLUTIONS .NET/ASP PROGRAMMING LINUX PROGRAMMING JAVA PROGRAMMING IBM MAINFRAME C++ UNIX TESTING ORACLE

PROJECT DETAIL

-9-

Alumni.com

10

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.

1.3 Team Structure

- 10 -

Alumni.com

11

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

Project Coordinator

Anil kumar singh 1.4 Objective

Gaurav

Our objective is to develop a project on keep in touch

for our Company employee and

college students . Its 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: To develop a system that will automate the suggestions and chat process. More easier to run the maintenance process by users.

- 11 -

Alumni.com

12

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

Alumni.com

13

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

- 13 -

Alumni.com

14

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.

SYSTEM ANALYSIS

- 14 -

Alumni.com

15

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. The backend required for storing other details is also the same database that is Sql. The computers in the organization are highly sophisticated and dont needs extra components to load the software. Hence the organization can implement the new system without any additional expenditure. Hence, it is economically feasible.

- 15 -

Alumni.com

16

Software Cost

Web Logic Server Oracle J2EE Kit :

:20000/: 15000/Free

Manpower Cost :

Team cost System Cost

: :

25000/40,000/-

Total Cost

100000/-

Technical Feasibility It is a measure of the practically of a specific technical solution and the availability of technical resources and expertise

- 16 -

Alumni.com

17

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 The above tools are readily available, easy to work with and widely used for Hardware used in this project are- p4 processor 2.4GHz, 128 MB RAM, 40 GB

table views, indexes. developing commercial application. 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

Duration of Project:-

Time Duration
For study Designing - 17 For development Testing 15 days 20 days 90 days 15 days

Alumni.com

18

Total time

140 days

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. User support. User involvement in the building of present system is sought to keep in mind the user specific requirement and needs.

- 18 -

Alumni.com

19

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

- 19 -

Alumni.com

20

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. ii. iii. iv. v. Cost incurred due to stationary Cost incurred due to wastage of time Redundancy of information Lack of security Data Inconsistency

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.

- 20 -

Alumni.com

21

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. 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. Todays 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:-

- 21 -

Alumni.com

22

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.

Hardware The hardware used for the project are: Processor Ram Cache Hard disk : Intel Pentium or more : 256 MB or more : 512 KB : 16 GB hard disk recommended for primary partition.

- 22 -

Alumni.com

23

Software The software used for designing the project are Operating system Screen design Database Server : Windows XP or later : java, jsp : MS Access : Sql server

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

- 23 -

Alumni.com

24

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 DFDs 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. Graphical representation:
Graphical Representation:

Data flows

- 24 -

Alumni.com

25

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.
Graphical Representation:

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.
Graphical Representation:

External Entity A rectangle represents an external entity such as a librarian ,a library member.
Graphical Representation:

- 25 -

Alumni.com

26

OutPut Symbol This box represented data production during human computer interaction

Graphical Representation:

Constructing DFDS: Several rules of thumb are used in drawing DFDs: Process should be named and numbered for an easy reference. Each name The direction of flow is from top to bottom and from left to right. Data should be representative of the process. 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. 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 DFD typically shows the minimum contents of data store. Each data store Questionnaires and Suggestions should contain all the data elements that flow in

and dataflow names have the first letter of each work capitalized should contain all the data elements that flow in and out. and out. Missing interfaces redundancies and like is then accounted for often through problems in the computer systems.

- 26 -

Alumni.com

27

VIEWER

Search Information View Information

Registration Login

POSTER

Search details View details Send Response

Post details.

Alumnus

Edit & Maintain details View Responses

Edit Information

ADMINISTRATOR

View Regd. Users

Post Information

- 27 -

Alumni.com

28

Search Informatio n

View Information

Viewer
Database

Search Details

View Details

Send Response

Database

details Category

Post detai ls Edit detai ls Login Process

View Respons es

Poster New Poster

Maintain Category

View Registered Users

Registered Users

Administrator

Send Notification

Manage Info Maintain Details Database

- 28 -

Alumni.com

29

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

- 29 -

Alumni.com

30

Mailed Password DisplayName Role joiningDate PostCount ReplyCount Groupcount

1.

User table
user name password phone no Email id

2.PostDetails: Posted Poster Postdate viewCount replyCount VoteCount Rating ReplyDetails: Repalyid

- 30 -

Alumni.com

31

Posted replyposter Replydate Content Viewcount Votecount Rating

Tables description
1.UserDetails: This table shall store general information of the contains following
fields.users. It

Field name userId Mailed Password displayName Role joiningDate

Data type Number Varchar2 Varchar2 Varchar2 Varchar2 Date

Constraint/Description Primary key, Auto Generated Not Null (used as loginId) Not Null Not Null Not Null (admin, member) Not Null

- 31 -

Alumni.com

32

postCount replyCount groupsCount forumsCount

Number Number Number Number

Count of posts submitted by the user on all forums Count of replies submitted by the user on all forums Count of groups joined by the user Count 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 Posted Poster Postdate Contents viewCount Data type Number Number Date Varchar2 Number Constraint/Description Primary key (Auto Generated) Foreign Key (userId of UserDetails) Not Null Not Null Not Null

- 32 -

Alumni.com

33

replyCount voteCount Rating

Number Number Varchar2

Not Null Vote Given by the viewers to the post. Rating given on the basis of votes.

3. ReplyDetails: This table shall store information replies of a post on a forum. It contains following fields. Field name replyId Posted replyPoster replyDate Data type Number Number Number Date Constraint/Description Primary key (Auto Generated) Foreign Key (PostDetails) Foreign Key (userId of UserDetails) Not Null

- 33 -

Alumni.com

34

Contents viewCount voteCount Rating

Varchar2 Number Number Varchar2

Not Null Not Null Vote Given by the viewers to the reply. Rating given to the reply on the basis of 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

- 34 -

Alumni.com

35

Diagrams Things are the abstractions that are first-class citizens in a model; Relationships tie these things together; Class diagram: 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 thats 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 of Chain Responsibility

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.

- 35 -

Alumni.com

36

Place Order

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

- 36 -

Alumni.com

37

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 cases in your diagrams, as well, especially when you want to visualize a specific executing system.

administrator Valid Authenticatio n Student, employ

User

Teacher,Frend

- 37 -

Alumni.com

38

Admini strator Valid Authenti cation Student, Employ

Entries Deletion Modifications Details

Regstration Profile Scrape,send, Read.Dleat

Teacher, Employ, friend

User

Regstration Profile Scrape,send, Read.Dleat

- 38 -

Alumni.com

39

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

- 39 -

Alumni.com

40

Main Module

Administrator Module Search frend

Login

Registration Process

Poster

3.2 Modules Description 3.2.1.Administrator Module: It is the user say employee behind the machines. They are used for effective interuser problems communications and analyzing the productivity of the employee. Four factors are considered namely a) Entries

- 40 -

Alumni.com

41

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 members 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 Administrators module by which he keep the eye on whole site and maintain and upgrade the sites service for sake of users. Administrator can show banner ads of others, which help the site in revenue.

- 41 -

Alumni.com

42

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 todays 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. 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.

- 42 -

Alumni.com

43

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 clients 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 runtime environment that contains built-in support for the World Wide Web. History of Java Java development began at Sun Microsystems in 1991, the same year the World Wide Web was conceived. Javas creator, James Gosling did not design java for the

- 43 -

Alumni.com

44

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) 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.

- 44 -

Alumni.com

45

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 It allocates memory for the incoming java class files and guarantees that the It interprets the byte code instructions found in the class files to execute the

and security checks. security of JVM is not violated. This is known as the class loader module. 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:

- 45 -

Alumni.com

46

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. Native Driver:

- 46 -

Alumni.com

47

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 concentrate on business logic of application. The middleware handles low-lever services, such as thread handling, security, and transactions management.

- 47 -

Alumni.com

48

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 It provides naming and directory services to enable users and various services to locate and search for services and components.

- 48 -

Alumni.com

49

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 multitier application. It also minimizes complexity for building multi-tier application. To create a J2EE application we need to create following three components:

- 49 -

Alumni.com

50

(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:

Enterprise Bean (.jar file)

Component (.jar file)

- 50 -

Alumni.com

51

Assembled J2EE Application Server (.jar file) Deployed

J2EE Server

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) Java Messaging Services (JMS) Java Servlet & Java Server Pages (JSP)

- 51 -

Alumni.com

52

EJB:

Extensible Markup Language (XML)

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. JMS:

- 52 -

Alumni.com

53

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. 2. 3. 4. 5. 6. 7. 8. The Deployment Tool. The J2EE Server. The Cloud Scale Server. The Clean-up Script. The Packager Tool. The Realm Tool. The Run Client Script. The Verifier Tool.

- 53 -

Alumni.com

54

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 JSPs. The result is JSP code that is simpler, easier to maintain and which is more readily accessible to non-programmers. 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

- 54 -

Alumni.com

55

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

- 55 -

Alumni.com

56

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 Application Server Machine Client Machine Browser
Web

server

- 56 -

Alumni.com

57

with HTML

JSP

JDBC

Engine

Driver

DB Server Machine
RDBMS Server

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

- 57 -

Alumni.com

58

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.

JSP Engine

- 58 -

Alumni.com

59

JSPs

Custom tag extension

Custom Java 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: Centralization of database. Client Server Technology. Security.

- 59 -

Alumni.com

60

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? 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.

- 60 -

Alumni.com

61

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 dont 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 doesnt interrupt database use. Controlled Availbility 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.

- 61 -

Alumni.com

62

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. Compatibility

- 62 -

Alumni.com

63

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. Two tier Architecture

- 63 -

Alumni.com

64

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

- 64 -

Alumni.com

65

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: BEAs WebLogic 8.1 Application Server to serve as Servlet/JSP engine. The system requires WebLogic Application Server for serving the requests for Servlet. 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

- 65 -

Alumni.com

66

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 Hard-disk Capaity RAM Clock Speed Keyboard Monitor Pentium IV 8 G.B 256 MB 2.8 Hz 104 Key V.G.A

- 66 -

Alumni.com

67

4.2 Software specification Software Requirement Operating System Backend tool Front-end tool Window XP Oracle 10g Java

SCREEN SHOTS

- 67 -

Alumni.com

68

- 68 -

Alumni.com

69

- 69 -

Alumni.com

70

- 70 -

Alumni.com

71

- 71 -

Alumni.com

72

- 72 -

Alumni.com

73

- 73 -

Alumni.com

74

- 74 -

Alumni.com

75

- 75 -

Alumni.com

76

- 76 -

Alumni.com

77

- 77 -

Alumni.com

78

- 78 -

Alumni.com

79

- 79 -

Alumni.com

80

- 80 -

Alumni.com

81

- 81 -

Alumni.com

82

- 82 -

Alumni.com

83

- 83 -

Alumni.com

84

- 84 -

Alumni.com

85

- 85 -

Alumni.com

86

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.

Unit testing

Module testing Sub-system testing System testing

Acceptance testing

(Component testing)

(Integration testing)

(User testing)

- 86 -

Alumni.com

87

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. 2. The time lag between the cause and the appearance of the problem. 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 its utility as a user oriented vehicle before implementation. The best program is worthless if it does not meet the user requirements. Unfortunately, the users 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 users computer or some more modifications were needed?

Through the web applications are characteristically different from there software counterparts but the basic approach for testing these web applications is quite similar.

- 87 -

Alumni.com

88

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, JSPs 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. 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.

- 88 -

Alumni.com

89

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 Organizations 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 doesnt work. Testing is the process of executing a program with the intent of finding errors.

TESTING OBJECTIVES: The main objective of testing is to uncover a host of errors, systematically and with minimum effort and time. Stating formally, we can say, Testing is a process of executing a program with the intent of finding an error. A successful test is one that uncovers an as yet undiscovered error. A good test case is one that has a high probability of finding error, if it exists. The tests are inadequate to detect possibly present errors. The software more or less confirms to the quality and reliable standards.

LEVELS OF TESTING

- 89 -

Alumni.com

90

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 Testing

System

Design Integration Testing

Code Testing

Unit

Unit testing Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using the detailed design and the process specifications, testing is done to uncover

- 90 -

Alumni.com

91

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.

ACCEPTANCE TESTING

- 91 -

Alumni.com

92

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

- 92 -

Alumni.com

93

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 programs 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 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.

- 93 -

Alumni.com

94

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 modules control structure to ensure complete coverage and maximum error detection.

System Testing Validation Testing Integration Testing

Validation testing Code

Design
System Security 6.3 INFORMATION FLOW OF DATA FOR TESTING

Software Configuration

Evaluatio n

- 94 -

Alumni.com

95

Test Results

Error Error Rate Data

Testing

Expected Results Debug

Reliability Model
Test Configuration

Predicated Reliability

IMPLEMENTATION
Introduction

- 95 -

Alumni.com

96

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 The two aspects of implementation are: Training Personnel Conversion Procedures

TRAINING

- 96 -

Alumni.com

97

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

Parallel Run

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

- 97 -

Alumni.com

98

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: 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.

- 98 -

Alumni.com

99

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

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:

- 99 -

Alumni.com

100

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.

- 100 -

Alumni.com

101

<%@ 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">

- 101 -

Alumni.com

102

<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> <div style="position:absolute;font-family: Arial, Helvetica, sansserif;color:#C0C085" id="test"></div> <script>

- 102 -

Alumni.com

103

//This script created by Steve Bomer (steveb03@yahoo.com) //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.bod y.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 } } function expand(){ if (document.layers){

- 103 -

Alumni.com

104

document.test.document.write('<div align=center style="fontsize:'+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> <body bgcolor="#666633" onload="position_at_top();expand()"> <table width="934" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" align="center" >

- 104 -

Alumni.com

105

<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> <tr> <td height="110"><table width="360" border="0" cellpadding="0" cellspacing="0"> <tr>

- 105 -

Alumni.com

106

<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> <td> <div align="center"> <input type="submit" name="submit" value="Login"> </div></td>

- 106 -

Alumni.com

107

<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) { out.println(""); } else {out.println("Enter your valid id and password......");}

- 107 -

Alumni.com

108

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

Conclusion

- 108 -

Alumni.com

109

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 members career. Through its tireless efforts, Alumni Association is continuously raising the profile of employee and all its graduates throughout the media industry.

Scope for Future Work

- 109 -

Alumni.com

110

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.

- 110 -

Alumni.com

111

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

- 111 -

Alumni.com

112

J2EE Technologies

Figure: J2EE Container


J2EE applications are made up of components. A J2EE component is a selfcontained 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. 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.

- 112 -

Alumni.com

113

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. There are three types of enterprise beans: Session beans o o Stateful Stateless

Entity beans
o o Bean-managed Persistence (BMP) Container-managed Persistence (CMP)

- 113 -

Alumni.com o Enterprise Javabeans Query Language

114

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

- 114 -

Alumni.com

115

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.

Oracle 10g Database & Application Server


Oracle Wwblogic Application Server Enterprise Edition

- 115 -

Alumni.com

116

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

- 116 -

To take full advantage of a given computer system or network, Oracle allows processing to be split between the database server and Client Alumni.com 117 application programs. 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 Oracle supports large numbers of concurrent database users users executing a variety of database applications operating on the same data. It minimizes data contention and guarantees data concurrency. High transaction Oracle maintains the preceding features with a processing high degree of overall system performance. performance High availability Oracle can work 24x7 with no down time for quite a large amount of time. Controlled Oracle can selectively control the availability of availability data, at the database level and sub-database level. For example, an administrator can disallow use of a specific application so that the applications data can be reloaded, without affecting other applications. Database Oracle enforces data integrity, business rules enforced that dictate the standards for acceptable data. integrity As a result, the costs of coding and managing checks in many database applications are eliminated. Distributed For networked, distributed environments, Systems 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 nondistributed systems, yet receive the advantages of local database management. Oracle also offers the heterogeneous option that allows users to access data on some nonOracle 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 Oracle software allows different types of ability computers and operating systems to share information across network. Replicated Oracle software lets you replicate groups of environment tables and their supporting objects to multiple sites. Oracle supports replication of both dataand schema-level changes to these sites. - 117 Oracles flexible replication technology supports basic primary site replication as well as advanced dynamic and shared-ownership

Client/Server (distributed processing) environments Large databases and spaces management

Alumni.com

118

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.

- 118 -

Alumni.com

119

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).

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.

- 119 -

Alumni.com

120

Bibliography

Web Resources
www.java.sun.com
Official 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.html
J2SE 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

- 120 -

Alumni.com

121

BOOKS
API DOCS JAVA, J2EE, Java Mail, Java Servlets, JSPs
By: Sun Microsystems

Java2 - The Complete Reference(7TH Edition)


By: Herbert Schildt

JSP - The Complete Reference


By: Philhanna

Oracle 10g
By: Ivan Baross

Software Engineering
By: Roger Pressman

Head First Servlets & JSP


By: Bryan Bashan, Kathy Sierra & Bert Bates

- 121 -

Potrebbero piacerti anche