Module.NET 2 Le.NET Framework



Documents pareils
DotNet. Plan. Les outils de développement

Module.NET 3 Les Assemblys.NET

CAHIER DES CHARGES D IMPLANTATION

Notre Catalogue des Formations IT / 2015

Recommandations techniques

DotNet. Présentation de l'offre

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

SQL Server Installation Center et SQL Server Management Studio

Formateur.NET expérimenté Forte expertise dans la conception et le développement d applications.net, associée à une grande pédagogie

Configuration Matérielle et Logicielle AGORA V2

Bibliothèque Numérique L'intégrale Collection Ressources Informatiques

juillet 2015 à janvier 2016

Point sur les solutions de développement d apps pour les périphériques mobiles

Virtual Box Mettez un PC dans votre... PC

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Pré-requis installation

Configuration requise Across v6 (Date de mise à jour : 3 novembre 2014)

Armand PY-PATINEC 2010

Introduction au développement SharePoint. Version 1.0

Poste virtuel. Installation du client CITRIX RECEIVER

juillet 2015 à janvier 2016

Déployer une application cliente avec le Framework.NET 3.5 Client Profile

Pré-requis installation

Pré-requis installation

Qu est-ce que ArcGIS?

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

Demande d'assistance : ecentral.graphics.kodak.com

ClariLog - Asset View Suite

Configuration système requise

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

Le partenaire tic de référence. Gestion des ressources humaines INOVA RH

1. Installation standard sur un serveur dédié

Exigences système BauBit pro

Urbanisation et architecture des systèmes d information

R E S O T E L. Ingénierie des Systèmes Informatiques Réseaux et Télécommunications. Calendrier des Formations IT

Sage 100 CRM Les compatibilités Version Mise à jour : 2015 version 8

IBM Tivoli Monitoring, version 6.1

Technologies DotNET. Vision de Microsoft

19 septembre 2013 énéo Walhain - JB 2

