The CGI program may provide database access for updates, for revisions, or for reports. These "Real Applications" may well be a trend for some time to come, permitting application programmers to concentrate on their application, and using the web browser as a universal user interface.
CGI scripting works well in a situation that will involve a modest number of simultaneous browsers. If too many people run the program at the same time, the server system will be brought to its knees, slowing down or even preventing the presentation of other web pages from that server.
The CGI program may execute on the server with the identity of the web server, in which case it will have access to a great many files on the system. In such a case, there will need to be appropriate precautions to ensure the integrity of the system.
The CGI program may execute on the server with the identity of the individual authorized user who wrote it. In this case, the CGI program will have access to all files on that server that are owned by that user, including any personal E-mail files that are kept on that system.
JAVA has the advantage over CGI that the available resources for executing the program grow in exact proportion to the number of people running it, instead of being constant.
The disadvantages of JAVA include the following:
If the browser has been flawlessly written, it will enforce limitations on the running program ("it has to play only in its own sandbox") to prevent the JAVA program from doing anything nasty. Many people who have JAVA-capable browsers will configure them to leave JAVA turned off because they don't trust the browser to be bug-free. This is a realistic fear: at least one version of Netscape's Navigator and at least one version of Microsoft's Internet Explorer have been released that permitted a JAVA program to erase files from the user's hard disk.
JAVA can be either interpreted or pre-interpreted. This has made it possible to produce JAVA program development environments for many platforms, and to produce JAVA execution environments for many platforms, but it does slow down the execution speed. This shortcoming is being reduced by speed increases in personal computers and by growing sophistication in the JAVA software, but it will always be an issue for some applications.
Some pages containing Java have been observed to crash Lynx. This obviously prevents those users from seeing your page and also prevents your pages from being included in any keyword searchable index that is created using Lynx as the "crawler."
Some pages containing Java or Javascript have been observed to crash Netscape, or to freeze the whole system, forcing your reader to restart the computer. This is user-hostile and does not create a favorable impression of your organization!
More information about JAVA is available on-line:
If the source code is part of the HTML, then the browser must be able to interpret that source code so as to execute the program.
If the program is referenced by a URL, that file must be brought down through the network from the server and executed.
Dick Piccard revised this file (http://ouvaxa.cats.ohiou.edu/~piccard/oacrao97/pages.htm) on November 11, 1997.
Please send comments or suggestions to piccard@ohiou.edu.