HR Guide to the Internet: |
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,
Midpoint=30000,Maximum=36000,
Average=29780,NumEmps=6
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
(Participant,JobNumb,Minimum,Midpoint,
Maximum,Average,NumEmps) VALUES
('A','101.00',24000,30000,36000,29780,6)
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 |
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 |
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 |
Example of Program Based Authentication |
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 |
Example of a
Questionnaire Form Pre-Filled |