Early Internet applications were little more than a new way of publishing. As developers first added simple forms to these Web pages and then more complex software components, the complexity of the Web sites increased. Many of the problems previously solved for traditional software applications reappeared. One example is the scalability issue. For example, the Web server starts programs to collect and process data on forms that Web users fill out. The program starts in order to handle the request and dies after it completes processing the request, with a single program running per user. The cost of program startup and shutdown, and the per-user program requirement, limit performance and scalability. This technology is similar to the early terminal connected to a process that shared information via the database or file system.
In general, intranet business applications are characterized by the following attributes:
- many users with a common business purpose
- support of real-time interaction with customers
- complex transactions with multiple input and output dialogs
- a GUI hosted by a Web browser
- business logic accessed via Web servers
- communications over the internal corporate LAN
To meet these needs, sophisticated systems have emerged that combine the software-engineering fundamentals with the new Web technology to provide robust, scalable, high-performance systems. These systems typically use a three-tier architecture. Like the three-tier client-server systems, the bottom tier is usually a database server. The middle tier contains a Web server and the business logic. The top tier employs a Web browser as a host for the user interface. The following modules examine each of these in more detail.


