Dot NET Framework – Part 1

Dot NET Framework – Part 1

Dot NET Framework

Dot NET (“.NET”) framework is a framework that can be used by an operating system Microsoft Windows and Microsoft Windows Mobile from version 5 (Dot NET Compact Framework). A lightweight, limited version comes with an execution engine running inside a browser or mobile device is available, called Silverlight. Version 3.0 of the framework is integrated into Windows Vista and most versions of Windows Server 2008 or downloaded from the website publisher Microsoft.

Dot NET framework is based on the standard Common Language Infrastructure (CLI) that is independent of programming language used. Thus all languages compatible respecting the standard CLI access to all libraries installed (installable) in the execution environment. Dot NET framework is a subset of Microsoft technology Dot NET.

It aims to make it easier for developers by providing a unified approach to the design of Web or Windows applications, while introducing facilities for developing, deploying and maintaining applications.

The framework manages all aspects of running an application in a runtime environment called “managed”

* It allocates memory for storing data and program instructions;
* It allows or denies rights to the application;
* He starts and manages the execution;
* It manages the re-allocation of memory for resources that are no longer used.

It is composed of two main blocks:

* Implementing a virtual machine compatible Common Language Infrastructure (CLI) as the common language runtime (CLR) and Dynamic Language Runtime (DLR);
*Dot NET framework.

Class libraries in Dot NET

There are three layers above the common language runtime (CLR), with each class providing functionality of increasingly advanced.

Base Class Library (BCL)

In the first layer is the Base Class Library (BCL), bringing together classes for manipulation of strings, the input / output, communications networks, processes and lightweight design of user interfaces. These classes are similar to those in the Java API developed by Sun Microsystems. For example, string manipulation is available in the String class in both languages, the difference being that in Java there is no base type to handle strings (it manipulates objects ‘String’), then that in Dot NET, the string type (with an ‘s’ lowercase) has been specifically defined.

Classes of data access

The second layer is composed of two class libraries to access data. Firstly, ADO.NET, rising on the foundations of the old ADO (ActiveX Data Objects) used by ASP developers, and allows access in XML interfaces to databases SQL Server, ODBC, OLE DB, Oracle and Sybase, and of course the XML files. The XML classes enable XML data manipulation. There are classes such as XSLT for transforming an XML document into any other type of document. Another example, it is very easy to load an XML document into a table, and vice versa, with the underlying XML.

XML Web Services, Web Forms, Windows Forms

The last layer, the higher is used for creating web services, web pages and Windows applications. The first two are ASP.NET, again a reference to the old web programming language. The web pages with the extension “.aspx” are generally written in Web pages in Dot NET, while written in ASP pages usually end in “.asp”.

Infrastructure of Dot NET

Structure of an application in Dot NET

The basic unit of an application in Dot NET is called an assembly (assembly). This is a set of code, resources and metadata. An assembly is always accompanied by a manifest (assembly manifest) that describes what it contains: name, version, type of data set, and other assemblies-used safety instructions. An assembly is composed of one or more modules that contain code.

Compiling and running an application in Dot NET

As in Java, when an application in Dot NET is compiled, it is not compiled into binary machine code, but in a binary code through CIL. An application thus consists of a set of assembly contained in one or more executable files or DLL files in Common Intermediate Language (CIL). At least one of these assemblies must contain an entry point to start the application.

When running a program starts, the first assembly is loaded into memory. The CLR starts by examining the permissions requested by the assembly and compares it to the security policy (security policy) system. Then, if the assembly is allowed to run a process is created to run the application. The first piece of code needed at runtime is loaded into memory and compiled into native binary code by the just in time compiler (Just-In-Time, JIT). Once compiled, the code is executed and stored in memory as native code, thus ensuring that each piece of code is compiled only once when running the application.



Leave your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.