The .NET framework created by Microsoft is a software development platform that focuses on rapid application development, platform independence and network transparency. .NET is Microsoft's strategic initiative for server and desktop development for the next decade. According to Microsoft, .NET includes many technologies that are designed to facilitate rapid development of Internet and Intranet applications. .NET-connected solutions aim to enable businesses integrate their systems more rapidly and in a more agile manner and help them realize the promise of information anytime, anywhere, on any device.
Programs written for the .NET framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET framework, is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine similar to the Java Virtual Machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program.
The other main component of the .NET Framework is the Class Library which is a comprehensive, object-oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.
The framework is designed to provide the following:
- Language Independence: The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other. Because of this feature, the .NET Framework supports more than 25 different languages including C#, Delphi, COBOL, Visual Basic.NET and J++.NET
- Interoperability: Because so many COM (Component Object Model) libraries have already been created, the .NET Framework provides methods for allowing interoperability between new code and existing libraries
Security: The .NET Framework provides several mechanisms for protecting resources and code from unauthorized code and users:
- ASP.NET Web Application Security helps control access to a site by comparing authenticated credentials to Microsoft Windows NT file system permissions or to an XML file that lists authorized users, authorized roles, or authorized HTTP verbs.
- Code access security uses permissions to control the access code has to protected resources and operations. It helps protect computer systems from malicious mobile code and provides a way to allow mobile code to run safely.
- Role-based security provides information needed to make decisions about what a user is allowed to do. These decisions can be based on either the user's identity or role membership or both.