First we need to answer the question; What is a web application?
The comparison of a web application to a non-web application would be the same as
comparing a magazine to a desktop computer. With the magazine, all you can do is
read one page after another. The only interaction that is available is the required
turning of the pages as you advance through the magazine. On the other hand, your
desktop computer offers you an interactive interface. Your computer remembers your
system settings from day-to-day, and even keeps track of documents for you. Never
will you sit down to your computer and say "Why is my font color green?", unless of
course the setting was changed by someone at your computer. On the other hand, how
many times have you gone to a web site and said "Why did they use that font?".
On your desktop computer, you are able to change the color back to your favourite
shade of grey. On the horid web site, you are visiting, the only option you have is to
change your default browser fonts to accomodate this one site.
If a friend buys the same magazine as you, you both have the opportunity to see the
same information. On the other hand, if you both buy the same application software,
each of you may never see the same information since you are able to create your own
view of information through the software; whether it is word-processing, graphics, or
even your favourite web browser.
Static pages are pages that do not change, and though they've had there place in web
history we are now seeing more and more interactive (dynamic) web sites coming online.
Sites that allow us to retrieve our email, schedule events, and even define a user
interface (font, color, size) for our next return trip.
In order to create a web application, we require some sort of server processing. Arguably
we can achieve dynamic web content with Java applets and DHTML, but not at the same level
that is offered to us by implementing a web application server.
What should I expect from a web application server?
This question is one that can have any multitude of responses. In fact a web application
server (or similar mechanism for delivery of dynamic content) should be able to address issues
that define what is required by whatever application you are trying to setup. If the application
is a shopping cart, you can get away with any number of prewritten components that have been
made available on the web. If your requirements will change in the future, you will want to
have a system in place that can change and grow in the future with little to no changes
There are many web applications systems available on the market. Several are complete
programming languages such as PERL and Java. These full fledged programming languages give us
the ability (as developers) to do almost anything with the server resources available to us.
If we know how to code, we are ready to go, and can easily create web application software.
Other systems take a more generalized approach to web application. This approach includes
taking into consideration that not everyone is, or wants to be a developer.
Okay, so we're now past 'the why', next step is 'the how'.