An Architecture for Distributed Applications on the Internet: Overview of the Microsoft?.NET Framework

  • Bryan Barnett
  • Mary Kirtland
  • Mythreyee Ganapathy


One of today?s most pressing computing challenges is application integration: taking different applications running on different operating systems built with different object models using different programming languages and integrating them into robust systems for supporting critical business processes or scientific research programs. Application developers increasingly want and need to reach beyond tightly-coupled client-server environments to access functionality on remote systems that are very different in design and implementation, and which are owned and managed by other organizations. Because of its ubiquity, the Internet is driving this demand. Creating a viable architecture for Web-based component interaction is one of the foremost challenges of distributed computing today, and is a major objective of Microsoft?s .NET Framework. The .NET Framework is a component of Windows that provides a programming model and runtime for XML Web services, Web applications, and smart client applications. The .NET Framework is a key part of Microsoft .NET, software that connects information, people, systems and devices. Microsoft?s goal is to support creation of a standardsbased architecture for distributed applications on the Internet. To enable easy application development and deployment, .NET provides a specially adapted toolset and runtime environment for creating and running highly distributed applications. This paper describes the essential components of the new .NET Framework, including the common language runtime, base class libraries, the services framework, and the programming models for building and integrating applications over the Web. We will examine these components in general, but take a special look at .NET as a connected architecture for building and supporting Web-based applications of the kind now commonly called ?Web services?.