Web-based Applications

The models that I've presented so far leave a fair amount of the application on the client workstation. Applications designed for the World Wide Web take an entirely different approach. Web applications put as little of the application as is physically possible on the client, and keep all the processing centralized on one or more servers:

Since the browser will only provide a user-interface, the rest of our application needs to move down to the server:

In this figure, we still have an interface, our business objects, and our services. What we've done is moved virtually everything down to the server, leaving a very light user interface on the user's workstation.

The big difference is that instead of a user-interface on top of our business objects, we now have a web-interface. This is a layer of code that interacts with the web server to communicate with the client. The web-interface is basically a layer of 'glue' between the business objects and the HTML that gets sent to the user's browser.

The web interface provides HTML to the browser via the web server and accepts the user's input through the browser and web-server. There are many technologies available to build this web interface - including CGI, ISAPI, Active Server Pages and others.

There are some other fairly significant issues with this type of architecture. In Chapter 11, we'll implement a browser-based user-interface using Active Server Pages as the glue between the business objects and the web server.