HR Guide to the Internet:
Compensation: On-Line Salary surveys: Server Based Surveys

Designing a
Server Based Salary Survey

An exclusively server based application will only send plain HTML to web browsers and will therefore have the widest possible compatibility with web browsers.

Where will the data be stored? In a server based application, the web server does all of the processing required for administration of the salary survey. Data will be stored on the web server in some form of a database. The database may be simple text files or a relational database. The server application may be developed to send SQL statements to an SQL server. The advantage of incorporating SQL into the server application is that the SQL database engine will handle all of the low level routines for opening, locking, reading, and writing to the database file. In addition, most SQL applications permit multiple concurrent users to have access to the databases.

The SQL statement below is an example of how an existing salary survey response record could be updated. In the example shown here, the database is called "Survey_Responses", the job number being updatedis "101.00" and the participant is the one assigned the letter 'A' as a participant code. The basic SQL syntax includes a verb "Update" followed by the target database, list of values, and a conditional expression identifying the the specific record to be updated.

UPDATE Survey_Responses SET Minimum=24000,
WHERE Participant='A' AND JobNumb=101.00

If the database record did not exist yet, we would have to use the statement below to create the record. The syntax is significantly different in creating the record than in updating the record.

INSERT INTO Survey_Responses
Maximum,Average,NumEmps) VALUES

Because of the different syntax used in Updating and Creating records, you may want to create a function to lookup the record first before updating. If the record was not found, then you will use the Insert statement. If it was found, then use the Update statement.

If the data is to be stored in text files, you will need to use file locking to prevent problems from multiple concurrent users accessing the same database file at the same time. If possible, you may want to breakup the database file into smaller components so that each survey participant only has access to their own database component. Thus you may want to create many small database files--one for each participant--rather than making all of the participants access the same file.

How will data entered by the user be sent to your computer? Data that has been entered onto a web server through a server application can be accessed directly from the server. In other words, a server application would access the data and either send the information to your web browser, or alow you to download the data through FTP (File Transfer Protocol). The time the data will be retrieved by you is an important consideration in the server application model. You do not want to retrieve the data before a user has completed their data entry. If you are using the same server application for data entry as for reporting the survey results, you may want to consider incorporating some features for turning off the data entry part of the server application at some point in time after the survey deadline date.

If your survey questionnaire is small enough to fit on a single web page (only a few jobs), then you may be able to have the survey responses sent to you through email. For a demonstration of this, click on the link below:


Example of Survey Responses by Email

Instructions: Enter the email address below, then enter the employee count and salary data, then press the submit button.

Email to:

Your Name:
Job Title Number of Employees Average Salary


Does the application provide for data validation? Data validation is a little tricky with a server based application. In essence the user will complete the questionnaire and submit it back to the server. The server application will check the responses and look for data entry errors. If an error was found (e.g., the maximum of the salary range was less than the minimum and was greater than zero), then the server application must send an error message back to the client web browser. This error message may prompt the user for a correction or may simply notify the user that an error was made and the data will be saved with the error.

A useful way of dealing with data validation is that if a fatal error has been entered by the user, then the server application should send to the client's browser a message detailing the error and possible correction. No action should be taken at this time by the server with respect to the error. The user should be instructed in the error message to "Return to the previous screen to correct the error". The user would thenpress the 'back' button on their web browser and return to the questionnaire form with all of the data still filled in the form. The user would then correct the error and resubmit the data to the server. For a demonstration of this, click on the link below:


Example of Server Based Data Validation

Instructions: Enter the number of employees at your location, then press the submit button. To test different server based validation responses, try pressing the submit button when the box is empty or filled with non-numeric data.

What security protocols are in place to prevent unauthorized access to data? Access to the data should be restricted through the use of User Identification and Authentication.

User identification and authentication is performed through the use of a user ID and password. If the salary survey is in the form of a web based application, this can be handled through the application by using an Internet authentication standard or by building the appropriate verification routines into the application.


Example of the Basic Security Standard

Instructions: Click on the link below. You will be required to enter a user ID and password. They are:

User ID:

Example of Program Based Authentication

Instructions: Click on the link below. You will be required to enter a user ID and password. They are:

User ID:

This authentication standard differs from the previous one in that in this standard, the User ID and password are validated as if they were data entry fields. No validation is done at the operating system level.

One advantage of using the Basic Internet authentication standard is that the user ID is stored as an environment variable within the web browser and is accessible by any program within that web domain. This is an advantage over the Program Based user authentication since with the Program Based authentication, the user ID and password must be transmitted with each form submitted.

The purpose of user identification is to enable appropriate storage of the survey response. the survey response is stored based on the identified user. The authentication is used for both verification of the user ID and also for permitting access to restricted parts of the application (the survey results).

Can the user edit data that they entered previously? Sure. The server application sends the user's data along with the survey questionnaire. The data is literaly inserted into the questionnaire form's data input fields by assigning default values to the fields when building the questionnaire to be sent to the user's client web browser. In essence, a server application generates the HTML code for the questionnaire and inserts the user's data into the appropriate HTML parameters.


Example of a Blank Questionnaire Form

Instructions: Click on the link below to view a black questionnaire form.

Example of a Questionnaire Form Pre-Filled
With Data by the Server

Instructions: Click on the link below to view a filled questionnaire form.

In this example, the same form is displayed. However, the server application inserts the user's values into the fields on the form.


Copyright © 1998, 1999  All Rights Reserved.
Send questions or comments to hrmaster
Or use the feedback form: here
Thank you.