The first thing you must know about Microsoft .NET is that the term doesn't describe a specific product or service. Rather, .NET is a set of products and services. When talking about .NET, Microsoft is typically referring to three technology areas.

The .NET Framework software development kit . The .NET Framework software development kit (SDK) is a set of object-oriented class libraries and a Common Language Runtime (CLR) foundation that form the core of .NET. The .NET class libraries—a core set of vendor-provided object-oriented classes that lets developers write strings to a console, search Active Directory (AD), build forms-based Windows applications, build Web Services, and so on—are analogous to the Java Development Kit (JDK) classes. Of course, developers can also extend the .NET class libraries to form custom classes. The CLR, on which all .NET managed applications run, is analogous to the Java Virtual Machine (JVM). .NET applications, also called assemblies, are compiled into an intermediate language (similar to Java bytecode). The CLR then performs just-in-time (JIT) compilation of the intermediate language code to execute a .NET application.

Platform support for .NET. This second component of Microsoft's .NET strategy includes support for the .NET framework within the various OS platforms and software packages that Microsoft provides, including Windows XP, Windows .NET Server (formerly code-named Whistler), Application Center 2000, Microsoft BizTalk Server 2000, Exchange 2000 Server, and so on. In addition, the next release of Active Server Pages (ASP)—ASP.NET—runs as an extension of Microsoft IIS. ASP.NET is closely tied to the .NET Framework SDK and leverages many of the same class libraries for developing ASP-based Web pages that a developer would use to create GUI or console applications. The extent to which each of the platform products supports .NET remains unclear. For example, all future Windows OSs will ship with the .NET Framework SDK and CLR installed, but what other .NET support will those OSs provide? I suspect that, at the time of this writing, Microsoft is still working on the answer to that question.

.NET My Services. The .NET My Services (formerly code-named Hailstorm) represent the third major .NET component. The .NET My Services are a set of Web Services that Microsoft is developing for the purpose of leveraging the business and technology value of the Web Services model. Included in the .NET My Services are Web Services that provide authentication (Passport.NET), user-data storage, and notification (e.g., notifying a user about an airline reservation or a scheduled meeting). Users running applications that are enabled for Web Services (e.g., future versions of Microsoft Office) will be able to subscribe to Microsoft's hosted .NET My Services, then sign on once to multiple supporting Web sites, store personal data, and interact with other applications and services. For more information about the products and services that .NET comprises, see http://microsoft.com/net/whatis.asp.