Pour connaître les dernières informations, consultez le site Internet du produit (

Yann Struillou. Domaines de compétence. Développeur Web & Logiciels. 37 ans, en couple, 2 enfants. 19 hameau de Kerguillec Tréméoc

Sessions en ligne - QuestionPoint

MailStore Server 7 Caractéristiques techniques

Mode d emploi pour lire des livres numériques

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

ELO Office / Pro Les avantages : Archivage et gestion documentaire

2010 Catalogue Formation

Fiche technique: Sécurité des terminaux Symantec Endpoint Protection La nouvelle technologie antivirus de Symantec

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

Introduction à Microsoft InfoPath 2010

Chapitre 2 : Abstraction et Virtualisation

Préconisations Techniques & Installation de Gestimum ERP

CHEF DE PROJET & ARCHITECTE.NET SAMIR BENFARES FORMATION LANGUE COMPÉTENCES TECHNIQUES CERTIFICATION

ACCEDER A SA MESSAGERIE A DISTANCE

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

ACCÉDER A SA MESSAGERIE A DISTANCE

Acquisition Indexation Classement & Recherche & Stockage Consultation. Solution d archivage sur mesure

Manuel logiciel client Java

CATALOGUE DES FORMATIONS LANGUES

Dominic Jobin. Profil. Expérience professionnelle avenue de l Hôtel-de-Ville #606, Montréal (Qc) H2T 2A djobin@gmail.

Sommaire. Systèmes d Exploitation Intégration Sage 100 Sage CRM Disponibilité Client Bases de données... 3

Guide de Démarrage. Introduction... 2 Scénarios pour l utilisation de votre procloud@ocim.ch... 2 Scénarios à venir :... 2

W4 - Workflow La base des applications agiles

Nouveautés Ignition v7.7

Module 12 : Déploiement d'applications

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

FAQ Mobiclic/ Toboclic

Procédure d installation :

InstallShield 2014 FICHE TECHNIQUE. Création de programmes d installation pour Microsoft Windows

Catalogue des formations

Catalogue des formations 2014

OPC Factory Server- Réglage des paramètres de communication

Exigences système Edition & Imprimeries de labeur

Exigences système Edition & Imprimeries de labeur

Demande d assistance : ecentral.graphics.kodak.com. Variable Data Print est désormais une option sous licence de InSite Storefront 6.0.

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Architectures web/bases de données

CALENDRIERS DES FORMATIONS LILLE

Symantec Endpoint Protection Fiche technique

ASP 3.0 Professionnel

Médiathèque Numérique, mode d emploi

Worry-FreeTM. Business Security Éditions Standard et Advanced. Administrator s Guide. Configuration minimale requise

Le Framework.Net. Introduction. Pourquoi.Net?

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

a CONserVer a CONserVer COde d activation pack FNaC pc sécurité & ClOud COde d activation protection android

Le nouveau Windows Runtime

ERP Service Negoce. Pré-requis CEGID Business version sur Plate-forme Windows. Mise à jour Novembre 2009

Tour d horizon des différents SSO disponibles

HP Color LaserJet Pro MFP M476dn

Guide d'installation. Release Management pour Visual Studio 2013

Médiathèque Numérique, mode d emploi

Optimiser pour les appareils mobiles

WINDOWS Remote Desktop & Application publishing facile!

Notions fondamentales du langage C# Version 1.0

Découvrez notre solution Alternative Citrix / TSE

Transcription:

Module.NET Chapitre 2 Le.NET Framework 2011/2012 Page 1 sur 9

Contenu Cours... 3 2.1 - Définition de l ECMA, ses acteurs, son rôle... 3 2.2 - La CLI et ses implémentations... 4 2.2.1 - La Common Language Infrastructure (CLI)... 4 2.2.2 - Les implémentations de.net Framework sur les OS autres que Windows... 4 2.2.3 - Intégration du Framework dans les versions de Windows... 5 2.3 - Les éléments de la CLI... 7 2.3.1 - Le Common Type System (CTS)... 7 2.3.2 - Métadonnées... 7 2.3.3 - Le Common Language Specification (CLS)... 7 2.3.4 - Le Virtual Engine System (VES /CLR)... 8 2.3.5 - Structure du.net Framework... 9 Page 2 sur 9

Cours 2.1 - Définition de l ECMA, ses acteurs, son rôle Développé par Microsoft, le.net Framework est né, d une certaine façon, grâce aux travaux de l ECMA (basé à Genève). L ECMA (European Computer Manufaturer s Association) a été créée en 1961 et regroupe les acteurs majeurs de l informatique. Elle a la charge d établir des standards pour entre autres, les systèmes de communications et d information : en bref elle établit des standards publics. Standards publics car diffusés et consultables par tous. Site de l ECMA: http://www.ecma-international.org/ Elle est composée des catégories de membres suivantes : Membres ordinaires avec droits de vote : Adobe, AMD, Google, HP, IBM, Intel, Microsoft, Nvidia, Sony, Membres associatifs sans droit de vote Appel, Boeing, Novell, Pioneer, Samsung, Siemens, Petites et moyennes entreprises (CA < 100 millions de francs suisses) Petites entreprises (CA < 5 millions de francs suisses) Association à but non lucratif (fondation Mozilla entre autres) Le domaine d action des différents groupes de travail de l ECMA comprend entre autres : Les communications sans fils haute vitesse Stockage optique Format Office Open XML ECMAScript, comme le JScript (TC39) Les langages de programmation (TC49) Parmi tous les différents comités techniques qui composent cette association, l un d eux nous intéresse plus particulièrement : le TC49 qui s occupe du theme Programming ans Scripting Languages. Ses objectifs sont entre autres : Développer un standard pour le langage de programmation C# (TG2). Standard ECMA-334 Développer un standard d infrastructure de langage commun CLI (TG3). Standard ECMA-335 Développer un standard pour le langage de programmation Eiffel (TG4). Standard ECMA-367 Développer un standard de liaison entre C++ et la CLI (TG5). Standard ECMA-372 Le standard qui va nous intéresser est le Standard ECMA-335 Page 3 sur 9

2.2 - La CLI et ses implémentations 2.2.1 - La Common Language Infrastructure (CLI) L objectif de la CLI (Common Language Infrastructure ou Infrastructure de langage commun) est de créer une infrastructure dans laquelle des applications écrites dans différents langages de haut niveau peuvent être exécutées dans différents environnements systèmes sans avoir besoin d adaptation au dit système. Le Microsoft.NET Framework est une implémentation de la CLI sur les systèmes d exploitation Windows. Concrètement, une application ciblant le framework 2.0, compilée en Intermediate Language sur une plate-forme Windows pourra être exécutée sans modification par le runtime correspondant sur un système MAC ou LINUX sur lequel est installée une implémentation du framework correspondant. Une application exécutable standard contient du code machine ciblant un système d exploitation et un processeur en particulier. Par exemple, si l on souhaite commercialiser une application exécutable standard afin qu elle puisse être exécutée sur 2 processeur différents (x86 et x64) et sur 2 OS (Windows et Linux), il faut réaliser 4 compilations différentes. Avec l Intermediate Language, il seule compilation sera nécessaire pour ces 4 combinaisons différentes car c est le VES (le runtime CLI) installé sur l ordinateur client qui se chargera de traduire l Intermediate Language en code machine adapté au processeur et au système d exploitation. 2.2.2 - Les implémentations de.net Framework sur les OS autres que Windows Aujourd hui, cette implémentation du.net Framework s est étendue aux systèmes d exploitation Linux et MAC par l intermédiaire de différents projets. On trouve entre autres : DotGNU Project DotGNU Portable.NET est une implémentation de la CLI pour les OS suivants GNU/Linux (sur PCs, Sparc, ipaq, Sharp Zaurus, PlayStation 2, Xbox,...), BSD, Cygwin/Mingw32, Mac OS X, Solaris, AIX Source : http://www.gnu.org/s/dotgnu/ Mono (Novell) est une implémentation du.net Framework sur Linux. Toutes les fonctionnalités du.net Framework ne sont pas incluses. MonoDevelop MonoDevelop est un IDE conçu principalement pour C# et VB.NET et autres langages. NET. MonoDevelop permet aux développeurs d'écrire rapidement des applications Web ASP.NET et de bureau sous Linux, Windows et Mac OSX. Avec MonoDevelop, il est facile pour les développeurs de porter des applications. NET créées avec Visual Studio vers Linux ou Mac OSX et de maintenir une base de code unique pour toutes les plateformes. Mono permet de déployer des applications ASP.NET sous Apache sur Linux. Liens utile : http://vincentlaine.developpez.com/tuto/dotnet/mod_mono/#liv-a C est un projet Open Source, donc gratuit, et dont on peut récupérer les sources. Cette application s installe : Sous Windows Sous Linux (opensuse, SLE, Debian, Ubuntu) Page 4 sur 9

Sous Mac OSX Actuellement en version stable 2.6 (avec support du.net 4.0) Nécessite Mono 2.10.4 et GTK# 2.12.8 Source : http://www.mono-project.com/main_page et http://monodevelop.com/ MonoTouch for ios Mono for Android permet de développer des applis pour iphone et ipad en utilisant le C# et le.net Framework (solution commercialisée aux environ de 400$). Cette application s installe : Sous Visual Studio (windows). Attention ne fonctionne pas avec Visual Studio Express Sous MonoDevelop (windows) Sous MonoDevelop (Mac OSX) Source : http://ios.xamarin.com/ Mono for Android Mono for Android permet de développer des applis pour Android en utilisant le C# et le.net Framework (solution commercialisée aux environ de 400$). Cette application s installe : sous Visual Studio (windows). Attention ne fonctionne pas avec Visual Studio Express Sous MonoDevelop (windows) Sous MonoDevelop (Mac OSX) Source : http://android.xamarin.com/ 2.2.3 - Intégration du Framework dans les versions de Windows A partir de 2002, Microsoft à commencer à intégrer le.net Framework dans les versions les plus utilisées de son système d exploitation Windows. Version.NET Numéro de version Date de sortie Visual Studio Par défaut dans Windows 1.0 1.0.3705.0 13 février 2002 1.1 1.1.4322.573 24 avril 2003 Visual Studio.NET 2002 Visual Studio.NET 2003 Windows XP versions Tablette et Media Center Windows Server 2003 2.0 2.0.50727.42 7 novembre 2005 Visual Studio 2005 Windows Server 2003 R2 3.0 3.0.4506.30 6 novembre 2006 3.5 3.5.21022.8 19 novembre 2007 Visual Studio 2008 Windows Vista, Windows Server 2008 Windows 7, Windows Server 2008 R2 4.0 4.0.30319.1 12 avril 2010 Visual Studio 2010 Windows Server 2008 R2 SP1 Page 5 sur 9

4.5 4.5 13 septembre 2011 (Developer Preview) Visual Studio '11' (Nom de code) Windows 8, Windows Server 8 Lorsque l on installe explicitement une version du Framework, cette opération peut être assez longue. La raison est que l installation ne se limite pas à copier les outils et les librairies sur le disque. En effet, lors de l installation, toutes les librairies présentes dans le GAC (Global Assembly Cache) sont compilées une par une afin d être optimisées en fonction de l architecture de l ordinateur sur lequel elles sont installées. Page 6 sur 9

2.3 - Les éléments de la CLI La CLI définit les éléments suivants : le CTS, les métadonnées, la CLS et le VES. 2.3.1 - Le Common Type System (CTS) Le CTS (le système de type commun) fournit un système de type riche qui supporte de nombreux types et opérations supportés par de nombreux langages. Il définit 2 entités principales: Les types par valeur (Value Type) Les types par référence (Object Type) Il définit également le comportement de ces types, les règles du boxing et de l unboxing, du casting, etc Il faut garder à l esprit que tout ce que l on fait avec VB.NET ou C# est de la manipulation de types. Le CTS du.net framework prend en charge les 5 catégories de types suivantes : Les Structures (type valeur) Les Enumérations (type valeur) Les Classes (type référence) Les Interfaces (type référence) Les Délégués (type référence) Toutes les règles qui s'appliquent au CTS s'appliquent à la spécification CLS, sauf dans les cas où des règles plus strictes sont définies dans la spécification CLS. Vous trouverez plus de détails à partir du chapitre sur le CTS du standard ECMA-335. 2.3.2 - Métadonnées Les métadonnées sont utilisées par la CLI pour décrire les types et sont stockées de façon indépendante du langage. Cette partie de la CLI définit comment ces métadonnées doivent être formatées, stockées et les règles pour y accéder. Pour permettre au CLR (runtime) de fournir des services de code managé, les compilateurs doivent fournir des métadonnées qui décrivent les types, les membres, et des références du code. Les métadonnées sont stockées avec le code. Tout programme Portable Exécutable (PE) contient des métadonnées. Le CLR utilise les métadonnées afin de : localiser et de charger les classes, organiser les instances en mémoire, résoudre les invocations de méthodes, générer le code natif, renforcer la sécurité et fixer les limites du contexte d exécution. On verra plus loin que grâce à cette notion, notre code sera sûr et rendra l utilisation des dll très souple. 2.3.3 - Le Common Language Specification (CLS) Le CLS définit les règles que tout langage de programmation pour la CLI doit respecter. C est le minimum vital pour qu un objet développé dans un langage puisse communiquer avec un autre objet développé dans le même langage ou dans un autre langage. Le CLS s appuie sur les règles définies dans le CTS. Page 7 sur 9

Une application qui respecte les règles de la CLS est appelé conforme CLS (ou CLS Compliant). Par exemple, les entiers 64 bits non signés (Uint64) ne sont pas conformes CLS. Ils sont quand même implémentés dans le.net Framework, mais leur utilisation, selon le framework cible, pourra générer un message d avertissement pendant la compilation pour signaler leur non-conformité CLS. Visual Studio permet de désactiver ces messages d avertissement en plaçant un attribut (ClsCompliant) devant la déclaration d un type qui utilise ce type d entier. Pour une application autonome, ce n est pas trop grave. En revanche, si on développe une librairie qui peut être utilisée par la suite par une application fonctionnant sur autre système, le résultat n est pas prévisible. La spécification CLS a été conçue pour être suffisamment grande pour inclure les constructions de langage qui sont fréquemment utilisées par les développeurs, tout en étant suffisamment petite pour que la plupart des langages puissent la prendre en charge. De plus, toutes les constructions de langage qui empêchaient de vérifier rapidement la sécurité de type du code ont été exclues de la spécification CLS. C est donc en partie grâce à la CLS que différents langages de programmation peuvent «communiquer» entre eux de façon sure. 2.3.4 - Le Virtual Engine System (VES /CLR) C est lui qui a la charge d exécuter les applications compilées en code IL. Le CLR (Common Language Runtime) est une implémentation du VES dans le.net Framework de Microsoft. Le CLR intègre entre autres : Le CAS (Code Access Security) qui contrôle l intégrité du code (validation du code et des métadonnées) et qui vérifie que le code ne fait rien de dangereux. Le GC (Garbage Collector) qui est chargé de la gestion de la mémoire (allocation et libération). La BCL (Base Class Library) qui représente la librairie standard pour la CLI. Elle comprend les types de base de la CLI telles que les types intégrés(entiers, doubles, ), les entrées/sorties, les attributs, les chaines de caractères et leur manipulation,le formatage, les fluxs, mes collections Ne pas confondre la BCL et la FCL (Framework Class Library). La FCL qui est est une énorme librairie qui contient tous les types qui ne font pas partie de la BCL. Elle inclut par exemple : ADO.NET (ActiveX Data Object pour.net), qui est un ensemble de classes qui permettent d'accéder à des données relationnelles (SQL par exemple), XML et d'application. ADO.NET est utilisable aussi bien par des applications desktop que par des applications Web. Windows Forms, qui permet de créer des interfaces utilisateurs à base de formulaires (fenetres) et de controles (textboxs, listes déroulantes, grilles de données, ). Windows Forms n est utilisable pour des applications Desktop et pas pour des applications Web. Page 8 sur 9

ASP.NET (Active Server Page pour.net) successeur de la technologie Active Server Pages (ASP). ASP.NET est un ensemble de technologies de programmation web permettant de créer des sites web dynamiques, des applications web ou des web services XML. Afin de pouvoir utiliser ASP.NET, on utilise un serveur web compatible ASP (IIS) ou le serveur web de développement intégré dans Visual Studio. WPF (Windows Presentation Foundation) (depuis.net 3.0), qui est une surcouche permettant de réaliser les interfaces graphiques utilisateur à la place de Windows Forms. Une des différences les plus importantes avec ce dernier est que la description des graphismes, basée sur le langage XAML, est entièrement vectorielle. Principalement utilisé pour les applications desktop, il sert aussi de base aux applications Web Silverlight. WCF (Windows Communication Foundation) (depuis.net 3.0), Qui permet de construire des applications distribuées, et de faire communiquer des composants applicatifs se trouvant sur une même machine ou différentes machines reliées en réseau. WCF permet de faire communiquer des applications créées avec différentes technologies (Remoting, Web Services, COM+, ) sans devoir reprendre le développement de ces applications. WF (Windows Workflow Foundation) qui est une infrastructure qui permet aux utilisateurs de créer des workflows système ou utilisateurs dans leurs applications. Il comprend un espace de noms, un moteur de workflow in-process et des concepteurs pour Visual Studio. 2.3.5 - Structure du.net Framework VB.NET C# Autres langages.net.net Framework Class Library (FCL) WCF.NET WPF.NET WF.NET ASP.NET Web Forms, XML Web Services Windows Forms Console ADO.NET.NET Remoting Assembly compilé en code IL Compilation à la volée avec le jeu d'instructions du processeur Common Language Runtime (CLR) Just-in-Time Compilers, Garbage Collector, Security Manager, Système d exploitation Page 9 sur 9