Common Language Infrastructure

La Common Language Infrastructure est une spécification ouverte développée par Microsoft pour sa plate-forme. NET qui décrit l'environnement d'exécution de la machine virtuelle basé sur CIL.



Catégories :

.NET Framework - API Microsoft

Recherche sur Google Images :


Source image : fr.wikipedia.org
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • Customizing the Microsoft ®. NET Framework Common Language Runtime by Steven... The CLR is an implementation of the Common Language Infrastructure (CLI), ... (source : microsoft)
  • Software, Information technology -- Common Language Infrastructure (CLI)... provide extra information about Microsoft's Common Language Runtime (CLR) implementation of the CLI.... NET Framework Developer Center · ECMA Standardization... (source : msdn.microsoft)
  • BARNES & NOBLE - Find The Common Language Infrastructure Annotated Standard (Microsoft. NET Development Series) by Jim S. Miller. (source : search.barnesandnoble)
Schéma explicatif du Common Language Infrastructure (CLI)

La Common Language Infrastructure (CLI) est une spécification ouverte développée par Microsoft pour sa plate-forme . NET qui décrit l'environnement d'exécution de la machine virtuelle basé sur CIL. La spécification définit un environnement qui permet d'utiliser de nombreux langages de haut niveau sur différentes plates-formes sans obligation de réécrire le code pour des architectures spécifiques.

Le code répondant aux spécifications CLI est dit «managed code» en anglais, littéralement «code géré», ce qui est quelquefois traduit abusivement par «code managé».

L'implémentation de la CLI inclut des fonctions pour gérer les erreurs, le ramasse-miettes, la sécurité et l'interopérabilité avec le dispositif d'exploitation (les objets COM pour Microsoft window, gtk pour Mono de novell)

La spécification

La spécification CLI entre autres choses aborde trois aspects

The Common Type System (CTS)  
Un ensemble de types et d'opérations échangé entre programming languages compatibles CTS.
Metadata 
Information a propos de la structure d'un programme pour être utilisable par d'autre outils et langages
Common Language Specification (CLS)  
ensemble de règles que la CLI doit suivre doit suivre tous permettrent inter opérabilité des langages compatibles CLS. CLS est un sous ensembles de CTS.
Virtual Execution System (VES)  
The VES charge et exécute les programmes compatibles CLI-compatible en utilisant lors de l'exécution le fichier metadata pour générer différents codes.


Implémentations

Plusieurs implémentations de la CLI et des bibliothèques (Microsoft) existent, surtout dans Mono et Portable. NET. Puisque le moteur d'exécution est décrit par une spécification de l'ECMA et de l'ISO, les autres implémentations ne sont pas génées par des problèmes de copyright. Il est plus complexe de développer des alternatives aux bibliothèques de classes de bases (BCL) qui ne sont pas décrites dans un standard ouvert et peuvent être sujet à des problèmes de copyright. Qui plus est certaines parties des BCL ont des fonctionnalités et un comportement spécifiques à Windows qui peuvent être problématiques lors de l'implémentation sur des machines ne fonctionnant pas sous Windows.

NET Framework

L'implémentation de la CLI par Microsoft pour ses dispositifs d'exploitations est nommée Common Language Runtime (ou CLR) et Dynamic Language Runtime (ou DLR). Au dessus de cette implémentation ; Microsoft apporte de nombreux services, outils, bibliothèque, runtime : Framework. NET et . NET Compact Framework, support technique, Visual Studio. L'implémentation de la CLI par Microsoft supporte aujourd'hui plusieurs langages comme C# (mélange de C++ et de Java), C++, J# (proche du Java, mais non compatible) et Visual Basic. NET.

Grâce à la disponibilité des spécifications techniques, différents acteurs sont libres d'ajouter le support pour un autre langage, ou un langage classique (surtout Cobol, Pascal, Fortran, Eiffel, Ada) mais aussi ASP. NET. D'ailleurs le langage Python sera sous peu utilisable grâce au projet IronPython tandis que le PHP l'est déjà grâce au projet Phalanger.

Silverligth/Moonlight

Silverlight et Moonlight sont l'implémentation respectivement par Microsoft et Novell de la CLI s'éxecutant dans l'environnement sécurisé d'un navigateur. IL fonctionne comme un applet. Silverligth est une partie du framework. NET alors que Moonlight est une partie du projet Mono. Ils respectetnt par conséquent l'ensemble des deux les spécifictés CLI. Silverligth avait pour nom WPF/E pour faire référence à la nouvelle bilbiothèque graphique de microsoft de nom Windows Presentation Foundation fonctionnant sur la CLR. Ces Technologies permettent de développer de vrai RIA coté client web. Les langages supportés par ces applets sont les mêmes que ceux supportés par le FrameWork. NET ou Mono

Mono

Mono est une implémentation de la CLI et de portions des bibliothèques de classes de bases (BCL) et apporte quelques fonctionnalités complémentaires. Mono est un logiciel développé sous la double licence : logiciel libre et logiciel propriétaire. Mono est développé par Novell et inclut un support web (ASP. NET, ADO. NET) et OS (Windows Forms). Un compilateur C# et VB. NET en version beta sont aussi inclus.

Autres

Des implémentations alternatives de certaines parties du framework sont listées ici :

Standards et licences

En août 2000, Microsoft, Hewlett-Packard, et Intel ont travaillé sur la standardisation de la CLI et du langage de programmation C#. Depuis décembre 2001, ces deux standards ont été ratifiés par l'ECMA (ECMA 335 et ECMA 334). L'ISO a suivi en avril 2003 (ISO/IEC 23271 et ISO/IEC 23270).

L'ECMA et l'ISO ont demandés à Microsoft ainsi qu'à tous ses partenaires qui détiennent les spécifications de la CLI et de C# de les rendre disponible sous le contrat de licence raisonnable et non discriminatoire Microsoft Reference Licence. En plus de cela, ces compagnies se sont accordés pour apporter ces spécifications sans redevance.

Néanmoins, ceci ne s'applique pas pour la partie du . NET Framework qui n'est pas couverte par l'ECMA et l'ISO, ce qui inclus les Windows Forms, ADO. NET, et ASP. NET. Les spécifications que Microsoft détient dans ces domaines peuvent dissuader les tentatives non-Microsoft d'implémentation du Framework complet.

Le 3 octobre 2007, Microsoft à annoncé qu'une grosse partie du code source des classes de bases du . NET Framework (Ce qui inclus ASP. NET, ADO. NET etWindows Presentation Foundation) seront disponibles avec la sortie de Visual Studio 2008 fin 2007 sous la licence Shared source[1] Les codes sources des autres bibliothèques (Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) et Language Integrated Query (LINQ) seront ajoutés plus tard. Le fait d'apporter le code source sous la licence Microsoft Reference Licence veut dire qu'il est apporté à des fin de débogage seulement, principalement pour supporter le débogage des classes de bases sous Visual Studio.

Liens externes

Références

  1. Scott Guthrie, «Releasing the Source Code for the NET Framework». Consulté le 2007-10-04

Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Common_Language_Infrastructure.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 17/03/2009.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu