WWW: Beyond the Basics

22. Web Applications

22.2 What are Web Applications?

Web applications are applications designed to allow any authorized user, with a WWW browser and an internet connection, to interact with them. The application code usually sits on a remote server and the user interface is presented at the clients' WWW browser. Web applications are by their nature platform independent and leverage off the accessiblity of the Web.

There are many advantages for using the Web as the application interface. The most important being wide accessibility, because they leverage off of the accessibility of the Web by using HTTP to bridge application and interface. They also support collaborative work since many users share a single program and its associated data. Applications are self-documenting. The hypertext model of the Web makes it simple for Web interfaces to contain embedded documentation and links to auxiliary material. Finally, applications integrate seamlessly with the Web. Interfaces to Web applications may be accessed as regular Web pages.

Although it is too early to see large commercial Web applications, there is no shortage of early efforts of both a practical and fun nature. There are spreadsheets, clocks, scrolling newswires, stock-commission calculators, financial graphing applications, educational supports, and, of course, games from solitaire to missile command.

22.2.1 Web Environment

The Web has become the largest source of information. Anyone with an internet connection and a Web browser can access any information he or she wants. Most Web browsers provide access to different media such as text, image, audio, video, and 3D models. With the integration of all these media, the functionality of Web pages is greatly enhanced. Many multimedia-integrated Web pages such as product showcase, daily news center, on-line juke box, or internet store has proved to be efficient and attractive.

22.2.2 HTML Pages

HyperText Markup Language (HTML) is designed to specify the logical organization of a document, with important hypertext extensions for hypertext links and user interaction. It is not a WYSIWYG word processor such as Word or WordPerfect. This is because the same document may be viewed by many different Web browsers of very different abilities. Thus, for example, HTML allows you to mark selections of text as titles or paragraphs, and then leaves the interpretation of these marked elements up to the browser. For example one browser may indent the beginning of a paragraph, while another may only leave a blank line. HTML contains commands, called tags, to mark text as headings, paragraphs, lists, quotations, emphasized, and so on. It also has tags for including images within the documents, for including fill-in forms that accept user input, and for including hypertext links connecting the document being read to other documents or Internet resources, such as WAIS databases and anonymous FTP sites.

In late 1993, the Mosaic graphical Web browser was the first true client/server application environment on top of the internet that supported HTML pages. However, HTML pages were static and user interaction was very limited, even when enhanced with all the different media. Although this environment is great for presenting information, it is not suited for running applications where user interaction is need. The addition of HTML forms and the Common Gateway Interface (CGI) server protocol in 1995, provided support for slightly more interactive applications but was limited to form-filling. This simple interaction is sufficient for products such as online questionnaires, database queries, or simple data collection, but does not scale up for large dynamic applications. The internet has exploded in popularity on a world wide scale and the need for supporting dynamic applications was obvious.

The Web is a stateless environment, in which the client and server are loosely coupled. Applications must keep state information from one page to another if they are to avoid requiring users to re-enter information such as user name and password from page to page. HTTP Cookies are a general mechanism which server side connections (such as CGI scripts) can use to both store and retrieve information on the client side of the connection. The addition of a simple, persistent, client-side state significantly extends the capabilities of Web-based client/server applications and enables a host of new types of applications to be written for web-based environments. Shopping applications can store information about the currently-selected items; fee services can send back registration information and free the client from retyping a user-id on next connection; and sites can store per-user preferences on the client and have the client supply those preferences every time that site is connected.

22.2.3 Java

In "The Java Language: A White Paper," [Sun96] Sun describes Java as follows:

Java: A simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language.

Java is a general-purpose language. It is related to C and C++ but is organized rather differently, with a number of aspects of C and C++ omitted and a few ideas from other languages included [Gosling96]. It is object-oriented and has automatic garbage collection, thus makes programming easier. It is strongly typed and distinguishes between the compile-time errors and run-time errors. It is also relatively high-level, in that details of the machine representation are not available through the language. In addition, because compiled Java code is architecture-neutral, Java applications are ideal for a diverse environment like the internet. The Java language provides a powerful addition to the tools that programmers have at their disposal.

22.2.4 ActiveX

ActiveX controls are reusable software components developed by software vendors. These controls can be used to quickly add specialized functionality to Web sites, desktop applications, and development tools. For example, a stock ticker control can be used to add a live stock ticker to a Web page, or an animation control can be used to add animation features.

[PREV][NEXT][UP][HOME][VT CS]

Copyright © 1996 Constantinos Phanouriou, All Rights Reserved

Constantinos Phanouriou <phanouri@vt.edu>
Last modified: Fri Nov 26 10:00:00 1996