Weblication or Web Site?
It is often the case that application developers who are new to web development quickly understand the difference between a web application, and a web site. Existing web developers often have trouble with this distinction as they have been taught and developing under the practice of breaking all web tasks down into individual pages. Thus they often can see the individual trees, but not the forest. To them a forest is just a bunch of individual trees, and not more.
There is no black and white border defined between the two. The border is a gray area and applications that fall in the middle can be difficult to define which type they are. It is a bit like trying to classify people into a two party political system. A fair majority will easily be identifiable as one party or the other. But there are also a lot of people who will be somewhere in the middle and trying to predict which party they would affiliate with would be quite difficult.
Characteristics are not exclusive, but are typical of each. To determine whether you are building a weblication or a pages you should decide on each item as a checklist. Then collectively determine and overall placement on the scale. While many applications fall into the gray area in the middle, most applications are easily defined.
What mode do other tools use?
In general all other tools fall deeply into the right side of the scale. Other tools are page centric and all development is centered around building pages that pass state between them, but act independently. This does not mean that they cannot be used to develop weblications as well, but it is often like using a hammer to drive in a screw.
Tools that are similar to IntraWeb page mode and that are well suited to web sites are include JSP, Java Servlets, ASP, ASP.net, WebBroker, PHP, WebSnap, Perl, and CGI.
Web development is typically done by developing separate individual pages that link to each other and pass parameters. Some tools also have some ability to store server side state, but the pages are still independent and must read information in and out of the server state object. Others can assist in streaming the state into the html page itself, but this increases bandwidth and can potentially be a security risk.
To understand how other existing tools allow you to make weblications, let us imagine that we were to develop a normal application using that methodology. Imagine an application with 10 different forms, but that each executable could only contain one form. To handle multiple forms you had to call another executable with the desired form and pass the information that it needed in a text file or on the command line as parameters. Imagine how hard it would be to implement the average application. It could be done however - and that's how most weblications today are done and why they are so hard to develop. By the same token, Application Mode is poorly suited to non weblication tasks.

|
Characteristics
|
|
Deployed to an Internet, intranet, or extranet.
|
|
Typically deployed to the public Internet, although often used in Intranets and Extranets as well.
|
|
Most pages are highly interactive. Pages without interactivity are static pages or dynamic reports returned dynamically based on user input.
|
|
Contains many static pages, or pages with only partially dynamic content with interactive pages compromising only part of the system.
|
|
Consists of many pages that are related and depend on input from each other.
|
|
Interactive pages are individual, or only rely on input from one other page.
|
|
A lot of information regarding state is stored, often complex state that cannot be streamed.
|
|
Only minimal state about user is stored.
|
|
Users typically enter application and use the application for a period of time.
|
|
Users may enter at differing locations and may come and go.
|
|
Users are conscious that they have entered an application for a specific task. Often users are asked to login for security reason or to retrieve saved information.
|
|
Users see the page as only another web page that has dynamic content or accepts input.
|
|
Examples
|
|
A complete shipping application to prepare label, check shipping costs, order a pick up and check account balance in an integrated fashion.
|
|
A page to track packages using a shipping number.
|
|
A complex bug tracking system for management by the developers.
|
|
A page to check the status or a bug, or to report a bug by end users.
|
|
A distributed accounting system.
|
|
A currency converter.
|
|
A complete sales order and entry system for use by sales people in the field.
|
|
|
|
Online banking.
|
|
|
|