To implement such Web Services requires a suitable infrastructure. The .NET Framework provides that infrastructure. In the .NET Framework, all components can be Web services, and Web Services are just a kind of component. In effect, the .NET Framework takes the best aspects of COM (the Microsoft Component Object Model) and combines them with the best aspects of loosely-coupled computing.
The result is Microsoft's Web component system that simplifies programmer plumbing, deeply integrates security, introduces an Internet-scale deployment system, and greatly improves application reliability and scalability.
The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class libraries, and an advanced version of Active Server Pages called ASP.NET.
The .NET framework is an attempt to unify the disparate frameworks Microsoft has today. By creating a common set of APIs across all programming languages, the .NET Framework enables cross-language inheritance, error handling, and debugging.
ASP.NET builds on the .NET Framework's programming classes, providing a "Web application model" in the form of a set of controls and infrastructure that make it simple to build Web applications. Developers are exposed to a set of ASP.NET controls that encapsulate common HTML user interface widgets such as text boxes, drop down menus, and so on.
These controls actually run on the Web server, however, and simply project their user interface as HTML to a browser. On the server, the controls expose an object-oriented programming model that brings the richness of object-oriented programming to the Web developer.
Using ASP.NET Web Services features, ASP.NET developers can simple write their business logic and the ASP.NET infrastructure will be responsible for delivering that service via SOAP.