Logical versus Physical Tiers
The three services layers are often called tiers, or in this case, three logical tiers. They might be separated by well-defined interfaces, thereby allowing for less troublesome changes in the future, but they are considered logical because they may be implemented on only two physical tiers. Figure 8-2 depicts the notion of logical versus physical tiers.
Figure 8-2 Logical versus physical tiers
This very common implementation scheme represents a logical three-tiered solution that is actually implemented on two physical tiers: the client and server. Called fat-client or client-centric, this solution initially served the push into distributed client/server computing quite well, but it soon began to show signs of wear and tear, as follows:
Increased burden on an organization's infrastructure to distribute software to more and more clients when any part of the application changed and to configure software on more and more clients when new distributions were made. The latter applies especially to the database access component and the troublesome nature of installing and configuring JDBC drivers on multiple machines.
Nonoptimal transaction throughput as a result of poor resource pooling in the form of database connections. Depending on the physical database technology, the resulting increase in cost could be substantial because each client workstation required an access license to the database.
Inappropriate resource utilization because some business service activities (e.g., complex mathematical calculations) might not be appropriate for the platform serving as the client; if placed there, they could result in poor performance.
Figure 8-3 depicts the same model presented in Figure 8-2, except that it implements the logical layers individually, as three separate physical tiers rather than two. The figure illustrates the origin of the term three-tier. One needs to understand the context of the term when it is used because the user might be referring to logical rather than physical tiers. Actually, a better name is multitier (also called N-tier) because multiple physical tiers could be implementing the three logical tiers (multiple Business Services layer servers and multiple Data Services layer servers).
Figure 8-3 Mapping logical to appropriate physical tiers