An Overview of Distributed Applications
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:
- 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.
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.
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.