The .NET Framework is a software development platform developed by Microsoft and is based on the use of a virtual machine that runs an Intermediate Language (IL). Codes/Programs are written to produce IL which is further distributed to users to run on virtual machines. C#, VB.NET and C++ compilers are accessible from Microsoft for developing IL. .NET has given new functionalities and tools to the application programming interface. These improvisations facilitate the process of developing applications for Windows, as well as for web services. .NET framework provides a contemporary, insightful, object-oriented API. High flexibility standards have been implemented in its design to make it multi-language compatible.
.NET Framework 3.0 The .NET 3.0 is the latest version of the .NET Framework released by Microsoft. It is based on the .NET 2.0 Framework and includes in combination with it the following technologies:
o Windows Presentation Foundation (WPF).0 – The API that is based on XML and vector graphics and aids in the development of the User Interface aspect of an application.
o Windows Communication Foundation (WCF).0 – The API which enables computers connected by a network to communicate with each other. It combines Web Services, .NET Remoting, Distributed Transactions and Message Queues into a singe model.
o Windows Workflow Foundation (WF).0 – This technology enables developers to build and manage workflow based applications. XAML a XML based language is used to define the workflow structure.
o Windows CardSpace (WCS).0 – WCS is used to store and secure digital identities of users transacting over the Internet.
.NET 3.0 was formerly known as WinFX. The run time components of .Net 3.0 framework are installed by default in Windows Vista but are also available with Windows XP service pack 2 and Windows Server 2003 service pack 1. Since .NET 3.0 makes use of all the run time components of .NET 2.0 it is completely backward compatible with .NET 2.0.
o Microsoft Windows 2003 SP1 or later
o Windows XP SP2 or later
o Windows Vista
o 500 MB free hard disk space, 256 MB RAM, 1 GHz Pentium Processor
Enterprise Infrastructure .NET provides a platform-independent structure for software development, with numerous built-in features. It completely depends on software components and the component based programming models.
The two principal components of .NET are the Common Language Infrastructure (CLI) and the Common Language Runtime (CLR). The CLI is a set of terms for a runtime environment, which includes a common type system, Common Intermediate Language Silencil (CIL) code, which is machine independent and a base class library. The CLR offers a platform for managing code that conforms to the CLI. The CLR translates the CIL into a local machine code before its execution.
CIL is self-describing through .NET metadata. The metadata is checked by CLR to make sure that the correct method is being deployed. Developers are enabled to generate metadata; though it is also generated by the language compilers in some cases. If a language implementation generates CIL, it can be hosted using the CLR and can then interact with data produced by any other .NET language.
.NET Security .NET security mechanism has two basic features:
Code access security Code access security is evidence oriented, which is linked with a particular assembly. Characteristically the evidence is the source of the assembly. It is either directly installed on the native machine or can be downloaded from the internet. Evidence is used by code access security to verify the permissions granted to the code. Other code can demand that calling code is granted a specified permission. The demand results in the CLR performing a call stack walk. In this process every assembly of each method in the call stack is verified for the required permission.
Validation & Verification Validation & Verification are the two tests performed by CLR when the assembly is loaded. During the validation process the CLR verifies the presence of metadata & CIL and also verifies for the validity of internal tables. By deploying a few algorithms the verification mechanism checks to see if the code does any thing that is ‘unsafe’.
NET Languages The CLI has been designed in a way that it supports any object-oriented programming language by sharing a common object model and a large common class library.