MicrosoftВ® .NET Distributed Applications: Integrating XML Web Services and .NET Remoting (Pro-Developer)
A distributed application is simply one that spreads its execution over more than one computer. Generally, the goal of distributed application architecture is to improve performance and scalability. The ideal distributed application can scale up to serve thousands of simultaneous clients just by adding additional computers. You might adopt a distributed architecture for other reasons, however, including the following:
Many programming books obscure the idea of distributed applications by confusing distributed architecture with multitier design (or good design practices in general). For example, here are several hallmarks of a well-designed application that can apply just as easily (and sometimes more easily) to a client/server application as to a distributed application:
These characteristics are often considered a part of distributed programming because they came to prominence at the same time developers were abandoning the outmoded code in poorly designed client/server software. They also play a heightened role in most distributed applications. This book covers all these topics, but it's important to understand that they apply to all enterprise applications, even those that use the client/server model. To really understand the role of distributed programming, we need to back up and examine a little history. |