Distributed Applications

Now that we have chosen to use a three-tier architecture, we have the system broken into three distinct segments. In a web-based application, the user interface segment is made up of one or more web pages. These pages can be statically created, and served up to the user when they request them. They could also be dynamically created using Active Server Pages and be customized for each user and session. The business logic is broken into a set of components that provide the support for all of the business rules of the system. These objects interact with the data storage system, either directly, or through another set of data components.

In looking at the system as a whole, it appears to be made up of a number of small components. Each component communicates with the other through the use of interfaces. Since these components are distinct, and have defined inputs and outputs, it becomes very easy to change the locations of these components. The functionality of the system can be distributed amongst many different systems. As long as there is a method for the components to communicate with the other components, the place of execution can vary.

A transaction processing system that is controlling these objects can also control where they execute. If there is a particular part of the application that is computationally intensive, then the transaction processing system can have that object execute on system that has sufficient resources to efficiently process the object. Likewise, if there are two components that need to pass a lot of data between each other, the transaction processing system can try to run the two components on the same machine, maybe even within the same process space.

© 1998 by Wrox Press. All rights reserved.