Chapter 18. SuperCompute.NET Work Requests
Client/server programming is notoriously inflexible. In a typical setup, the weakest part of the system—the client—is forced to perform almost all the processing work. Too often, the server acts as a glorified data store and file server.
However, distributed application architecture gives you the flexibility to distribute the workload among the different parts of the system as you see fit. In many cases, this means centralizing logic in a middle tier, where you can pool objects, reuse connections, and cache data. In other cases, this might mean taking some of the work away from the server and splitting it among multiple idle workstations.
In the case study presented in this chapter, we examine a company ...