Chapter 16. Clients and Servers
The simplest client/server system has a client and a server, as Figure 16-1 illustrates. Commonly, though, a system involves more than one client and includes middleware between the client and the server, as Figure 16-2 shows. We could draw several more architecture diagrams showing more clients, more middleware, and more servers. We could add hardware pictures if each component is on a separate machine. We could put in more components that are technically outside the system, such as an Apache Web Server. But Figures 16-1 and 16-2 are reasonably truthful depictions of reality. The fact is, as Robert Orfali and Dan Harkey have observed , "Over 80% of the existing client/server installations are single server and have less than 50 clients." 
Figure 16-1. A simple client/server system
Figure 16-2. A client/server system with middleware
In this chapter, we'll discuss client/server architecture. Specifically, we'll look at what the components (client, connection, middleware, server) do, and what good it is to know what they do. The bitter truth is that programmers can't do much to change the architecture. But it is useful to have a general idea of what's going on, so you can avoid blunders.