Current economic climate
In this current economic climate, many people are searching for jobs with internet-based (online) recruitment service providers. In order to serve as a viable source of help for these people and ultimately maintain the satisfaction of industrial employers - their paying customers, online recruitment websites should strive to achieve a high level of service quality for the job seekers.
The project addresses the key areas related to web application development using Java Enterprise Edition technologies and it also includes the role MVC architecture and the role of Struts framework for developing web based application for employment exchange over the web, some of the common problems being faced by previous java technologies, and solutions on how to solve these problems.
Keywords MVC architecture, Struts framework, Servlets, JSP, Job seeker, job provider, registration, submission, vacancy bookings etc..
All the work reported within this dissertation is the original research work done by the researcher during the period June to September 2009. No material contained in this thesis is submitted to for other degree to this or any other institution. In line with the assessment regulations, reference to other's work has been acknowledged.
It is difficult for me adequately acknowledge the incredible support I have received from people in the academia while doing my dissertation. My sincere thanks go to:
- Professor Julian Newman, my dissertation supervisor for all his encouragement, continuous support, assistance and the right direction.
- I would like to thank all those who contributed to this project in one way or the other. My special thanks to Mr. Fahd Husain, my classmate.
- And lastly, my parents without their support and their endless encouragement and assistance over the time this dissertation would not have been possible.
1.1 The context of the dissertation
Aim of the research
The aim of this project is to develop software package for employment exchange and to provide solutions to the commonly faced problems by the employment exchange. This can be accomplished by developing one point online source of information about employment opportunities in one single centralised server. The application will be designed in such a way that it can be helpful for job seekers, job employers and employment exchanges.
Objectives of research
The system will be responsible for collecting regularly information about employment in the private sector as well as in the public sector. Employment Market Information (EMI) provides employers with the facility to file their vacancies. Following are few of the major objectives
The proposed system has been developed to achieve the following objectives:
- Provide basic functionality for Jobseekers/Employers
- Registers the job seekers
- Registers employers/placement agencies
- Booking of vacancies
- Submissions based on the vacancy parameters
- The system will provide the basic functionality for the creation of new EMI Unit; modify/delete an existing EMI Unit.
- The system will provide the basic functionality for the creation of new EMI type modify/delete an existing EMI type.
- It is responsible to develop the interface for book keeping of EMI Unit Contact Persons record.
- The system will manage the various types of EMI Units and it provides the basic functionality for the creation of new EMI Unit Type; modify/delete an existing EMI Unit Type.
1.3 Requirement Analysis
- The use of company web pages to attract prospective job applicants has experienced tremendous growth in recent years. To date, very little is known about the process by which recruitment web sites influence individuals' desire to pursue employment with an organization (Ian et al 2003).
- A critical first step in employee recruitment is to attract individuals to apply for positions in a firm (Barber, 1998). Organizations that attract more qualified applicants have a larger pool of applicants to choose from, which results in greater utility for firm selection systems (Boudreau & Rynes, 1985). Furthermore, if individuals do not apply to jobs they cannot be influenced by subsequent recruitment activities (Barber & Roehling, 1993; Rynes, 1991; Rynes & Barber, 1990). Thus, several scholars have called for more research examining the factors that influence attraction during the applicant generation phase of recruitment (Barber, 1998; Rynes, 1991).
- Extant research on applicant generation has largely focused on examining the effects of print recruitment ads and brochures on individuals' perceptions of organizational attractiveness. In general, these studies have found that recruitment literature provides signals to prospective job applicants about firm attributes, which in turn influence the likelihood that individuals will pursue employment opportunities with an organization (see Barber, 1998 for a review). However, while a body of knowledge has developed around the use of print recruitment materials to attract applicants, very little is known about organizations use of web sites to attract job applicants.
- Employment recruitment web sites have become a key tool for companies to generate applicants, often serving as the primary vehicle by which job applicants initially gather information about the attributes of organizations, learn about job openings, and submit employment applications. As a result, the effectiveness of an organization's web site at communicating employment information is a crucial determinant of an organizations' ability to successfully generate qualified applicants (Cappelli, 2001). This fact was highlighted by a recent study of college students reporting that 26% of students rejected potential employers from job search consideration because of the poor design of their web sites (Karr, 2000). Yet, despite evidence that employment recruitment web sites are an important means by which individuals initially gather information about prospective employers, we are aware of only two theoretically grounded studies that have examined how or why recruitment web sites influence individuals' decisions to pursue employment with an organization
- Realizing advance need of development efforts and investment of time, developing uniform application software for implementation, requires new business processes and supporting tools and infrastructure for employment opportunities recruiting online.
- The previous computerisation efforts by various agencies have resulted in the use of multiple platforms, duplication of developmental efforts, and maintenance problems in places due to the lack of networking infrastructure.
- Any application supporting a business process for the employment exchanges at a regional level thus must thus be able to reach out to a number of different users of the system who are situated in different locations at different times with different informational needs in a consistent manner and maintain uniformity of procedures with the provision of meeting the local requirements of that region. In other words that system must therefore be centralized in their very nature, and should be connected to a central server. The centralized computing concept is therefore naturally appropriate for the project-oriented nature of business processes of the employment exchanges, since it promises central, one point, and common solution which focuses on uniformity of employment procedures and providing efficient services to the job seekers and employers when needed.
- With all these considerations, supporting existing business processes of employment exchange for interaction between jobseekers, employers and employment exchanges appears as a fruitful concept for adding more value through Employment website / portal, thus increasing quality of services offered by the Employment Exchanges for the people.
After realizing the system analysis the application will have the following modules:
Employment Exchanges are in charge for collecting regularly information about employment in the private as well as in public sectors. Employment market information (EMI) provides employers with the facility to file their vacancies and job seekers to apply for those vacancies. Following sub modules will be developed for the module:
The administrator has got all the privileges of adding the new employment type and employment units and employment sectors without which job employers cannot register into particular employment type and employment units. The following sub modules have been developed for this module:
· Add New EE Type:
This module is under the control of administrator and it helps the administrator to add the type of employment i.e., whether the employment is IT, Telecommunication, Retail, Security etc.
· Add New EE Unit:
This module is again under the control of admin and it helps the admin to add employment exchange in particular location i.e., employment exchange in Scotland and in particular Glasgow, Stirling, Inverness, Aberdeen etc.
· Add Employment Sector:
This module lets admin to add what type of employment sector it is? Whether it is a private sector, public sector or government sector.
· List EE Type:
This module lets admin to list all the registered employment types and admin can also update/delete the existing employment type.
· List EE Unit:
This module lets admin to list all the registered employment units and admin can also update/delete the existing employment unit.
· EMI Unit
This module will provide the basic functionality for the creation of new EMI Unit; modify/delete an existing EMI Unit.
· EMI Unit Type
This module manages the various types of EMI Units and it provides the basic functionality for the creation of new EMI Unit Type; modify/delete an existing EMI Unit Type.
Job employer is the one who can register in Employment unit and can post their vacancies across different employment units. The following sub modules have been developed this module:
· Register employer in EE Type:
This module helps the employer to register for what type of employment he/she is registering for.
* Register Employer in EE Unit:
This module helps the employer to register in particular employment unit to post their vacancies in particular employment exchange unit.
· Post Vacancies:
This module helps the employer to post their vacancies, and it helps the employer how many vacancies are they looking for, what is the deadline for job seekers to apply for that vacancy etc.
This module helps the job seekers to register for a particular employment unit and it helps the job seeker to search for vacancies across that employment unit. The following sub modules have been developed for this module:
· Register for EE Unit:
This module helps the job seeker to register for a particular employment exchange.
· Update Job Seeker Details:
This module helps the job seeker to update his personal details.
This module helps the job seeker to search for vacancies from employment unit for which he is registered in.
1.5 Research question
The research question of this dissertation primarily focuses on development of web based application for employment exchange to provide one point online source of information for job seekers and job employers using struts framework technology.
Research question includes:
- Why this application be developed?
- Why there is need of online recruitment?
- Why there is need of centralized DB for employment exchange?
- Is there any need for providing one point online source of information?
- Why choosing struts framework for developing the application?
- How and why the application is maintainable?
This dissertation has been made after in-depth research on the recruitment system and the underlying Struts technology. The software has been made by following iterative model. In iterative modelling, a part of software is developed and then tested and this process carries on until the software completes.
1.7 Dissertation Structure: Organization of chapters
This dissertation has been structured in the following manner:
Chapter 1- Introduction: This chapter will give the overview of Common Application System for Employment Exchange. It includes the aim and objectives of the research and the requirement analysis.
Chapter 2- Literature Review: This chapter will give the background of the Common Application for Employment Exchange system. This chapter will also talk about the existing manual system and the existing computerised system. The next section of this chapter will tell about the how the proposed is implemented. Therefore, this chapter inclusion makes the reader familiar with the concepts.
Chapter 3: Related Work: This chapter will investigate the related research. It will cover past research and case studies from relevant journals, papers etc.
Chapter 4: Methodology: This chapter will explain the methodology for research. This chapter contains project plan, design specification, testing, and technology assessment of the project. Technology assessment section includes the current state of knowledge and technology, software and hardware used in Common Application for Employment Exchange system. Further, this section tells about the technology chosen to develop this project.
Chapter 5- Conclusion and future work: This chapter will summarize what will be done in this dissertation. In this chapter, what could be done as a future works will be documented?
2. Project Description
This section aims to provide the background and motivation of the system that will be designed in this dissertation. This section also reviews the objectives of this dissertation.
2.1 Background of this dissertation.
In terms of background of the dissertation referred to as "Common Application System for Employment Exchange", two critical areas came out.
- The need for a uniform software application for all the exchanges, in order to provide quick and efficient service to the employers, job seekers.
- The need of employment website / portal to provide a one point online source of information about employment and employment opportunities.
- The dissertation aims to offer resourceful and quick services to job seekers and employers through employment website / portal.
- This dissertation also attempts to accomplish the need of a consolidated, single point resource of information to job seekers, employers.
3. With this background, and the fact that a lot of attempts have been put in the past to computerise the employment exchanges, it not only looks at eliminating the difficulties faced by the manual and previously computerised systems but this system will take care of all the common activities of employment exchanges to maintain uniformity of procedure. In addition to this consideration other factors also contribute towards the implementation of the computerisation schemes like providing a common platform, technological advancement to reduce duplication of efforts for a number of different users with different needs.
4. Keeping in view the latest technology and to meet standards, the developed application must be web based, database driven, secure, scalable and should also satisfy certain performance issues so that both the input and output activities enable the employment exchanges to facilitate on-line registration, submission, queries etc. The employment exchanges will be able to execute their everyday activities remotely and will also be able to generate all the required related reports.
5. To end this the dissertation will involve latest methodologies and software technology to support the software development paradigm, reasonably comprehensive distributed system architecture as well.
2.2 About Java platform, Enterprise Edition (JEE):
"JEE platform is an open standard based, development and deployment platform for building web based, server-centric, multi-tier and component based enterprise applications". [Marty, 2004, pg 455]
In deeper technical terms JEE platform, Enterprise Edition (JEE) is a comprehensive set of specifications for designing, developing and deploying n-tier, server based applications. The JEE specifications are the result of an industry wide effort that involves a large number of contributors. Sun and IBM has contributed by defining more than 80% of the JEE APIs.
The standard architecture defined by the JEE specification is composed of the following elements.
- Standard application model for developing n-tier applications.
- Standard platform for hosting applications.
- Compatibility test suit for verifying that JEE products comply with the JEE specification.
- Reference implementation providing an operational definition of JEE.
The JEE platform is designed to provide client-side and server-side support for developing distributed, n-tier applications. Such applications are typically configured as a client tier to provide the user interface, one or more middle-tier modules that provide client services and business logic for an application, and back-end enterprise information systems providing data management.
JEE describes the runtime environment for a JEE application. This environment includes application components, containers, and resource manager drivers. The elements of this environment communicate with a specified set of standard services.
The Figure below illustrates the various components and services that make up a typical JEE environment:
2.3 Role of MVC Architecture.
"The Model-view-controller (MVC) pattern is an architectural pattern originally implemented in the Smalltalk event-driven graphical user interface (GUI) framework" (Sun Microsystems, 2005, pg5-5).
"Model-view-controller (MVC) is a design pattern that defines a clear separation between the following three application tiers:
- The model is the set of data and business rules for the application. This is commonly called the application's business logic.
- The view is the application's user interface.
- The controller defines the way that an application interacts with user input and the model. This is called the application logic" (Johnson, 1998)
By promoting a clear separation between tiers, MVC allows loose coupling between components that comprise each tier. This allows more flexibility and code reuse. For example, if you develop several user interfaces for one application, you need to develop the view component because of the loosely coupled application tiers.
2.4 The Struts Framework.
"The Struts framework is written entirely in Java using standard J2EE APIs. In addition, it uses several well-known J2EE design patterns, such as Model-view-controller and Front Controller" (Cavaness, 2004, pg 40).
The Struts framework is the View and Controller components of MVC. The following shows how Struts maps to the MVC framework. Struts have three major components:
- Action beans
- ActionForm beans and custom tags.
2.4.1 Role of Struts Framework.
"A framework is a reusable, semi-complete application that can be specialized to produce
Custom applications. Frameworks promote reusability by exploiting the domain Knowledge and prior effort of experienced developers in order to avoid recreating Common solutions to recurrent application requirements" (Cavaness, 2004, pg 10).
The role played by Struts is controller in Model/View/Controller (MVC) style. The View is played by JSP and Model is played by JDBC or generic data source classes. The Struts controller is a set of programmable components that allow developers to define exactly how the application interacts with the user.
2.4.2 Why do we need Struts?
Java technologies give developers a serious boost when creating and maintaining applications to meet the demands of today's public Web sites and enterprise intranets. Struts combine Java Servlets, Java Server Pages, custom tags, and message resources into a unified framework. The end result is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone in between.
2.4.3 MVC design pattern used in Struts framework
In the MVC design pattern, application flow is mediated by a central Controller. The Controller delegates requests to an appropriate handler. The handlers are tied to a Model, and each handler acts as an adapter between the request and the Model. The Model represents, or encapsulates, an application's business logic or state. Control is usually then forwarded back through the Controller to the appropriate View. The forwarding can be determined by consulting a set of mappings, usually loaded from a database or configuration file. This provides a loose coupling between the View and Model, which can make an application significantly easier to create and maintain. Controller--Servlet controller which supplied by Struts itself; View --- what you can see on the screen, a JSP page and presentation components; Model --- System state and business logic JavaBeans.
2.5 Problem recognition and its solutions
2.5.1 Using Servlets
Servlets provide a component-based, platform independent method for building web applications. Servlets don't suffer from the same performance limitations that standard CGI applications incur. Servlets are more efficient than the standard CGI threading model because they create a single heavy-weight process and allow each user request to use a much more light-weight thread, which is maintained by the Java Virtual Machine (JVM), to fulfil the request.
Although, are great at what they do, it quickly became apparent that hard coding HyperText Markup Language (HTML) output in a servlet as a response to a request had some serious limitations. First and foremost, it was hard to make changes to HTML because for every change, a recompilation of the servlet had to take place.
Secondly, supporting different languages is difficult because HTML is hard coded.
Finally Servlets are cumbersome to develop, however, because sending HTML tags requires the programmer to compose them into a String object and send this object to the browser. Also, a minor change to the output requires the Servlets to be recompiled.
2.5.2 Limitation of using Servlets.
Low-level construction of HTML documents
- Fragments (strings) written to output stream
- No static well-formedness/validity guarantees
- Control-flow is often unclear
- No enforcement of relation between showing a page and receiving form input
- Primitive session state management
Low-level session management
2.5.3 Solution for Servlets Limitations.
JavaServer Pages was the next step in the linear progression of developing web technologies based on the java platform. The introduction of JSP pages, as they are commonly referred to, helped to alleviate the Servlet limitations and opened up many new doors for web developers.
The first thing to understand about JSP is that it's a natural extension to the Java Servlet technology.
JSP pages are text documents that have a .jsp extension and contain a combination of static HTML and XML-like tags and scriplets. The tags and scriplets encapsulate the logic that generates the content for the pages.
The .jsp files are pre-processed and turned into .java files. At this point, a Java compiler compiles the source and creates a .class file that can be executed by a Servlet container.
JSP technology has become an extremely popular solution for building web applications using the Java platform. JSP offers several advantages over its competitors:
- JSP is a specification, not a product. Developers are able to choose a "best of breed" approach.
- JSP pages are compiled, not interpreted, which can lead to better performance.
- JSP pages support both scripting and access to the full Java language and can be extended through the use of custom tags.
- JSP pages share the Write Once, Run Anywhere characteristics of Java technology.
The limitation of using hardcoded HTML inside of servlets is the problem of separating page design and application logic programming responsibilities. This separation is easier with JSP pages, because the HTML designers are free to create web pages with whatever tool they choose (many of today's popular tools are capable of working with JSP and custom tags).
Together JSP pages and Servlets are an attractive alternative to each other types of dynamic web programming. Because both are based on Java language, they offer platform-independence, extensibility into enterprise, and, most importantly, ease of development.
2.5.4 JSP Model 1 and Model 2 Architecture.
The early JSP specification presented two approaches for building web applications using JSP technology. These two approaches were the JSP Model 1 and Model 2 architectures.
The two JSP architecture differ in several key areas. The major difference is how and by which component the processing of request is handled. With Model 1 architecture, the JSP page handles all of the processing of the request and is responsible for displaying the output to the client. The below figure illustrates its working:
Figure 6: JSP Model 1 architecture
A Model 1 architecture consists of a Web browser directly accessing Web-tier JSP pages. The JSP pages access Web-tier JavaBeans that represent the application model. And the next view to display (JSP page, Servlet, HTML page, and so on) is determined either by hyperlinks selected in the source document or by request parameters.
In Model 1 architecture, view selection is decentralized, because the current page being displayed determines the next page to display. In addition, each JSP page or Servlet processes its own inputs (parameters from GET or POST). And this is hard to maintain, for example, if you have to change the view selection, then several JSP pages need to be changed.
In Model 1 architecture, the application is composed of a series of interrelated JSP pages. And these JSP pages handle all the aspects of application including presentation and control and the business process.
2.5.5 Limitation of JSP Model 1 Architecture.
- No Servlet is involved in the process.
- The business process logic and control decisions are hard-coded inside the JSP pages in the form of JavaBeans, scriptlets and expressions. JSP is performing the role of Model.
- The page selection is determined inside JSP pages either user clicking on a hyperlink or action forms. JSP pages are playing the role of View selection which is typically handled by the Controller.
- In JSP Model 1 the next page selection is determined by each JSP page, so the page selection is distributed and thus the controller function is also distributed among different pages.
- Tight coupling between JSP pages.
2.5.6 Solution for JSP Model 1 Limitations
In the Model 2 architecture, the client request is first intercepted by a Servlet, commonly referred to as a Controller Servlet. This Servlet handles the initial processing of the request and determines which JSP page to display next. This approach is illustrated in the figure:
Figure 7: JSP Model 2 architecture
As shown in the figure, a client never sends the request directly to a JSP page in the Model 2 architecture. This allows the Servlet to perform the front-end processing, including authentication and authorization, centralized logging, and help with internationalization. Once the request processing has completed, the Servlet directs the request to the appropriate JSP page. How the next page is determined varies widely across different applications. For example, in simpler applications, the next JSP page to display may be hardcoded in the Servlet based on the request, parameters, and current application state. In more sophisticated web applications, a workflow/rules engine might possibly be used.
Model 2 architecture is a hybrid approach for serving dynamic content, since it combines the use of both Servlets and JSP. It takes the advantage of the predominant strengths of both technologies, using JSP to generate the presentation layer and Servlets to perform process-intensive tasks. Here, the Servlet acts as a Controller and is in charge of the request processing and the creation of any beans or objects used by the JSP, as well as deciding, depending on the users actions, which JSP page to forward the request to. Note particularly that there is no processing logic within the JSP page itself, it is simply responsible for retrieving any objects or beans that may have been previously created by the Servlet, and extracting the dynamic content from the Servlet for insertion within static templates. In many developers opinion, this approach typically results in the cleanest separation of presentation from content, leading to clear delineation of the roles and responsibilities of the developers and page designers on the programming team. In fact, the more complex your application, the greater benefits of using the Model 2 architecture should be.
2.5.7 Advantages of using Model 2 Architecture
- The Controller (Servlet) centralizes the logic of dispatching requests to the next view based on the request, input parameter, and application state. The controller also handles view selection which de-couples JSP pages and Servlets from one another.
- Model 2 architecture is easier to maintain and extend because views do not refer to each other directly. The Model 2 controller Servlet provides a single point of control for security and logging, and often encapsulates incoming data into a form usable by the back-end.
- There is another limitation is using Model 1 architecture, in many cases you want to select JSP page depending on the data you received from the client, this means that there has to be some software entity that handles the processing of the data and then selection of the view and JSP Pages are not really a good place to put this programming language.
- So what is the solution? Model 2 architecture. Both Servlet and JSP pages are used together, in other words Servlets handles initial request partially process the data then forward the result to different JSP pages.
- In Model 2 architecture, JSP pages are used only for presentation and control and business process are handles by a Servlet or a set of Servlets.
The main difference between the two approaches is that the Model 2 architecture introduces a controller Servlet that provides a single point of entry and encourages more reuse and extensibility than the Model 1 approach. With the model 2 architecture, there is a clear separation of the business logic, presentation output and request processing. This separation is often referred to as Model-View-Controller (MVC) pattern.
The attention given to the topic of employee recruitment by researchers has increased considerably in recent years (Breaugh et.al 2008). Given the importance of the recruitment process, such attention is clearly warranted. In addition to an increase in the number of studies being published, there has been an increase in the variety of recruitment topics being examined. For example, as discussed by Saks (Breaugh et.al 2008), much of the early research focused on the use of realistic job previews (i.e., providing job applicants with accurate information about what a position with an organization involves), traditional recruitment methods (e.g., newspaper advertisements), and recruiter characteristics (e.g., their behaviour). More recently, research has shifted from these three areas and has begun to explore such topics as the timing of recruitment actions, recruit site visits, and on-line recruiting (Breaugh et.al 2008).
Given their popularity as a recruitment method (Sanchez,F.G. et.al 2006), recently researchers (e.g., Allen et al., 2007 cited in Sanchez,F.G. et.al 2006) have given considerable attention to organizational web sites. For example, researchers have conducted surveys of HR practitioners. The results of such surveys typically have found that web sites are viewed as a very effective recruitment method (Sanchez, F.G. et.al 2006). In particular, web sites are perceived as generating a large number of job applicants at relatively low cost. Not surprisingly, the relative effectiveness of an employer's web site is highly dependent upon the employer's visibility and reputation (Sanchez, F.G. et.al 2006; have provided an excellent discussion of variables that can affect each of these variables). Although caveats have been raised about potential adverse impact and privacy issues (Sanchez,F.G. et.al 2006), it appears likely that the use of web sites as a recruitment mechanism will continue to increase (Sanchez,F.G. et.al 2006).
There has recently been a ''headlong rush" to use the Internet for recruitment, with some reports indicating that as many as 90% of large US companies are now recruiting via the web (Thompson, et.al. 2008). Online searches have proven to be quite popular among job seekers. When Feldman and Klaas (2002 , cited in Thompson, et.al., 2008) asked graduate business school alumni to indicate which job search strategies had been most helpful in getting promising job leads/offers, Internet job hunting ranked second - behind personal networking but ahead of head hunters, newspaper advertisements, and a variety of other techniques (Thompson, et.al., 2008).
A critical first step in employee recruitment is to attract individuals to apply for positions in a firm (Barber, 1998). Organizations that attract more qualified applicants have a larger pool of applicants to choose from, which results in greater utility for firm selection systems (Boudreau & Rynes, 1985). Furthermore, if individuals do not apply to jobs they cannot be influenced by subsequent recruitment activities (Barber, 1998). Thus, several scholars have called for more research examining the factors that influence attraction during the applicant generation phase of recruitment (Barber, 1998).
Company recruitment web sites have become a key tool for companies to generate applicants, often serving as the primary vehicle by which job applicants initially gather information about the attributes of organizations, learn about job openings, and submit employment applications. As a result, the effectiveness of an organization's web site at communicating employment information is a crucial determinant of an organization's ability to successfully generate qualified applicants (Cappelli, 2001). This fact was highlighted by a recent study of college students reporting that 26% of students rejected potential employers from job search consideration because of the poor design of their web sites (Karr, 2000). Yet, despite evidence that company recruitment web sites are an important means by which individuals initially gather information about prospective employers, we are aware of only two theoretically grounded studies that have examined how or why recruitment web sites influence individuals decisions to pursue employment with an organization.
Cober, Brown, Blumental, Doverspike, and Levy (2000) developed a conceptual model of online recruitment effectiveness in which they proposed that recruitment web site effectiveness is influenced by the structural design of the web site, referring to the type of information provided on the web site and the manner in which the information is displayed, and the extent to which the web site shapes potential applicants perceptions of fit with the hiring company. Dineen, Ash, and Noe (2002) provide empirical support for Cober and colleagues latter proposition concerning fit perceptions. Specifically, Dineen and colleagues utilized an experimental design to examine how the level of person-organization (P-O) fit feedback provided by a self-assessment tool embedded within a fictitious company's web site influenced prospective job applicants_ perceptions of organizational attraction. The study's results revealed a significant positive relationship between the level of P-O feedback provided by a recruitment web site and individual's perceptions of organizational attractiveness. However, while the research of Dineen and colleagues provides important information about how firms can use recruitment web sites to influence individual's perceptions of P-O fit, the question of how the structural design of a recruitment web site influences applicant attraction remains unexplored, suggesting the need for further research in this area.
4.1 Problems Overview
As mentioned in literature review Today, Web applications are the most common applications for presenting dynamic contents. There are a number of technologies for building Web applications, the most popular of which is the Servlet technology. This technology gains its popularity from its superiority over other technologies such as CGI and PHP .
Servlet are cumbersome to develop, however, because sending HTML tags requires the programmer to compose them into a String object and send this object to the browser. Also, a minor change to the output requires the Servlet to be recompiled. To address this issue, Sun Microsystems invented JavaServer Pages (JSP). JSP allows HTML tags to be intertwined with Java code and each page is translated into a Servlet. A JSP page is a Servlet. However, compilation occurs automatically when the page is first requested. As a result, changing the output does not need recompilation. In addition, JSP enables the separation of presentation from the business logic through the use of JavaBeans and custom tag libraries. The norm now in developing Java based Web applications is to use Servlet along with JavaServer Pages.
In the later development, there are a number of design models for building Servlet/JSP applications: Model 1, Model 2, and Struts. Model 1 and Model 2 were first mentioned in the early specifications of JSP. Model 1 strictly uses JSP pages, with no Servlet, and Model 2 uses the combination of both Servlet and JSP pages. The terms of Model 1 and Model 2 have been used ever since. Model 1 is suitable for prototypes and very small applications, and Model 2 is the recommended design model for medium sized and large applications.
As Model 2 gained more acceptances in the industry, an open source initiative to build the Struts Framework was initiated. Struts perfects Model 2 by providing the controller part of the Model-View-Controller of Model 2. In addition, Struts provides better page navigation management and several custom tag libraries for more rapid development. Despite its steep learning curve and the fact that it was never defined in any specification, Struts has been gaining popularity as the alternative to Model 2.
4.2 Web Development Issues
All Java Web development uses the Servlet technology as the underlying technology.
As such, all Java Web applications have certain issues that need to be addressed:
- User Interface. The user interface is what the client browser renders as HTML Tags. Any server-side component used in the application must be encoded into the corresponding HTML elements. Besides for displaying the content and data, the user interface is also responsible in receiving input from the user.
- Model Objects. Model objects in Java-based Web applications are in the forms of JavaBeans. Model objects make up the Model part of the MVC based design model. A model object can be used to bind a component value to be used at a later stage. In addition, it can encapsulate business logic required for processing.
- Page Navigation. Almost all Web applications have multiple pages that the user can navigate from one to another. All MVC-based design models use a Servlet as the Controller part. This Servlet also acts as the sole entry point to the application. Which page to be displayed after the current request is determined by the value of a specified request parameter. Managing page navigation is critically important.
validation because there is no guarantee the user browser's scripting feature is being on and malicious users can easily work around client-side validation.
4.3 Web Application Design Models
The Model 2 design model is based on the Model-View-Controller (MVC) design pattern. As explained by Burbeck, there are three main modules in MVC, the Controller, the View, and the Model. The Controller acts as the central entry point to the application. All user interactions go through this controller. The View contains the presentation part of the application, and the Model stores data or encapsulates business logic of the application. In the later development, the Struts Framework provides a common framework to easily build Model 2 applications. Then, the last initiative is the JavaServer Faces, which also employs the MVC design pattern. In the following sections, we discuss these three design models and explain how each design model addresses the development issues specified in the previous section.
4.3.1 Model 2
A Java Web application that is based on the Model 2 design model has one Servlet (called the Controller Servlet) that serves as the Controller part. All requests are first handled by this Servlet, which immediately dispatches the requests to the appropriate views using RequestDispatcher objects. Views in the Model 2 design model are represented by JSP pages. To store data, a Model 2 application uses JavaBeans, which are the Model part of the application. In addition to storing data, the JavaBeans also encapsulate business logic. Each HTTP request carries an action parameter that indicates which view to dispatch this request to. The programmer must code the HTML tags for user interface in all JSP pages in the application and write input validation code. In addition, the model objects are managed by individual JSP pages.
The Struts Framework is an improvement of the Model 2 design model. It provides a default Controller Servlet so that the user does not have to write and compile one. Struts alleviate the task of page navigation by allowing navigation rules to be present in its application configuration file (an XML document). Changes to the navigation rules do not require recompilation of a Java Servlet class. In addition to easier page navigation, Struts provides custom tag libraries that define tags representing HTML elements. One of these tags is used for error handling and Struts is therefore capable of displaying localized error messages in support for internationalization. Struts applications use JavaBeans as their models, just like the Model 2 design model. In addition, Struts programmers have to write their own input validation code.
4.4 Design specification.
The use case diagrams were made for developing the Common Application for Employment Exchange software. However, due to shortage of time only some portion was developed. The following use case diagram is for administrator role in this application.
4.5 Research Project plan
The first phase was finding relevant research. Therefore, the researcher started this dissertation by researching on the past work done by other frameworks. Researcher took information from journals, research papers. The research work includes overview of the Struts framework technology, benefits of using this framework and its limitations. It also includes limitations of previous framework and the advantages of Struts framework.
The second phase was developing Common Application for Employment Exchange software using Struts framework. While developing software researcher followed iterative modelling, which mean that first a part of the application was developed and then tested. This process was carried until the whole application was completed. First, CASEE core system was developed with a single module. That module has the minimum features. This core CASEE system was first developed for Administrator only. In this CASEE system administrator could add new Employment type system and could add employment units. He could add, modify and delete various employment types and employment units. He could also update the employment unit and employment types and delete the existing ones. This was the initial phase of the application.
In the final phase of development, researcher developed all the three modules for showing how these three modules interact with each other. Administrator can add new employment type and employment unit and job employer can register with employment unit and employment and then can post jobs in that particular employment unit, and lastly job seeker can register with the particular employment unit and will be able to search jobs in the registered employment unit. Unless and until administrator adds an employment unit, job seeker and job employer cannot register with that particular employment unit for these reason different roles have been developed in this application. The researcher developed login page for admin, job employer and job seeker. After adding this feature, job employer and job seeker had to register themselves first to use the application.
Researcher tested the whole application thoroughly. Test cases were built by inputting different values. These test cases are elaborated in detail in testing section in this chapter.
4.6 Technology Assessment
- Software requirement were filled in by
- MyEclipse 5.5 Enterprise work bench professional edition.
- JAVA technology classes (JavaSE and JavaEE)
- XML and HTML
- Oracle 10g
- Microsoft Windows Vista
- Tomcat web server 5.1
- Hardware requirements were filled in by laptop.
4.7.1 Program Testing.
- If user has entered a wrong username or password then web server would display an error.
- Job seekers are allocated with a unique ID if they forget the ID and enter different ID then the job seekers will be prompted to use proper assigned ID.
- If the user has entered an email address in some weird form then he was made known to this error.
4.7.2 Integration Testing.
In the integration testing all the three modules were tested together for their functionality. The administrator module is responsible to add the employment exchanges units/types if they are not added then job employers will not be able to register in a particular employment exchange unit/type. And in this Integration testing researcher also tested that job employer is registered for a particular employment exchange unit and can post vacancies. Job seeker is also able to register for employment exchange unit and when he/she is registered then automatically all the jobs that are posted in the employment unit will be visible to the job seeker and then he can select which job is desirable for him/her.
In this testing phase researcher acted as an administrator, job employer and job seeker himself, and tested all the features of the application.
Conclusion & Future Enhancements
This chapter discusses the summary of the research, the key findings of the research, and the future work in common application for employment exchange using Struts framework.
The purpose of this dissertation was to critically find the better solution for web based application that uses JEE technology for developing Common application for employment exchange.
By developing this application Common application for employment exchange through JEE technology, we will be able to provide basic functionalities relating to Employment opportunities with great ease. The use of JEE technology provides Container-based management, which has made it easier to design and develop n-tier architecture of this application.
Researcher would recommend, to use this application as this will replace all the manual hassles caused in the previous recruitment system which will save time, money and the resources. This system is automated in its nature and will serve as a fruitful recruitment system as it is designed using struts framework technology which is very efficient, easy to maintain and which provides one point online source of information to all the job employers, job seekers and the employment exchanges. This application is suitable for everybody, no prior knowledge or training is needed to use this application. When using this application for employment opportunities it will prove boon for job employer and job seekers tremendously
5.2 Possible Future Enhancements
The aim of this dissertation is to develop web application for employment exchange. There could be possibility to include more features into this system, if time had allowed. Therefore, it is possible to add more features to this software and thus making it more interactive between administrator, job employer and job seeker.
Future enhancement could be to
- Introduce dual purpose orientation on online recruitment system i.e. recruiting and screening.
- Artificial intelligence (intelligence agent) can be added to the system.
- Web site formatting and user friendliness.
- Realistic job previews (RJP's).
- * Enable / disable users
- Set more security constraints for job seeker / job employers.
- Set privileges / restrictions
- Watch the status of job seeker.
- Could delete the live register users and delete the dead users.
- Could provide screen test online
- And could see who applied for the vacancy.
- And could calculate how many applications received for that vacancy.
- Could set more privilege for the job seeker.
- Could have search engine to apply directly for the desired vacancy.
- View their status for a particular vacancy.
- Able to delete vacancies from the list which are of no use.
Possible features that can be added to the individual modules of the system are:
An administrator will have more options as follows:
The job employers can have more options as follows:
The job seeker can have more options as follows:
And the application can have the mailing facility for all the three roles to interact with each other.
- Barber, A. E. (1998). Recruiting employees: Individual and organizational perspectives. Thousand Oaks, CA: Sage Publications, pp 321.
- Berry, M. (2005). Online recruitment grows in popularity. Personnel Today (May), pp. 43.
- Boudreau, J. W., & Rynes, S. L. (1985). Role of recruitment in staffing utility analysis. Journal of Applied Psychology, 51(4), pp 354-366.
- Braddy, P.W., Meade, A.w. and Kroustalis, C.W. (2008). Online recruiting: The effects of organizational familiarity, website usability, and website attractiveness on viewers' impressions of organizations. Computers in Human Behaviour 24(2), pp 2992-3001
- Breaugh, J. A., & Starke, M. (2000). Research on employee recruitment: so many studies, so many remaining questions. Journal of Management, 26(3), pp. 405-434.
- Breaugh, J.A.(2008). Employee recruitment: Current knowledge and important areas for future research. Human Resource Management Review18 (3). pp 103-118
- Buckley, P., Minette, K., Joy, D., & Michaels, J. (2004). The use of an automated employment recruiting and screening system for temporary professional employees: a case study. Human Resource Management, 43(2), pp. 233-241.
- Cappelli, P. 2001. Making the most of on-line recruiting. Harvard Business Review, 79(2), pp. 139-146.
- Chapman, D. S., &Webster, J. (2003). The use of technologies in the recruiting, screening, and selection processes for job candidates. International Journal of Selection and Assessment, 11(2-3), pp. 113-120.
- Chuck Cavaness, (2004) programming Jakarta Struts; 2nd Edition. USA: O'Reilly Media, pp 40.
- Cober, R. T., Brown, D. J., Levy, P. E., Keeping, L. M., & Cober, A. B. 2003. Organizational web sites: Web site content and style as determinants of organizational attraction, 11(4). pp. 158-169.
- Coyle, J. R., & Thorson, E. 2001. The effects of progressive levels of interactivity and vividness in web marketing sites. Journal of Advertising, 30(3), pp. 65-77.
- Dineen, B. R., Ash, S. R., & Noe, R. A. 2002. A web of applicant attraction: Person-organization fit in the context of web-based recruitment. Journal of Applied Psychology, 87(4), pp. 723-734.
- Harris, M. M. (1989). Reconsidering the employment interview: A review of recent literature and suggestions for future research. Personnel Psychology, 42(5), pp 691-726.
- Highhouse, S., & Hoffman, J. R. 2001. Organizational attraction and job choice. In C. L. Cooper & I. T. Robertson (Eds.), International review of industrial and organizational psychology, Vol. 16, pp. 37-64.
- JEE Environment Architecture available [online] from http://www.coreservlets.com/jee/img2.jpg [accessed on 25th July 2009].
- Johnson R. E. & Foote B. 1998. "Designing reusable classes". Journal of Object-Oriented Programming, 1(5), pp. 22-35.
- Karr, A. R. (2000). A special report about life on the job and trends taking shape there. Wall Street Journal, 4(4), A1.
- Marty, H. Larry, B. (2004) Core Servlets and Java Server Pages Volume I; 2nd Edition. USA: Sun Microsystems, pp 435-436,455.
- MVC and the Struts framework available [online] from www.ibm.com/.../techjournal/0302_fung/fung.html [accessed on 25th july 2009].
- MVC Architecture available [online] from www.ibm.com/.../0304_barosa/barosa.html [accessed on 26th July 2009].
- Peters, K. 2001. Five keys to effective recruiting. Ivey Business Journal, 65(3): Pp.8-10.
- Rowh, M. (2005). The great online job hunt. Career World, 34(9), pp. 22-25.
- Schau, T. 2001. Internet use: Here, there, and everywhere. Occupational Outlook Quarterly, 44(4): pp. 40-47.
- Struts framework in web tier available [online] from http://www.zaoutsourcing.com/images/Development%20Environment.jpg [accessed on 24th july 2009].
- Sanchez,F.G., Bejar,M., Contreras,L., Breis,J,F and Nieves,D,C,. (2006) An ontology-based intelligent system for recruitment . Expert Systems with Applications 31(2), pp. 248-263?
- Sun Microsystems, (2005) web component development with servlet and JSP technologies. USA: Sun Microsystems, pp. 5-5.
- Thompson,L.F., Braddy,P.W and Wuensch,K.L. (2008). E-recruitment and the benefits of organizational web appeal. Computers in Human Behaviour 24(5), pp. 2384-2398
If you are the original writer of this essay and no longer wish to have the essay published on the UK Essays website then please click on the link below to request removal:
More from UK Essays
- Free Essays Index - Return to the FREE Essays Index
- More Computer Science Essays - More Free Computer Science Essays (submitted by students)
- Computer Science Essay Writing Service -find out more about how we can help you
- Example Computer Science Essays - See examples of Computer Science Essays (written by our in-house experts)