This documentation is archived and is not being maintained.

An Overview of Distributed Applications

Visual Studio .NET 2003

Application architects can use the .NET Platform to develop, deploy, and support distributed applications. Highly integrated but flexible, this platform enables developers to build end-to-end business solutions that can leverage existing architectures and applications.

Windows DNA was an architecture for building tightly-coupled, distributed Web applications. As distributed applications began to require more loosely-coupled principles, the Microsoft architecture moved to the .NET Platform.

Philosophy and Benefits

The key tenet of distributed applications is the logical partitioning of an application into three fundamental layers:

  • Presentation
  • Business logic
  • Data access and storage

Developers can build highly scalable and flexible applications by partitioning applications along these lines, by using component-based programming techniques, and by fully using the features of the .NET Platform and the Microsoft Windows operating system.

A simple distributed application model consists of a client that communicates with the middle layer, which itself consists of the application server and an application containing the business logic. The application, in turn, communicates with a database that supplies and stores data.

Presentation Services

The presentation layer includes either a rich- or thin-client interface to an application. The rich client, either directly by using the Microsoft Win32 API or indirectly through Windows Forms, provides a full programming interface to the operating system's capabilities and uses components extensively. The thin client (Web browser) is rapidly becoming the interface of choice for many developers. A developer is able to build business logic that can be executed on any of the three application tiers. With ASP.NET Web applications and XML Web services, the thin client is able to provide a visually rich, flexible, and interactive user interface to applications. Thin clients also have the advantage of providing a greater degree of portability across platforms.

Business Logic/Application Services

This layer is divided into application servers and services, which are available to support clients. Web applications can be written to take advantage of COM+ services, Message Queuing (MSMQ), directory services, and security services using the .NET Framework. Application services, in turn, can interact with several data services on the data access layer.

Data Access and Storage Services

The data services that support data access and storage consist of:

  • ADO.NET, which provides simplified programmatic access to data by using either scripting or programming languages.
  • OLE DB, which is an established universal data provider developed by Microsoft.
  • XML, which is a markup standard for specifying data structures.

XML is a standard put forward by the Internet community. While HTML focuses on how information is rendered by the browser and displayed on the screen, the goal of XML is to handle data structure and its representation.

System Services

Elements within each segment of this model are fully supported by the .NET Framework and the Windows operating system. Among its many services are directory, security, management, and communications services that work across the three layers. The programming tools that comprise the Visual Studio .NET development system enable developers to build application components across the layers.

See Also

Designing Distributed Applications | Architectural Shifts and Developer Challenges