WWW: Beyond the Basics

22. Web Applications

22.3 Why Web Applications?

The best way to justify a new idea is to provide a motivation for it so consider the following scenario:

A reseacher is trying a complex simulation on a high-end workstation in his company's laboratory. After a few hours of playing with input variables, the reseacher decides to let the simulation run, and goes for a cup of coffee at the local cyber-cafe. While enjoying his coffee, the researcher discovers that one of the input variables was wrong. Usually, he would run back to the laboratory and fix it, but this time he remembers that the simulation is running as a Web application. Using one of computers at the cafe he is able to change the input variable and continue the simulation. Confident about his simulation, he decides to go home and rest. Later, using his home computer, he is able to monitor the progress of his simulation.

Web applications are applications that allow a user to interact with them over the Web. All the overhead is absorbed by the server and the client does not need to worry about installing, upgrading, or maintaining the application.

22.3.1 Advantages

Web applications are inherently platform independent. They are based on the client/server model with the client being any WWW browser, and thus theoretically they should be accessible from any platform for which a WWW browser is implemented.

Many users do not have the time to download an application and install it, to evaluate it or get the new version every time it is released. They prefer to stick with the older version even if the newer version offers more features. Web applications upgrade themselves transparently to the users. The developer can install, apply patches, or upgrade the application at the server and all the client users will immediately benefit from the changes without any effort on their part.

When developers design a new application, or add a new feature to an existing application they what to know how many users actually use it. With traditional applications, they can look at the number of sales and see how many people actually purchase the software. However, the number of sales does not tell them how many times each person use the software. Web applications allow per usages accounting. Developers can know exactly how many times each application was used and for how long. Consumers also benefit from this, since they do not have to pay the full price if they just want to use an applications only once.

As we mention earlier, the executable code is at a remote server and the user interface at the local client. Traditional applications were restricted to a single machine and if that machine was overloaded, the users had to wait for their application to execute. With Web applications we can distribute the load to multiple server transparently to the user, thus increasing throughput time.

22.3.2 Client - Server

Applications first appeared as mainframe-based monolithic applications. Users had to have access to the machine where the application resided and had to compete with others in sharing the machines resources (e.g., CPU time, memory, etc). Client/server sliced these centralized monolithic applications into two halves [Orfali96]. The client, typically a PC, provides the graphical interface, while the server provides access to shared resources, typically a database. Unfortunately, that created two monoliths instead of one: one running on the client and another running on the server. Several technologies such as SQL databases, Transaction Processing Monitors (TP Monitors), and visual builder tools let you deploy your client/server applications more quickly. But today's client/server applications remain difficult to build, manage, and extend. Web applications are based on the same model as client/server but the client and the server are not related. The client is a regular WWW browser and can communicate with any server on the internet.

The Web is attractive as an application platform because it eliminates the time and cost associated with application deployment. In the Web environment, deployment is instantaneous because the application resides on the server rather than the client. From the server, the application can be accessed from anywhere in the world.

22.3.3 Web Challenges

The Web, while providing significant benefits, introduces new technical challenges with respect to scalability, and management of session, state, transactions and security. These challenges are as follows:

Web applications must deal with all these challenges in order to be competitive with traditional applications. Most of the challenges mentioned above are due to rapid expansion of the WWW. Although the technology is advancing at an equal rate, integrating it to the real world has been a slow process. Most people are not connected to the internet and those who are use low-end PC's and slow telephone lines. In time, internet connections will become faster and more reliable, Web standards will be robust and proven, and security issues will be resolved.

[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