You are on page 1of 76

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
2

TABLE OF CONTENTS

DECLARATION5 CERTIFICATE..........6 ACKNOWLEDGMENT7 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 DESIGN13 3.1 Definition...13 3.2 Output Design13 3.3 Input Design..13 3.4 Logical Design14 CHAPTER 4: DATA FLOW DIAGRAM15 4.1 DFD Symbol..15 4.2 Zero Level DFD.16
3

4.3 Data Flow Diagram17 4.3.1 Admin..18 4.3.2 Company Management...19 4.3.3 User Management20 4.3.4 Company.21 4.3.5 Candidate.22 CHAPTER 5: OVERVIEW OF LANGUAGES/TOOLS26 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 ENHANCEMENT45 CHAPTER 8: CODING46 CHAPTER 9: SNAPSHOT..55 CHAPTER 10: CONCLUSION75 CHAPTER 11: BIBLIOGRAPHY....76

DECLARATION

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

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

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

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 CVs 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. Todays recruitment applications are designed to do a whole lot more than just reduce paperwork. They can make a significant contribution to a companys 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

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

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

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.

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

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.

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.

12

CHAPTER 3. SYSTEM DESIGN


3.1 DEFINITION
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. Computers output is the most impor tant 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 devices 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. Its 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
13

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

14

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. Its a structured analysis and 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.
15

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

4.1 CONTEXT DIAGRAM

Administrator

Company

Online Recruitment System

Candidate

Database 16

4.2 DATA FLOW DIAGRAM

Level 1: Admin

Admin

Category Login

Username Password Category

TblLogin TblLogin

If authenticated user

Company Mangement System 1.1.1 User authentication

User Management 1.1.2

Data store Candidate database

Cutoff of candidate Short listing of Candidates

17

Level 2: Company Management

Login

TblLogin

Validate Company

Update user Status

Admin

View Details TblCompany

18

Level 3: User Management

Validate user

Update

TblLogin

Admin

View Resume

Resume of Registered users

TblCandidate

User details

View Details TblExperience

Experience details

Education details

TblEducation

19

Level 4: Company

Login TblLogin

Company

Change Password

Update Passwor d

TblResult

TblCompany

View Result

Edit Profile

Update Company details

Insert Job details TblJobDetails Job Details Add TblQuestions Questions View

20

Level 5: Candidate
Login Edit Profile

Update User details

Jobseeker

TblCandidate

Change Password

Update Password

TblLogin

View Job Details

Job details

TblJobDetails

User details Attend Exam Allowed

TblQuestion

TblResult

21

4.5 TABLE SPECIFICATION

Table Name: Login Fieldname Username Password Status Data Type Text Text Text Key Primary key -

Table Name: Details Fieldname Username Name Gender DateOfBirth CollegeName CollegePhone CollegeEmail Branch Mark Degree Email_id Telephone Address State Pincode Category Data Type Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Key Primary key --

22

Table Name: Experienced Fieldname Username ExpYears Company Designation Salary ComAddress Table Name: JobDetails Fieldname JobId Post Criteria NoOfVacancies Salary LastDate Data Type Text Text Text Text Text Text Key Data Type Text Text Text Text Text Text Key Primary key -

Table Name: Exam Fieldname JobID Post ExamID ExamName Cutoff Data Type Text Text Text Text Text Key -

23

Table Name: Question Fieldname JobID ExamID QuestionNo Question Option1 Option2 Option3 Option4 Answer Data Type Text Text Text Text Text Text Text Text Text Key Primary key -

Table Name: Com Fieldname CName CAddress CPost CCriteria CUsername CEmail CContact CCutoff Data Type Text Text Text Text Text Text Text Text Key Primary key -

Table Name: Result Fieldname StudentID examID JobID Mark Data Type Text Text Text Text Key -

24

Table Name: Temp_Data Fieldname StudentID QstNo Qst Ch1 Ch2 Ch3 Ch4 Ans Data Type Text Text Text Text Text Text Text Text Key -

25

CHAPTER 5. OVERVIEW OF LANGUAGES/TOOLS

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

26

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

27

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.

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.

28

Java Virtual Machine


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

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.

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.

30

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.

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.2OVERVIEW 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, APIs and protocols that provide functionality for developing multitiered web based application.

31

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 platforms 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 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 Application1 Application Client

J2EE Application2 Dynamic HTML Pages Client Machine

Client tier

JSP Pages

Web Tier

J2EE Server

Enterprise Beans

32 Enterprise Beans

Business Tier

Machine

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.

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

33

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

Browser

J2EE Server Servlet

JSP Page

Application Client Application client container

Web Container

Enterprise Bean

Enterprise Bean

Database

EJB Container Client Machine

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.

34

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:

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

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

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.

36

5.3 NETBEANS IDE 6.9

Setting up the Project


To create an IDE project: 1. 2. Start NetBeans IDE. 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.

4.

In the Name and Location page of the wizard, do the following (as shown in the figure below):

37

o o

In the Project Name field, type HelloWorldApp. Leave the Use Dedicated Folder for Storing Libraries checkbox unselected. (If you are using NetBeans IDE 6.0, this option is not available.)

o o

In the Create Main Class field, type helloworldapp.HelloWorldApp. Leave the Set as Main Project checkbox selected.

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

40

System.out.println("Hello World!"); }

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 PROCESSOR SPEED COPROCESSOR TOTAL RAM HARD DISK KEYBOARD MOUSE DISPLAY PRINTER : : : : : : : : : DUAL CORE 2 GHz BUILT IN 1 GB 40 GB 105 KEYS OPTICAL MOUSE SGVA COLOR HP DESK JET (OPTIONAL)

6.2 Software Specification


FRONT END MIDDLE END BACK END OPERATING SYSTEM : : : : J2EE JSP MY SQL 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 companys 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" page="Header.jsp"/></td> </tr> <td width="1" height="449" page="menu.html"/></td> valign="top" bgcolor="#624631"><jsp:include colspan="2" bgcolor="#624631"><jsp:include

<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 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> align="center"

<label></label> <div align="center"> <input type="submit" name="Submit" value="Login" /> </div></td> </tr>
48

</table> </div></form> <p align="right">&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> </tr> </table> </tr> </table> </td>

</body> </html>

Admin Home Page

<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
49

HTML

4.01

Transitional//EN"

<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" training[1].jpg" width="743" height="356"></td> </tr> </table> </body> </html> valign="top"><img src="campus-

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" height="299"></td> </tr> </table> </body> </html> valign="top"><img src="placements[1].jpg" width="473"

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.Its very easy to update and maintain information through this site.The main features of this site includes flexibility, easy to manipulate informations, 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. 2. 3. 4. 5. Charles Hampfed(2000)Instant Java Server Pages University of Toranto Herbert Schildt(2000) Java Complete Reference Tata McGrow Hill John Zukowski(2000)Master in Java2 BPB Publications Jamie Jaworsky J2EE Bible Techmedia Stefen Denniger Enterprise JavaBeans 2.1 Authors Press

ONLINE REFERENCE 1. www.codeproject.com 2. www.java.sun.com 3. www.codeguru.com 4. www.google.com

76

You might also like