Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Over the past few years our understanding of how to design enterprise-scale solutions has matured significantly. Early successes with client/server architectures were quickly followed with a recognition that such an approach in some scenarios suffers from severe limitations. Recently, these limitations have become all too apparent, with support required for large numbers of browser-based clients, the need to target different web-based infrastructure technologies, and the struggle to integrate with a wide variety of back-end servers and application systems.
In response to this, a new set of ideas concerning the appropriate design of enterprise-scale solutions in the Internet age has begun to emerge. These ideas result in a basic architecture that will significantly influence thinking in web-based solutions for the next few years. This is supported by a growing number of products from vendors specializing in various aspects of these solutions. Based on the ideas of N-tier architectures, enterprise-scale solutions in the Internet age will have five clearly distinguished sets of services, or servers,[1]as illustrated in Figure 10.1.
[1] In this context, a "server" refers to a set of services that may be implemented in hardware, software, or a combination of both.