What Is a Distributed Application?

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:

  • To integrate code running in different environments, operating systems, and platforms. This is one of the primary goals of .NET XML Web services and one of the primary reasons for the adoption of XML standards in ADO.NET.

  • To provide synchronization and live communication between multiple clients (for example, with a chat server). Implementation of this design in a traditional server would rely on heavy use of a database and frequent polling, and the server would be extremely pressed to support a large number of users.

  • To support thin clients (for example, software on embedded devices) that have insufficient processing power to handle their data needs. As an extension of this principle, you might use a distributed application to allow a powerful server to handle a CPU-intensive calculation or even implement a peer-to-peer application in which each client shares in the processing work.

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:

  • Component-based code reuse

  • Division of logic into business objects and data services objects

  • Multithreading

  • Disconnected, stateless use of data

  • Transactional programming

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.



Microsoft. NET Distributed Applications(c) Integrating XML Web Services and. NET Remoting
MicrosoftВ® .NET Distributed Applications: Integrating XML Web Services and .NET Remoting (Pro-Developer)
ISBN: 0735619336
EAN: 2147483647
Year: 2005
Pages: 174

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net