Up till now I have referred to client and server applications as if they were monolithic components. In reality, modern client-server applications are logically segmented into functional layers. These layers are also referred to as application tiers. An application comprised of more than one tier is referred to as a multi-tiered application. This section discusses the concepts related to multi-tiered applications in greater detail.
Figure 19-13 illustrates the concept of a multi-tiered application.
Figure 19-13: A Multi-tiered Application
In this example the application is comprised of three functional tiers: 1) Presentation Tier, 2) Mission Logic Tier, and 3) Data Persistence Tier. As their names suggest, each tier has a distinct responsibility for delivering specific application functionality. The presentation tier is concerned with rendering the user interface. The mission logic tier (a.k.a. business logic tier) contains the code that implements the application’s services (i.e., data processing algorithms, mission-oriented processes, etc.) The data persistence tier is responsible for servicing the data needs (i.e. storage and retrieval) of the mission logic layer as quickly and reliably as possible.
Another way to think about each tier’s responsibilities is as a separation of concerns:
the presentation tier is concerned with how a user interacts with an application
the mission logic tier is concerned with implementing mission support processes
the data persistence tier is concerned with reliable data storage and retrieval in support of mission processes
The logical application tiers may be physically deployed on the same computer as is illustrated in figure 19-14.
Figure 19-14: Physically Deploying Logical Application Tiers on Same Computer
It is more likely the case, however, that logical application tiers are physically deployed to separate and distinct computing nodes located great distances apart. Figure 19-15 illustrates this concept by showing each logical tier deployed to a different computer. In between this extreme lies any combination of logical tier deployments as best supports an agency’s mission requirements
Figure 19-15: Logical Application Tiers Physically Deployed to Different Computers
Client and server applications can be logically separated into distinct functional areas called tiers. Applications logically segmented in this fashion are referred to as multi-tiered applications.
Three possible logical application tiers include: 1) the presentation tier, which is concerned with rendering the application’s user interface, 2) the mission logic tier, which is concerned with implementing mission process logic, and 3) the data persistence tier, which is concerned with the quick and reliable delivery of data to the mission logic tier.
Multi-tiered application can be physically deployed on one computer or across several computers geographically separated by great distances.