vendredi 20 août 2010

.Net Fx Architecture

Architecture

La technologie Microsoft .NET a pour but de faciliter la tâche des développeurs en proposant une approche unifiée de la conception d'applications Windows, Web, Mobile ...

L'environnement Microsoft .NET gère tous les aspects de l'exécution d'une application sur un mode dit managé:
  • Il alloue la mémoire pour le stockage des données et des instructions du programme.
  • Il autorise ou refuse des droits à l'application.
  • Il démarre et gère l'exécution.
  • Il gère la ré-allocation de la mémoire pour les ressources qui ne sont plus utilisées.
Microsoft .NET s'appuie sur la norme Common Language Infrastructure (CLI) qui est indépendante du langage de programmation utilisé. Ainsi tous les langages respectant la norme CLI auront accès à toutes les bibliothèques installées dans l'environnement d'exécution.

L'environnement Microsoft .NET est composé de deux blocs principaux:
  1. L'implémentation d'une machine virtuelle compatible Common Language Infrastructure (CLI) sous le nom de Common Language Runtime (CLR).
  2. Le Framework .NET qui est la bibliothèques libraire de composants.

Tout comme en Java, lorsqu'une application .NET est compilée on n'obtient pas de code binaire machine mais un code binaire intermédiaire (CIL).
Une application est donc en un ensemble d'assemblages (.NET Assemblies) en CIL contenus dans des fichiers exécutables ou DLL.
Quand l'exécution d'un programme démarre, l'assemblage contenant le point d'entré de l'application est chargé en mémoire puis un processus est créé pour exécuter l'application. Le premier morceau de code nécessaire à l'exécution est chargé en mémoire et est compilé en code binaire natif par le compilateur juste à temps (Just-In-Time, JIT). Une fois compilé, le code est exécuté et stocké en mémoire sous forme de code natif, garantissant ainsi que chaque portion de code n'est compilée qu'une seule fois lors de l'exécution de l'application.
.NET supporte tous les langages développés par Microsoft ou par des tierces parties conformément aux spécifications de la CLI. La CLI, pour Common Language Infrastructure, est une spécification internationale (Ecma-335) de machine virtuelle indépendante de tout langage de développement. Le CLR (Common Language Runtime) est l'implémentation commerciale de Microsoft de cette CLI. Le CLR donne déjà accès à plus de 25 langages,certains développés par Microsoft, d'autres par des éditeurs indépendants ou dans le cadre de projets open source : Cobol, Lisp, Delphi, PHP, Pascal, Ada,Prolog, Python, Ruby, ...
Librairies de classes Microsoft fournit un ensemble de librairies (Framework Class Library) qui repose sur le CLR et qui compose le Framework .NET. Accessible depuis tous les langages évoqués plus haut, il tend à couvrir l'ensemble des fonctions et interactions nécessaires au développement d'applications, depuis les accès disque jusqu'aux Web Services. Les appels natifs au système Windows restent cependant nécessaires pour quelques points spécifiques. ASP.NET est une partie de la Framework Class Library. Une version "compacte" (8% de la taille du Framework standard) du Framework .NET est destinée aux périphériques mobiles, téléphones ou PDA. Il s'agit de .NET Compact Framework, qui n'implémente qu'une partie de la librairie et optimise certains traitements, notamment ceux liés à la communication distante


Historique

VersionVersion DélivréeMise sur le MarchéLivré avec Windows
1.01.0.3705.02002-02-13
1.11.1.4322.5732003-04-24Windows Server 2003
2.02.0.50727.422005-11-07
3.03.0.4506.302006-11-06Windows Vista, Windows Server 2008
3.53.5.21022.82007-11-19Windows 7, Windows Server 2008 R2
4.04.0.30319.12010-04-12

Liens intéressants

Aucun commentaire:

Enregistrer un commentaire