Upload
sumit-sanwal
View
33
Download
4
Embed Size (px)
DESCRIPTION
RBCET STUDENTS REPORT
Citation preview
DESIGN AND DEVELOPMENT OF
ONLINE RECRUITMENT SYSTEM
Submitted By:
Abhishek Saxena (0931910001)
Anand Kumar (0931910004) Pankaj Kumar (0931910015)
Rakesh Kumar (0931910019)
Submitted to the department of Engineering
in Partial Fulfilment of the Requirement
for the Degree of
Bachelor of Technology In
Computer Science & Engineering
Rakshpal Bahdur College Of Engineering & Technology
Bareilly
Uttar Pradesh Technical University April, 2013
DESIGN AND DEVELOPMENT OF
ONLINE RECRUITMENT SYSTEM
Submitted By:
Abhishek Saxena (0931910001)
Anand Kumar (0931910004) Pankaj Kumar (0931910015)
Rakesh Kumar (0931910019)
Submitted to the department of Engineering
in Partial Fulfilment of the Requirement
for the Degree of
Bachelor of Technology In
Computer Science & Engineering
Rakshpal Bahdur College Of Engineering & Technology
Bareilly
Uttar Pradesh Technical University April, 2013
TABLE OF CONTENTS
2
DECLARATION……………………………………………………5
CERTIFICATE………………………………………………..........6
ACKNOWLEDGMENT……………………………………………7
CHAPTER 1: INTRODUCTION…………………………………..8
1.1 Abstract …………………………………………….9
1.1.1Administrator…………………………………..9
1.1.2 Jobseeker ……………………………………...9
1.1.3 Company ……………………………………...9
CHAPTER 2: SYSTEM ANALYSIS……………………………...10
2.1 Definition …………………………………………..10
2.2 Description Of Present System…………………….10
2.3 Proposed System …………………………………..10
2.4 Advantages …………………………………….…..11
CHAPTER 3: SYSTEM DESIGN…………………………………13
3.1 Definition…………………………………………...13
3.2 Output Design………………………………………13
3.3 Input Design………………………………………..13
3.4 Logical Design………………………………………14
CHAPTER 4: DATA FLOW DIAGRAM…………………………15
4.1 DFD Symbol………………………………………..15
4.2 Zero Level DFD…………………………………….16
4.3 Data Flow Diagram…………………………………17
3
4.3.1 Admin…………………………………………..18
4.3.2 Company Management………………………...19
4.3.3 User Management………………………………20
4.3.4 Company……………………………………….21
4.3.5 Candidate……………………………………….22
CHAPTER 5: OVERVIEW OF LANGUAGES/TOOLS……………26
5.1 Java………………………………………………….26
5.2 Java 2 Enterprises Edition………………………….31
5.3 Netbeans IDE………………………………………..37
5.4 SQL(Structured Query Language)……………….....42
CHAPTER 6: HARDWARE/ SOFTWARE REQUIREMENT…….44
CHAPTER 7: FUTURE ENHANCEMENT…………………………45
CHAPTER 8: CODING………………………………………………46
CHAPTER 9: SNAPSHOT…………………………………………..55
CHAPTER 10: CONCLUSION………………………………………75
CHAPTER 11: BIBLIOGRAPHY..…………………………………..76
DECLARATION
4
I hereby declare that this submission is our own work and that, to the best of our knowledge and belief. It contain no material previously published or Written by another person nor material which to a substantial extent has been accepted for the aware of any other degree or diploma of the university or institution of higher learning except where the acknowledgement has been made in the text.
Signature:
Name: Abhishek Saxena
Roll no: 0931910001
Date:
Signature:
Name: Anand Kumar
Roll no: 0931910004
Date:
Signature:
Name: Pankaj Kumar
Roll no: 0931910015
Date:
Signature:
Name: Rakesh Kumar
Roll no: 0931910019
Date:
CERTIFICATE
5
This is to certify that Project Report entitled Online Recruitment System which is submitted by Abhishek Saxena, Anand Kumar, Pankaj Kumar, and Rakesh Kumar in partial fulfilment of the requirement for the award of degree B-Tech In Department of Computer Science & Engg. Of U.P.T.U, is a record of candidate own work carried out by him/her under my/our supervision. The matter embodied in this thesis is original and not been submitted for the award of any other degree.
Date: Supervisor:
Mr. Ravi Singh
Acknowledgement
6
The success and accomplishment of this report stems from efforts and dedication offered by faculty members whose support was either direct or indirect during our project work. I thank all of them for their devotion and generosity.
Special thanks also go to our Project Guide during internship period, Mr. Ravi Singh (lecturer, R.B.C.E.T, BAREILLY). for being so friendly and supportive during our project.
Above all, I owe much tribute to the Almighty God who gave me a life worth living and I thank Him for giving me the strength to accomplish this work.
Team Members
Abhishek Saxena
Anand Kumar
Pankaj Kumar
Rakesh Kumar
CHAPTER 1.
INTRODUCTION
7
This project Online Recruitment System is an online website in which jobseekers can register themselves online and apply for job and attend the exam. Online Recruitment System provides online help to the users all over the world. Using web recruitment systems like recruitment websites or jobsites also play a role in simplifying the recruitment process. Such websites have facilities where prospective candidates can upload their CV’s and apply for jobs suited to them. Such sites also make it possible for recruiters and companies to post their staffing requirements and view profiles of interested candidates. Earlier recruitment was done manually and it was all at a time consuming work. Now it is all possible in a fraction of second. It is all done online without much time consuming. Today’s recruitment applications are designed to do a whole lot more than just reduce paperwork. They can make a significant contribution to a company’s marketing and sales activity. Recruitment websites and software make possible for managers to access information that is crucial to managing their staff, which they can use for promotion decisions, payroll considerations and succession planning.
Online Recruitment System enables the users to have the typical examination facilities and features at their disposal. It resolves typical issues of manual examination processes and activities into a controlled and closely monitored work flow in the architecture of the application. This multi platform solution brings in by default, the basic intelligence and immense possibilities for further extension of the application as required by the user. The system makes it friendly to distribute, share and manage the examination entities with higher efficiency and easiness. The objective of these websites is to serve as a common meeting ground for jobseekers and employers, both locally and globally, where the candidates find their dream jobs and recruiters find the right candidate to fulfill their needs. These sites are specifically designed for those who seek the most demanding and challenging positions in their chosen field, with the most dynamic employers. Thousands of websites compete for your attention-each has its own unique interface, URL and peculiarities.
A quick look at the overall trends in Online recruiting shows the rise in the importance of marketing the web site, online training, dawn of video interviews and emergence of professional Internet Recruiters. Online recruiting and online recruiting systems, with its emphasis on a more strategic decision making process is fast gaining ground as a popular outsourced function.
1.1 ABSTRACT
8
This project is aimed at developing a web-based and central recruitment Process system for the HR Group for a company. Some features of this system will be creating vacancies, storing application data, and Interview process initiation, Scheduling interviews, storing Interview results for the applicant and finally Hiring of the applicant. Reports may be required to be generated for the use of the HR group.
This project ‘Online Recruitment System’ is an online website in which jobseekers can register themselves and then attend the exam. Based on the outcome of the exam the jobseekers will be short listed. For fresher, the exam will be conducted at some venue after short listing of the preliminary Aptitude Test. The details of the examination, venue & Date of the examination will be made available to them through the website.
Module in this project:
1. Administrator
2. Jobseekers
3. Company
Brief description on the modules:
1. Administrator: Administrator has the full authority over the website. He can view all the registered users and have the power to delete them. He can edit the web pages and update them. He can view all the company details also.
2. Jobseeker: A jobseeker can register himself. After registration, he will be directed to his homepage. Here he can update his profile, change password and see the examination details and all.
3. Company: A company can register itself, conduct online examination, approve or disapprove candidates attending examination and provides results about the selected candidates.
CHAPTER 2.
SYSTEM ANALYSIS
9
3.1 DEFINITION
System Analysis is the detailed study of the various operations performed by the system and their relationships within and outside the system. Analysis is the process of breaking something into its parts so that the whole may be understood. System analysis is concerned with becoming aware of the problem, identifying the relevant and most decisional variables, analyzing and synthesizing the various factors and determining an optional or at least a satisfactory solution. During this a problem is identified, alternate system solutions are studied and recommendations are made about committing the resources used to the system.
3.2 DESCRIPTION OF PRESENT SYSTEM
Presently recruitment is done manually. That is if a company or organization needs employees they make an announcement through newspaper. People who are eligible send application to the organization or company. From these applications they are called for interviews or tests. After tests company has to do short listing manually. From these shortlisted candidates, they are called for interviews. After interview short listed candidates are employed. So it’s all a time consuming procedure.
LIMITATIONS OF PRESENT SYSTEM
Recruitment is done manually. These tasks are time consuming. It may take one month or long. People around the world cannot apply. Online Recruitment system very convenient because in the manual system there are lot of difficulties in conducting and managing a recruitment exam, short listing, maintaining staff etc.
3.3 PROPOSED SYSTEM
Online Recruitment is aimed at developing a web-based and central recruitment Process system for the HR Group for a company. Some features of this system will be creating vacancies, storing application data, and Interview process initiation, Scheduling Interviews, Storing Interview results for the applicant and finally hiring of the applicant. This project Online Recruitment System is an online website in which jobseekers can register themselves and then attend the exam. Based on the outcome of the exam the jobseekers will be shortlisted. The details of the examination & Date of the examination will be made available to them through the website. People all around the world can apply and register. It has made all the process easy.
10
3.4ADVANTAGES
Online Recruitment System enables the users to have the typical examination facilities and features at their disposal. It resolves typical issues of manual examination processes and activities into a controlled and closely monitored work flow in the architecture of the application. This multi platform solution brings in by default, the basic intelligence and immense possibilities for further extension of the application as required by the user. The system makes it friendly to distribute, share and manage the examination entities with higher efficiency and easiness. It is a comprehensive resource for finding a job online.
FEASIBILITY STUDY
A feasibility analysis usually involves a through assessment of the operational (need), financial and technical aspects of a proposal. Feasibility study is the test of the system proposal made to identify whether the user needs may be satisfied using the current software and hardware technologies, whether the system will be cost effective from a business point of view and whether it can be developed with the given budgetary constraints. A feasibility study should be relatively cheap and done at the earliest possible time. Depending on the study, the decision is made whether to go head with a more detailed analysis.
When a new project is proposed, it normally goes through feasibility assessment. Feasibility study is carried out to determine whether the proposed system is possible to develop with available resources and what should be the cost consideration. Facts considered in the feasibility analysis were
Technical Feasibility Economic Feasibility Behavioral Feasibility
Technical Feasibility
Technical feasibility includes whether the technology is available in the market for development and its availability. The assessment of technical feasibility must be based on an outline design of system requirements in terms of input, output, files, programs and procedures. This can be qualified in terms of volumes of data, trends, frequency of updating, cycles of activity etc, in order to give an introduction of technical system. Considering our project it is technical feasible. Online Recruiting and Online Recruitment Systems, with its emphasis on a more strategic decision making process is fast gaining ground as a popular outsourced function.
11
Economic Feasibility
This feasibility study present tangible and intangible benefits from the project by comparing the development and operational cost. The technique of cost benefit analysis is often used as a basis for assessing economic feasibility. This system needs some more initial investment than the existing system, but it can be justifiable that it will improve quality of service.
Thus feasibility study should center along the following points:
Improvement resulting over the existing method in terms of accuracy, timeliness. Cost comparison Estimate on the life expectancy of the hardware. Overall objective.
Our project is economically feasible. It does not require much cost to be involved in the overall process. The overall objective is in easing out the recruitment processes.
Behavioral / Operational Feasibility
This analysis involves how it will work when it is installed and the assessment of political and managerial environment in which it is implemented. People are inherently resistant to change and computers have been known to facilitate change. The new proposed system is very much useful to the users and therefore it will accept broad audience from around the world.
CHAPTER 3.
SYSTEM DESIGN
3.1 DEFINITION
12
The most creative and challenging face of the system development is System Design. It provides the understanding and procedural details necessary for the logical and physical stages of development. In designing a new system, the system analyst must have a clear understanding of the objectives, which the design is aiming to fulfill. The first step is to determine how the output is to be produced and in what format. Second, input data and master files have to be designed to meet the requirements of the proposed output. The operational phases are handled through program construction and testing.
Design of the system can be defined as a process of applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization. Thus system design is a solution to “how to” approach to the creation of a new system. This important phase provides the understanding and the procedural details necessary for implementing the system recommended in the feasibility study. The design step provides a data design, architectural design, and a procedural design.
3.2 OUTPUT DESIGN
In the output design, the emphasis is on producing a hard copy of the information requested or displaying the output on the CRT screen in a predetermined format. Two of the most output media today are printers and the screen. Most users now access their reports from either a hard copy or screen display. Computer’s output is the most important and direct source of information to the user, efficient, logical, output design should improve the systems relations with the user and help in decision-making.
As the outputs are the most important source of information to the user, better design should improve the systems relations and also should help in decision-making. The output device’s capability, print quality, response time requirements etc should also be considered, form design elaborates the way the output is presented and layout available for capturing information. It’s very helpful to produce the clear, accurate and speedy information for end users.
3.3 INPUT DESIGN
In the input design, user-originated inputs are converted into a computer-based system format. It also includes determining the record media, method of input, speed of capture and entry on to the screen. Online data entry accepts commands and data through a keyboard. The major approach to input design is the menu and the prompt design. In each alternative, the user’s options are predefined. The data flow diagram indicates logical data flow, data stores, source and destination. Input data are collected and organized into a group of similar data once identified input media are selected for processing.
13
In this software, importance is given to develop Graphical User Interface (GUI), which is an important factor in developing efficient and user friendly software. For inputting user data, attractive forms are designed. User can also select the desired options from the menu, which provides all possible facilities. Also the important input format is designed in such a way that accidental errors are avoided. The user has to input only just the minimum data required, which also helps in avoiding the errors that the users may make. Accurate designing of the input format is very important in developing efficient software. The goal of input design is to make entry as easy, logical and free from errors.
3.4 LOGICAL DESIGN
Logical data design is about the logically implied data. Each and every data in the form can be designed in such a manner to understand the meaning. Logical data designing should give a clear understanding & idea about the related data used to construct a form.
CHAPTER 4.
DATA FLOW DIAGRAM
A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the processes that change or transform data throughout a system. It’s a structured analysis and
14
design tool that can be used for flowcharting in place of, or in association with, information oriented and process oriented system flowcharts. When analysts prepare the Data Flow Diagram, they specify the user needs at a level of detail that virtually determines the information flow into and out of the system and the required data resources. This network is constructed by using a set of symbols that do not imply a physical implementation. The Data Flow Diagram reviews the current physical system, prepares input and output specification, specifies the implementation plan etc.
Four basic symbols are used to construct data flow diagrams. They are symbols that represent data source, data flows, and data transformations and data storage. The points at which data are transformed are represented by enclosed figures, usually circles, which are called nodes.
Data Flow Diagram Symbols:-
_ Source or Destination of data
_ Data Flow
_ Process
_ Storage
Steps to Construct Data Flow Diagrams
Four steps are commonly used to construct a DFD
Process should be named and numbered for easy reference. Each name should be representative of the process.
The direction of flow is from top to bottom and from left to right. When a process is exploded into lower level details they are numbered. The names of data stores, sources and destinations are written in capital letters.
Rules for constructing a Data Flow Diagram
Arrows should not cross each other.
15
Administrator
Online Recruitment System
Database
Company Candidate
Admin
Login
Username PasswordCategory
If authenticated user
Squares,Circles and files must bear names. Decomposed data flow squares and circles can have same names. Choose meaningful names for dataflow. Draw all data flows around the outside of the diagram.
Zero Level DFDZero Level DFD
4.1 CONTEXT DIAGRAM
4.2 DATA FLOW DIAGRAM
Level 1: Admin
16
Category TblLogin TblLogin
User authentication
Candidate database
Cutoff of candidate
Level 2: Company Management
17
Login
Admin
Validate Company
View Details
Update user
Status
View Resume
Validate user
Update
Resume of
TblLogin
TblCompany
Level 3: User Management
TblLogin
18
Company
Login
Change Password
View Result
Update Password
TblCandidate
TblExperience
TblEducation
Level 4: Company
TblLogin
19
Jobseeker
Edit Profile
Change Password
Update
User details
Update
TblResult
TblCompany
TblJobDetails
TblQuestions
Level 5: Candidate
TblCandidate
20
Login
TblLogin
TblJobDetails
User details
TblQuestion
Allowed
TblResult
4.5 TABLE SPECIFICATION
Table Name: Login
Fieldname Data Type KeyUsername Text Primary keyPassword Text -Status Text -
21
Table Name: Details
Fieldname Data Type KeyUsername Text Primary keyName Text -Gender Text -DateOfBirth Text -CollegeName Text -CollegePhone Text -CollegeEmail Text -Branch Text -Mark Text -Degree Text -Email_id Text -Telephone Text -Address Text --State Text -Pincode Text -Category Text -
Table Name: Experienced
Fieldname Data Type KeyUsername Text Primary key ExpYears Text -Company Text -Designation Text -Salary Text -
22
ComAddress Text -
Table Name: JobDetails
Fieldname Data Type KeyJobId Text - Post Text -Criteria Text -NoOfVacancies Text -Salary Text -LastDate Text -
Table Name: Exam
Fieldname Data Type KeyJobID Text - Post Text -ExamID Text -ExamName Text -Cutoff Text -
Table Name: Question
Fieldname Data Type KeyJobID Text Primary keyExamID Text -QuestionNo Text -
23
Question Text -Option1 Text -Option2 Text -Option3 Text -Option4 Text -Answer Text -
Table Name: Com
Fieldname Data Type KeyCName Text Primary keyCAddress Text -CPost Text -CCriteria Text -CUsername Text -CEmail Text -CContact Text -CCutoff Text -
Table Name: Result
Fieldname Data Type KeyStudentID Text -examID Text -JobID Text -Mark Text -
Table Name: Temp_Data
Fieldname Data Type KeyStudentID Text -QstNo Text -Qst Text -Ch1 Text -Ch2 Text -Ch3 Text -
24
Ch4 Text -Ans Text -
CHAPTER 5.
OVERVIEW OF LANGUAGES/TOOLS
5.1 JAVA
25
Java is a small, simple, safe, object oriented, interpreted or dynamically
optimized, byte coded, architectural, garbage collected, multithreaded programming
language with a strongly typed exception-handling for writing distributed and dynamically
extensible programs.
Java is an object oriented programming language. Java is a high-level, third
generation language like C, FORTRAN, Small talk, Pearl and many others. You can use
java to write computer applications that crunch numbers, process words, play games, store
data or do any of the thousands of other things computer software can do.Special programs
called applets that can be downloaded from the internet and played safely within a web
browser. Java a supports this application and the follow features make it one of the best
programming language.
It is simple and object oriented
It helps to create user friendly interfaces.
It is very dynamic.
It supports multithreading.
It is platform independent
It is highly secure and robust.
It supports internet programming
Java is a programming language originally developed by Sun Microsystems
and released in 1995 as a core component of Sun's Java platform. The language derives
much of its syntax from C and C++ but has a simpler object model and fewer low-level
facilities. Java applications are typically compiled to byte code which can run on any Java
virtual machine (JVM) regardless of computer architecture.
The original and reference implementation Java compilers, virtual machines, and class
libraries were developed by Sun from 1995. As of May 2007, in compliance with the
specifications of the Java Community Process, Sun made available most of their Java
technologies as free software under the GNU General Public License. Others have also
26
developed alternative implementations of these Sun technologies, such as the GNU
Compiler for Java and GNU Classpath.
The Java language was created by James Gosling in June 1991 for use in a
set top box project. The language was initially called Oak, after an oak tree that stood
outside Gosling's office - and also went by the name Green - and ended up later being
renamed to Java, from a list of random words. Gosling's goals were to implement a virtual
machine and a language that had a familiar C/C++ style of notation.
Primary goals
There were five primary goals in the creation of the Java language:
1. It should use the object-oriented programming methodology.
2. It should allow the same program to be executed on multiple operating systems.
3. It should contain built-in support for using computer networks.
4. It should be designed to execute code from remote sources securely.
5. It should be easy to use by selecting what were considered the good parts of other object-
oriented languages.
The Java platform is the name for a bundle of related programs, or platform, from Sun which allow
for developing and running programs written in the Java programming language. The platform is
not specific to any one processor or operating system, but rather an execution engine (called a
virtual machine) and a compiler with a set of standard libraries which are implemented for various
hardware and operating systems so that Java programs can run identically on all of them.
Different "editions" of the platform are available, including:
Java ME (Micro Edition): Specifies several different sets of libraries (known as profiles) for
devices which are sufficiently limited that supplying the full set of Java libraries would take
up unacceptably large amounts of storage.
Java SE (Standard Edition): For general purpose use on desktop PCs, servers and similar
devices.
Java EE (Enterprise Edition): Java SE plus various APIs useful for multi-tier client-server
enterprise applications.
27
The Java Platform consists of several programs, each of which provides a distinct
portion of its overall capabilities. For example, the Java compiler, which converts Java source code
into Java bytecode (an intermediate language for the Java Virtual Machine (JVM)), is provided as
part of the Java Development Kit (JDK). The sophisticated Java Runtime Environment (JRE),
complementing the JVM with a just-in-time (JIT) compiler, converts intermediate bytecode into
native machine code on the fly. Also supplied are extensive libraries (pre-compiled into Java
bytecode) containing reusable code, as well as numerous ways for Java applications to be deployed,
including being embedded in a web page as an applet. There are several other components, some
available only in certain editions.
The essential components in the platform are the Java language compiler, the
libraries, and the runtime environment in which Java intermediate bytecode "executes" according to
the rules laid out in the virtual machine specification.
Java Virtual Machine
28
The heart of the Java Platform is the concept of a "virtual machine" that executes
Java bytecode programs. This bytecode is the same no matter what hardware or operating
system the program is running under. There is a JIT compiler within the Java Virtual
Machine, or JVM. The JIT compiler translates the Java bytecode into native processor
instructions at run-time and caches the native code in memory during execution.
The use of bytecode as an intermediate language permits Java
programs to run on any platform that has a virtual machine available. The use of a JIT
compiler means that Java applications, after a short delay during loading and once they
have "warmed up" by being all or mostly JIT-compiled, tend to run about as fast as native
programs. Since JRE version 1.2, Sun's JVM implementation has included a just-in-time
compiler instead of an interpreter.
Although Java programs are Platform Independent, the code of the Java Virtual
Machine (JVM) that execute these programs are not. Every Operating System has its own
JVM.
Platform independence
One characteristic, platform independence, means that programs written in the Java
language must run similarly on any supported hardware/operating-system platform. One should be
able to write a program once, compile it once, and run it anywhere.
This is achieved by most Java compilers by compiling the Java language code
halfway (to Java bytecode) – simplified machine instructions specific to the Java platform. The code
is then run on a virtual machine (VM), a program written in native code on the host hardware that
interprets and executes generic Java bytecode. (In some JVM versions, bytecode can also be
compiled to native code, either before or during program execution, resulting in faster execution.)
Further, standardized libraries are provided to allow access to features of the host machines (such as
graphics, threading and networking) in unified ways. Note that, although there is an explicit
compiling stage, at some point, the Java bytecode is interpreted or converted to native machine code
by the JIT compiler.
29
The first implementations of the language used an interpreted virtual machine to
achieve portability. These implementations produced programs that ran more slowly than programs
compiled to native executables, for instance written in C or C++, so the language suffered a
reputation for poor performance. More recent JVM implementations produce programs that run
significantly faster than before, using multiple techniques.
One technique, known as just-in-time compilation (JIT), translates the Java bytecode
into native code at the time that the program is run, which results in a program that executes faster
than interpreted code but also incurs compilation overhead during execution. More sophisticated
VMs use dynamic recompilation, in which the VM can analyze the behavior of the running program
and selectively recompile and optimize critical parts of the program. Dynamic recompilation can
achieve optimizations superior to static compilation because the dynamic compiler can base
optimizations on knowledge about the runtime environment and the set of loaded classes, and can
identify the hot spots (parts of the program, often inner loops, that take up the most execution time).
JIT compilation and dynamic recompilation allow Java programs to take advantage of the speed of
native code without losing portability.
Another technique, commonly known as static compilation, is to compile directly into
native code like a more traditional compiler. Static Java compilers, such as GCJ, translate the Java
language code to native object code, removing the intermediate bytecode stage. This achieves good
performance compared to interpretation, but at the expense of portability; the output of these
compilers can only be run on a single architecture. Some see avoiding the VM in this manner as
defeating the point of developing in Java; however it can be useful to provide both a generic
bytecode version, as well as an optimised native code version of an application.
Performance
Java's performance has improved substantially since the early versions, and
performance of JIT compilers relative to native compilers has in some tests been shown to be quite
similar. The performance of the compilers does not necessarily indicate the performance of the
compiled code; only careful testing can reveal the true performance issues in any system.
30
Java Runtime Environment
The Java Runtime Environment, or JRE, is the software required to run any
application deployed on the Java Platform. End-users commonly use a JRE in software packages
and Web browser plugins. Sun also distributes a superset of the JRE called the Java 2 SDK (more
commonly known as the JDK), which includes development tools such as the Java compiler,
Javadoc, Jar and debugger.
5.2 OVERVIEW OF J2EE
Today more and more developments want to write distributed transactional
applications for the enterprise and leverage the speed, security and reliability of server side
technology. J2EE is a platform independent, java centric environment from sun for developing,
building and deploying web based enterprise application online. The J2EE platform consists of a set
of services, API’s and protocols that provide functionality for developing multitiered web based
application.
At the client side tier, J2EE supports pure HTML as well as java applets or
applications. It relies on JSP and Servlet codes to create HTML or other formatted data for the
client. EJB provide another layer where the platform’s logic is stored. An EJB server provides
functions such as threading, concurrency, security and memory management. To reduce costs and
fast-track enterprise application design and development, the java2 platform, Enterprise edition
(J2EE) technology provides a component-based approach to the design, development, assembly and
distributed application model, the ability to reuse components, integrated Extensible Markup
Language (XML) based data interchange, a unified security model, and flexible transaction control.
DISTRIBUTED MULTI TIERED APPLICATIONS
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
31
Database
Application Client Dynamic HTML Pages
JSP Pages
Enterprise BeansEnterprise Beans
Database
J2EE Application1 J2EE Application2
Client tier
Web Tier
Business Tier
EIS Tier
ClientMachine
J2EEServerMachine
DatabaseServerMachine
J2EE environment to which the application component belongs. The figure shown below shows two
multi tiered j2EE applications divided into the tiers described in the following list. The J2EE
application parts shown in Figure
Client-tier components run on the 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 the EIS server.
J2EE COMPONENTS
J2EE applications are made up of components. A J2EE component is a self-contained
functional software unit that is assembled into a J2EE application with its related classes and files
and that following J2EE components: Application clients and applets are components that run on
the client.
Java Servlet and Java Server Pages (JSP) technology components are Web components
that run on the server.
Enterprise Java Beans (EJB) components are business components that run on the
server.
J2EE components are written in the java programming language and are compiled in the same
way as any program in the language. The difference between J2EE components and standard
java classes is that J2EE components are assembled into a J2EE application. Verified to be well
formed and in compliance with managed by the J2EE server.
32
Browser
Application Client
Application client container
J2EE Server
Servlet JSP Page
Web Container
Enterprise Bean
EJB Container
Enterprise Bean Database
J2EE CONTAINERS
Normally, thin-client multi tiered applications are hard to write because they
involve many lines of intricate code to handle transaction and state management,
multithreading, resource pooling, and other complex low-level details. The component-based
and platform-independent J2EE architecture makes J2EE applications easy to write because
business logic is organized into reusable components. In addition, the J2EE server provides
underlying services in the form of a container for every component type. Because you do not
have to develop these services yourself, you are free to concentrate on solving the business
problem at hand.
Containers provide the runtime support for J2EE application components.
Containers provide a federated view of the underlying J2EE APIs to the application
components. J2EE application components never interact directly with other J2EE application
components. They use the protocols and methods of the container for interacting with each
other and with platform services. Interposing a container between the application components
and the J2EE services allows the container to transparently inject the services defined by the
components deployment descriptors, such as declarative transaction management, security
checks, resource pooling, and state management. A typical J2EE product will provide a
container for each application component type: application client container, applet container,
web component container, and enterprise bean container.
Figure: J2EE Server and Containers
33
J2EE SERVER
It is a runtime portion of a J2EE product. A J2EE server provides EJB and Web
containers. The component-based and platform-independent J2EE architecture makes J2EE
applications easy to
write because business logic is organized into reusable components and the J2EE server
provides underlying services in the form of a container for every component type.
CONTAINERS AND SERVICES
Components are installed in their containers during deployment and are the interface
between a component and the low-level platform-specific functionality that supports the
component. Before a web, enterprise bean, or application client component can be executed, it
must be assembled onto a J2EE application and deployed into its container. The assembly
process involves specifying container settings for each component in the J2EE application and
for the J2EE application itself. Container settings customize the underlying support provided by
the J2EE Server, which include services such as security, transaction management, Java
Naming and Directory Interface (JNDI) lookups, and remote connectivity. Here are some of the
highlights:
34
The J2EE security model lets you configure a web component or enterprise bean so
system resources are accessed only by authorized users.
The J2EE transaction model lets you specify relationships among methods that make up
a single transaction so all methods in one transaction are treated as a single unit.
JNDI lookup services provide a unified interface to multiple naming and directory
services in the enterprise so application components can access naming and directory
services.
The J2EE remote connectivity model manages low-level communications between
clients and enterprise beans. After an enterprise bean is created, a client invokes
methods on it as if it were in the same virtual machine.
J2EE PLATFORM ROLES
The J2EE platform also defines a number of distinct roles that are performed during
the application development and deployment life cycle:
The product provider designs and offers the J2EE platform, APIs, and other features that
are defined in the J2EE specification for purchase.
The tool provider offers tools that are used for the development and packaging of
application components as part of the J2EE specifications.
The application component provider creates Web components, enterprise beans, applets, or
application clients to use in J2EE applications.
The application assembler takes a set of components that are developed by component
providers and assembles them in the form of an enterprise archive (EAR) file.
The deployer is responsible for deploying an enterprise application into a specific
operational environment that corresponds to a J2EE platform product.
The system administrator is responsible for the operational environment in which the
application runs.
J2EE BENEFITS
35
The J2EE specification provides customers a standard which can be used to ensure
investment protection when purchasing or developing applications. Comprehensive,
independent Compatibility Test Suites ensure vendor compliance with J2EE standards.
Some benefits of deploying to J2EE architecture include:
A simplified architecture that is based on standard components, services, and clients. The
architecture maximizes the write-once, run-anywhere Java technology.
Services providing integration with existing systems, including Java DataBase Connectivity
(JDBC); Java Message Service (JMS); Java Connector Architecture (JCA); Java Interface
Definition Language (Java IDL); the JavaMail API; and Java Transaction API (JTA and
JTS) for reliable business transactions.
Scalability to meet demand, by distributing containers across multiple systems and using
database connection pooling, for example.
A better choice of application development tools and components from vendors providing
standard solutions.
A flexible security model that provides single sign-on support, integration with legacy
security schemes, and a unified approach to securing application components.
5.3 NETBEANS IDE 6.9
Setting up the Project
To create an IDE project:
1. Start NetBeans IDE.
2. In the IDE, choose File > New Project (Ctrl-Shift-N), as shown in the figure below.
3. In the New Project wizard, expand the Java category and select Java Application as shown in the figure below.
Then click Next.
36
4. In the Name and Location page of the wizard, do the following (as shown in the figure below):
o In the Project Name field, type HelloWorldApp.
o Leave the Use Dedicated Folder for Storing Libraries checkbox unselected. (If you are using NetBeans IDE 6.0,
this option is not available.)
o In the Create Main Class field, type helloworldapp.HelloWorldApp.
o Leave the Set as Main Project checkbox selected.
37
5. Click Finish.
The project is created and opened in the IDE. You should see the following components:
The Projects window, which contains a tree view of the components of the project, including source files, libraries that your
code depends on, and so on.
The Source Editor window with a file called HelloWorldApp open.
The Navigator window, which you can use to quickly navigate between elements within the selected class.
38
39
Adding Code to the Generated Source File
Because you have left the Create Main Class checkbox selected in the New Project wizard, the IDE has created a skeleton class
for you. You can add the "Hello World!" message to the skeleton code by replacing the line:
// TODO code application logic here
with the line:
System.out.println("Hello World!");
Save the change by choosing File > Save.
The file should look something like the following:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package helloworldapp;
/**
*
* @author Sonya Bannister
*/
public class HelloWorldApp {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("Hello World!");
40
}
}
Compiling the Source File
To compile your source file, choose Build > Build Main Project (F11) from the IDE's main menu.
You can view the output of the build process by choosing Window > Output > Output.
The Output window opens and displays output similar to what you see in the following figure.
If the build output concludes with the statement BUILD SUCCESSFUL, congratulations! You have successfully compiled
your program!
If the build output concludes with the statement BUILD FAILED, you probably have a syntax error in your code. Errors are
reported in the Output window as hyper-linked text. Click such a hyper-link to navigate to the source of an error. You can then
fix the error and once again choose Build > Build Main Project.
When you build the project, the bytecode file HelloWorldApp.class is generated. You can see where the new file is generated
by opening the Files window and expanding the Hello World App/build/classes/helloworldapp node as shown in the
following figure.
41
Now that you have built the project, you can run your program.
Running the Program
From the IDE's menu bar, choose Run > Run Main Project (F6).
The next figure shows what you should now see.
Congratulations! Your program works!
5.4 SQL
History
SQL was initially developed at IBM by Donald D. Chamberlin and Raymond F. Boyce in the early 1970s. This version, initially called SEQUEL (Structured English Query Language), was designed to manipulate and retrieve data stored in IBM's original quasi-relational database management system, System R, which a group at IBM San Jose Research Laboratory had developed during the 1970s. The acronym SEQUEL was later
42
changed to SQL because "SEQUEL" was a trademark of the UK-based Hawker Siddeley aircraft company.
In the late 1970s, Relational Software, Inc. (now Oracle Corporation) saw the potential of the concepts described by Codd, Chamberlin, and Boyce and developed their own SQL-based RDBMS with aspirations of selling it to the U.S. Navy, Central Intelligence Agency, and other U.S. government agencies. In June 1979, Relational Software, Inc. introduced the first commercially available implementation of SQL, Oracle V2 (Version2) for VAX computers.
After testing SQL at customer test sites to determine the usefulness and practicality of the system, IBM began developing commercial products based on their System R prototype including System/38, SQL/DS, and DB2, which were commercially available in 1979, 1981, and 1983, respectively.
Language elements
A chart showing several of the SQL language elements that compose a single statement
The SQL language is subdivided into several language elements, including:
Clauses, which are constituent components of statements and queries. (In some cases, these are optional.)[12]
Expressions, which can produce either scalar values, or tables consisting of columns and rows of data.
Predicates, which specify conditions that can be evaluated to SQL three-valued logic (3VL) or Boolean (true/false/unknown) truth values and which are used to limit the effects of statements and queries, or to change program flow.
Queries, which retrieve the data based on specific criteria. This is the most important element of SQL.
Statements, which may have a persistent effect on schemata and data, or which may control transactions, program flow, connections, sessions, or diagnostics.
o SQL statements also include the semicolon (";") statement terminator. Though not required on every platform, it is defined as a standard part of the SQL grammar.
Insignificant whitespace is generally ignored in SQL statements and queries, making it easier to format SQL code for readability.
43
CHAPTER 6.
SYSTEM SPECIFICATION
6.1 Hardware Specification
CPU : DUAL CORE
PROCESSOR SPEED : 2 GHz
COPROCESSOR : BUILT IN
TOTAL RAM : 1 GB
HARD DISK : 40 GB
KEYBOARD : 105 KEYS
MOUSE : OPTICAL MOUSE
DISPLAY : SGVA COLOR
PRINTER : HP DESK JET (OPTIONAL)
6.2 Software Specification
FRONT END : J2EE
MIDDLE END : JSP
BACK END : MY SQL
OPERATING SYSTEM : WINDOWS XP/7/8/LINUX
44
CHAPTER7.
FUTURE ENHANCEMENT
Online recruiting and online recruitment systems, with its emphasis on a more strategic decision making process is fast gaining ground as a popular outsourced function. Most Online Recruiting sites deliver easy-to-use search capabilities, customer service and convenience. The immense power of web enabling crucial recruitment processes to covert them into online recruitment systems is a key factor in easing out the recruitment processes. Recruiting and staffing software makes data collection easier and tasks get completed quicker. The return on investment is immediate, simply because of the reduced time and increased ease of recruitment processes. E-Recruiting technology is skill-based with automated pre-screening features which is the next step in the evolution of online recruiting.
Corporate expenditures for these Online-recruiting services are anticipated to increase dramatically in the next few years as corporate end users upgrade their hiring methodologies, strategies and technologies for finding talent.
The three macro economics trends that are seen as fuelling the growth of this industry are:
Shorter employment tenures Shrinking labor pools Need for technology workers
In wake of the new and related trends, it is imperative for frequent upgrades to a company’s software or web applications to make it easier for clients and employees to address new business needs.
45
CHAPTER 8.
CODING
Login Page
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>www.CarrierMithr.com</title>
<style type="text/css">
<!--
.body {
margin:0%;
}
a:link {
color: #003366;
text-decoration: underline;
}
a:visited {
text-decoration: underline;
color: #660066;
}
a:hover {
text-decoration: none;
color: #CC6633;
}
a:active {
text-decoration: underline;
46
color: #990033;
}
.style10 {
color: #993300;
font-weight: bold;
}
.style11 {
color: #993333;
font-weight: bold;
}
.style12 {color: #339933}
body,td,th {
color: #336633;
}
-->
</style>
</head>
<body style="margin:0px">
<table width="100%" height="492" border="1">
<tr valign="top">
<td height="120" colspan="2" bgcolor="#624631"><jsp:include page="Header.jsp"/></td>
</tr>
<td width="1" height="449" valign="top" bgcolor="#624631"><jsp:include page="menu.html"/></td>
<td width="759" valign="top" bgcolor="#E8E1C7">
47
<div align="right" >
<p><img src="Login.jpg" width="209" height="166"></p>
</div>
<form name="login" method="post" action="savelogindata.jsp">
<div align="right">
<table width="219" height="230" border="1" align="right">
<tr valign="top">
<td height="36" bgcolor="#668CCC"><p align="center" class="style10">Already a member???</p> </td>
</tr>
<tr>
<td width="209" height="155" bgcolor="#93C2E6">
<div align="center">
<p><strong>Enter Username </strong><br>
<input name="username" type="text" id="username" />
</p>
</div>
<p align="center"><strong>Enter Password
<input name="password" type="password" id="password" />
</strong></p>
<label></label>
<div align="center">
<input type="submit" name="Submit" value="Login" />
</div></td>
</tr>
48
</table>
</div></form>
<p align="right"> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p> </td>
</tr>
</table>
</tr>
</table>
</body>
</html>
Admin Home Page
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
49
<title>www.CarrierMithr.com</title>
<style type="text/css">
.body {
margin:0%;
}
a:link {
color: #000066;
text-decoration: underline;
}
a:visited {
text-decoration: underline;
color: #C0DCC0;
}
a:hover {
text-decoration: none;
color: #996666;
}
a:active {
text-decoration: underline;
color: #FF9999;
}
.style1 {
font-size: 16px;
font-weight: bold;
}
50
.style2 {font-size: 18px}
.style3 {color: #CBD1D9}
</style>
</head>
<body style="margin:0px" >
<table width="100%" height="504" border="0" valign="top">
<tr>
<td height="23"colspan="2"bgcolor="#666734">
<jsp:include page="AdminHeader.html"/></td>
</tr>
<tr>
<td width="1%"align="left"bgcolor="#666734">
<jsp:include page="Adminmenu.html"/></td>
<td bgcolor="#CCCCCC" valign="top">
<div align="right">
<%if(request.getParameter("id")!=null&& request.getParameter("id").equalsIgnoreCase("pwc")){
out.println("<font color=\"red\" >Password changed Successfully</font>");
}%>
<img src="home_recruitment_link[1].jpg" width="639" height="349"></div></td>
</tr>
</table>
</body>
</html>
51
Company Home Page
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>www.CarrierMithr.com</title>
<style type="text/css">
<!--
.body {
margin:0%;
}
a:link {
color: #000066;
text-decoration: underline;
}
a:visited {
text-decoration: underline;
color: #C0DCC0;
}
a:hover {
text-decoration: none;
color: #996666;
}
a:active {text-decoration: underline;
52
color: #FF9999;
}
.style1 {
font-size: 16px;
font-weight: bold;
}
.style2 {font-size: 18px}
.style3 {color: #CBD1D9}
-->
</style>
</head>
<body style="margin:0px" bgcolor="#FFFFFF">
<table width="100%" border="1" bordercolor="#ECE9D8" bgcolor="#FFFFFF">
<tr>
<td height="107"colspan="2"bordercolor="#622D13">
<jsp:include page="CompanyHeader.jsp"/></td>
</tr>
<tr>
<td valign="top"height="512"bordercolor="#622D13">
<jsp:include page="Companymenu.html"/></td>
<td width="961" bordercolor="#622D13" valign="top"><img src="campus-training[1].jpg" width="743" height="356"></td>
</tr>
</table>
</body>
</html>
53
Cadidate Home Page
<%@page import="java.io.*" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>www.CarrierMithr.com</title>
</head>
<body>
<table width="104%" height="628" border="1">
<tr>
<td height="23" colspan="2"><jsp:include page="CandidateHeader.jsp"/></td>
</tr>
<tr>
<td width="1" height="597"><jsp:include page="Candidatemenu.jsp"/></td>
<td width="738" valign="top"><img src="placements[1].jpg" width="473" height="299"></td>
</tr>
</table>
</body>
</html>
54
CHAPTER 9.
SNAPSHOTS
Home
55
Login
56
Candidate Registration
57
Company Registration
58
CompanyHomePage
59
Company Edit Profile
60
Company Change Password
61
Add Job Details
62
View Job Details
63
Exam Creation
64
Exam View
65
Add Questions
66
Question selection
67
View Question
68
Candidate Home Page
69
Candidate Edit Profile
70
Candidate Change Password
71
Admin Home Page
72
Admin Company Details
73
Admin Change Password
74
CHAPTER 10.
CONCLUSION
Now a days manual process of searching a job of the appropriate choice and searching the appropriate candidate for a specific job has become a huge task.And so for realizing the need of easy management of this process the site has been developed.It’s very easy to update and maintain information through this site.The main features of this site includes flexibility, easy to manipulate information’s, easy access searching, storage, reduce manual work in an efficient manner, a quick, convenient, reliable, timely and effective way to reach recruiting, search and employment professionals worldwide and most economical.The project could very well be enhanced further as per the requirements.
75
CHAPTER 11.
BIBLIOGRAPHY
BOOKS
1. Charles Hampfed(2000)’Instant Java Server Pages’ University of Toranto2. Herbert Schildt(2000) ‘Java Complete Reference’ Tata McGrow Hill3. John Zukowski(2000)’Master in Java2’ BPB Publications4. Jamie Jaworsky ‘J2EE Bible ‘ Techmedia5. Stefen Denniger ‘Enterprise JavaBeans 2.1’ Authors Press
ONLINE REFERENCE
1. www.codeproject.com2. www.java.sun.com 3. www.codeguru.com 4. www.google.com
76