Technologies DotNET. Vision de Microsoft



Documents pareils
DotNet. Présentation de l'offre

Urbanisation et architecture des systèmes d information

DotNet. Plan. Les outils de développement

Module.NET 3 Les Assemblys.NET

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Comparaison des architectures J2EE et.net

Le Framework.Net. Introduction. Pourquoi.Net?

Vulgarisation Java EE Java EE, c est quoi?

Olivier Deheurles Ingénieur conception et développement.net

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Introduction à Microsoft InfoPath 2010

Linux embarqué: une alternative à Windows CE?

Le cadre des Web Services Partie 1 : Introduction

CAHIER DES CHARGES D IMPLANTATION

Notre Catalogue des Formations IT / 2015

Mise en œuvre des serveurs d application

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

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

2010 Catalogue Formation

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Jean-Philippe VIOLET Solutions Architect

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

La technologie Java Card TM

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

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

Développer avec les technologies ESRI. ESRI Developer Network (EDN) Gaëtan LAVENU ESRI France Jérémie MAJEROWICZ ESRI France

Catalogue des formations

Configuration Matérielle et Logicielle AGORA V2

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

À qui s adresse cet ouvrage?

Ronan EZANNO. 20 ans d'expérience PowerBuilder.NET

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Tivoli Endpoint Manager Introduction IBM Corporation

Formations Techniques : Infrastructures Janvier - Mars 2009

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Programmation Web Avancée Introduction aux services Web

Architectures web/bases de données

Notions fondamentales du langage C# Version 1.0

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

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

Windows Server Chapitre 1: Découvrir Windows Server 2008

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Environnements de développement (intégrés)

Java - la plateforme

N Cour Exam Thème Durée New Installing and Configuring Windows Server J New Administering Windows Server J

Le framework contient deux éléments principaux : le Common Language Runtime et la bibliothèque de classes du.net Framework.

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

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

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Armand PY-PATINEC 2010

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Introduction aux Machines Virtuelles avec VMKit

Chapitre 01 Généralités

MSDN Academic Alliance Département SRC Vichy

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

Commerce Server 2009 R2

Réalisation d une application de gestion Commerciale

Compétences fonctionnelles et techniques

Évaluation et implémentation des langages

Collaborateur GdP Leader Technique/Architecte

Curriculum Vitae Francis Morissette Juillet Document confidentiel

Evidian IAM Suite 8.0 Identity Management

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

SPT Description du cours NORAMSOFT SPT2013. SharePoint 2013 pour développeurs

ABIDJAN YOPOUGON RESIDENTIEL Immeuble EDUFOR

Logiciel Enterprise Guide Version 1.3 Windows

Jeudi 17 février Nicolas Darcheville Vincent Goessens

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

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

SEMINAIRES SUR L ADMINISTRATION D UN RESEAU MICROSOFT WINDOWS 2003

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Tarif régulièrement remis à jour : puis choisir Infos PRATIC - accord SELECT

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Éléments de programmation et introduction à Java

LA RECONNAISSANCE VOCALE INTEGREE

W4 - Workflow La base des applications agiles

1 JBoss Entreprise Middleware

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Le serveur web Windows Home Server 2011

ABB personnalise son service client avec la plate-forme en ligne One ABB on the Web Jan Anders Solvik, Håkan Wärdell, Nathan Becker

Groupe Eyrolles, 2004 ISBN :

Sébastien Sougnez 24/12/ / s.sougnez@areaprog.com 2 ans et demi d expérience

ClariLog - Asset View Suite

Projet de développement

Bienvenue au roadshow Microsoft System Center, SQL et Windows Server 2012

11 Février 2014 Paris nidays.fr. ni.com

Les nouvelles architectures des SI : Etat de l Art

< Atelier 1 /> Démarrer une application web

L art d ordonnancer. avec JobScheduler. François BAYART

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Le nouveau Windows Runtime

Eric Bertrand 08/11/06 Maître de conférence 1

Transcription:

Technologies DotNET Buts : Vision et principes La plate forme Visual Studio CLR (CLS, CTS) L API de base Les processus de compilation Le MSIL Conclusion Vision de Microsoft Jim Miller Constats de base: Lead Program Manager 1. Evolution de la Technologie: Microsoft Corporation Puissance des ordinateurs (double constamment, de plus en plus de données sur le pc) Connectivité (pas très cher et de plus en plus Wireless) Prolifération des dispositifs mobiles (Natel, PDAs, etc. ) Les standards Internet (intégration basé sur XML) 2. Les impératifs de l intégration Trop dur, trop cher, trop lent, trop fragile Îlots de technologie dans une mer de connectivité Les nouvelles idées fonctionnent mieux quand elles influencent le monde existant. Newton vs Palm Vous préférez Excel ou Access? Les utilisateurs du Word préfèrent Excel Les utilisateurs du SQL préfèrent Access Empower people through great software, any time, any place, and on any device 2 C est quoi dotnet (.NET)? De vrai informatique répartie. Plateforme de développement:.net Framework Un environnement : Visual Studio.NET Serveurs d entreprise Internet et intranet Jim Miller Lead Program Manager Common Language Runtime Microsoft Corporation SQL Server, Exchange, Biztalk,Commerce Server, Internet Security & Acceleration Server,Mobile Information Server, Content Management Server Services Standardisés. Support de beaucoup de dispositifs mobiles Accès au même services offerts pour les PCs Basé sur des normes Facile à développer, facile à utiliser Interface personnalisable Fiable, sécurisé, digne de confiance. dotnet: les principes Rendre les applications distribuées omniprésentes et sur mesure Cycles réduits et peu coûteux de développement et qui s adaptent à la bande passante. Intégration sans effort des applications multiples et des divers supports. Fournir les logiciels comme des services Mettre l utilisateur dans le processus de control L environnement.net est le modèle de programmation de cette vision et de ces principes

dotnet: plateforme dotnet: Accès libre et ouvert Access Points Apps Devices Clients Applications Services Services Web Forms myinbox SOAP Your Components Protocols: HTTP, HTML, XML, SOAP, UDDI mycontacts Web Services.NET Framework Tools: Visual Studio.NET, Notepad Windows mycalendar Your Internal Web Service Windows, Windows CE, UNIX, Mac, Palm, etc. n importe quelle langage 5 6 dotnet et Visual Studio.NET VB Un ensemble de technologies pour développer et utiliser des composants pour créer des: Formulaires Web Services Web Des applications Windows Support du cycle de vie d un software Développement Debugging Déploiement Maintenance.NET Enterprise Servers C++ C# JScript.NET propose de nombreuses classes: Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms ADO.NET: Data and XML.NET Framework Base Classes Visual Studio.NET Third-Party Web Services Chaque boîte peut représenter un ordinateur séparé dotnet: plateforme.net Foundation Web Services ASP.NET fournit l'infrastructure du noyau Web: Les formulaires Web, les services Web Windows Forms: Pour le développement d'interface utilisateur sur Windows (OS). 7 ADO.NET et XML: fournissent les fonctionnalités pour l'accès aux données. Base classes: les classes de base de noyau fournissent des services d'infrastructure tels que la gestion de sécurité et de transaction. CLR: Permet d intégrer un grand nombre de langages. 8

Le mécanisme.net Language-Independent & Platform Dependent Person.vb Address.cs Person MSIL CLR Company.cbl.NET: Modèle de programmation Source (C#, C++, VB.NET, J++, Cobol, Smalltalk, Eiffel, etc.) «Managed» (MSIL) CLS/CTS JIT Compiler Native Address MSIL Company MSIL Deploy.NET Framework Libraries.NET CLR.NET CLR.NET CLR.NET Compact Framework Libraries.NET CLR.NET CLR.NET CLR Windows Windows CLR Windows 98/Me NT/2000/XP Linux (Mono::) Autre 9 10 dotnet Structure ASP.NET Web Services ASP.NET ASP.NET Web Forms ASP.NET Application Services ADO.NET Network Windows Windows Forms Forms Controls Framework Framework Class Class Library Library XML Security Common Type System Drawing Windows Application Services Threading Diagnostics Common Common Language Language Runtime Runtime IO Etc. Common Language Specification Compatible avec ASP classique Deux fonctionalités importantes: Les web forms Une toolbox pour la génération des interfaces HTML (extention aspx) Gestion des interactions avec le formulaire et le déclenchement des événements. Gestion des liaisons avec les données Permet de lier par exemple le composant tableau avec une source de données Les web services Par la suite

Common Language Specification dotnet et les classes CLS est l'infrastructure de langage commun utilisée dans.net Spécifications qu'un langage doit supporter pour être accepté dans le cadre de.net Les spécifications sont détaillées: http://msdn.microsoft.com/net/ecma/ ECMA (European Computer Manufacturer's Association) Standardizing Information and Communication Systems Une collection de classes fournissant une grande sélection prédéfinie de fonctionnalité Une bibliothèque standard pour TOUTES LES langages de.net Plus de MFC vs. ATL vs. WFC vs. VB vs. etc. Héritage et déboguage Cross language Object-oriented Extensible Securité Efficacité 13 14 dotnet et les classes Processus de compilation Services Description Discovery Protocols Caching Configuration System.Web UI HtmlControls WebControls Security SessionState System.WinForms Design ComponentModel System.Drawing Drawing2D Printing Imaging Text Étape de compilation intermédiaire Exécution avec (CLR) Just In Time (JIT) Compilation System.Data System.Xml ADO SQL XSLT Serialization Design SQLTypes XPath System Collections Configuration Diagnostics Globalization IO Net Reflection Resources Security ServiceProcess Text Threading Runtime InteropServices Remoting Serialization

Étape de compilation intermédiaire dotnet: CLR Non compilé directement dans le code machine Compilé vers un langage intermédiaire (IL) qui ressemble à l'assembleur Des Metadata accompagne l'il, il décrit le contenu du fichier (par exemple parameters,methods ) Le manifeste décrit ce que le (IL) a besoin en termes d'autres composants But du (CLR) Système commun pour supporter tous les langages de programmation en fournissant l'infrastructure fondamentale pour: le développement de services Interopérabilité entre langages ce qui augmente la productivité le déploiement de services Simple et efficace l'exécution de services Performance, sécurité, etc. SUN avec java: WORA (write once, run anywhere) Microsoft avec CLR: Execute on many platform Un Runtime riche avec une librairies très riches 17 18 The big picture Application.NET? The big Picture building Application.NET Application.NET Process WIN32 Managed Memory Managed CLR Unmanaged Win32 COM COM+ 1.0 Services XML SOAP DATA WEB Memory DLL Managed Exécution Services CLR Inter opère avec : COM/DCOM, COM+ 1.0 Win32 Unmanaged Building Syntaxes au choix (CLS) Compilateur.NET MSIL (Intermediate Language) MetaData Exécution : CLR ClassLoader (IL + MetaData) JIT Compilateurs Native Managed Exécution du code natif

The big Picture.NET Langages VB C++ C# JScript Common Language Specification La plate-forme.net est indépendante du langage Tous les langages accèdent aux services fournis par la CLR Langage de Spécification Commun CLS Chaque langage utilise et étend le framework.net Les langages.net sont interopérables. Gestion d exécution du code: Vérification des types Fourni un garbage collection, un gestionnaire d erreur Vérification de le sécurité aux niveau ressources Type système commun (CTS) Fournit un ensemble riche uniforme de types pour toutes les langages soutenues S'assure que les classes sont compatibles entre en les décrivant dans une manière commune Exemple Valeur de types (integer, float, user, ) Objets, Interfaces Délégation, événements, propriétés, pointeurs Accès aux ressources native du système 21 22 Compilation et exécution Compilation et exécution source Native Execution Compilateur de Language Compilation JIT Compiler CIL Metadata Assembly source MSIL VB Compiler Assembly C# Compiler Assembly C++ Compiler Assembly Illustration du processus de compilation et exécution du code utilisé par CLR code écrit en C#, etc. JIT Compiler transformation en MSIL avec le compilateur avant l exécution, le code MISL (MicroSoft Intermediate Language) est compilé en JIT en code native par défaut le JIT est lancé à chaque appel d une méthode, mais il y a une possibilité de «pre-jit» Native Managed CLR Services Managed CLR Managed Operating System Services Unmanaged

CLR JIT Compilateurs Traduit IL vers du code natif Effectue des vérifications de cohérence de type Les types sont chargés de manière récursive Maintien des tables en mémoire afin d assurer Le ramasse miettes (Garbage collector) La gestion des exceptions Types: Regular JIT Compilation par méthode IL vers code natif natif optimisé Fast-JIT Compilation rapide (pas d optimisation) Pre-JIT Compilation de l assembly avant exécution (installation). Chargement et démarrage plus rapide. Compilation et exécution: Assemblies Assembly est une unité logique de déploiement contenant: Manifest, Metadata, MSIL, et autre ressources: Unité de déploiement Un ou plusieurs fichiers (indépendant du packaging) Auto-descriptive via metadata ( manifest ) Manifest Metadata au sujet des composants dans un assembly (assemblage) nom, version, culture, [clé publique]. Quels sont les types exportés? De quelles autres assemblies dépend-on? Les permissions de sécurité nécessaires à l exécution. Metadata Description complète des tous les types définis dans les assembly: propriétés, méthodes, arguments, return values, attributes, classes de base, Avantages: Eliminer le registre : Manifest Simplifier le modèle de programmation Type Metadata Composant auto descriptifs Automatiquement Générées structure MSIL Stockées avec le code dans le fichier binaire Convertibles vers/depuis XML schéma Resources (optional) 25 26 Compilation et exécution: Assemblies CLR Assembly Assembly (suite): MSIL ou IL (Microsoft Intermediate Language) Généré par la compilation des codes sources (Tous les langages sont compilés en IL : VB,C++,C#,etc.) Va être a son tour compilé (JIT) en code natif, lors de l exécution (il est jamais interprété) Indépendant des CPU Il suffit d avoir le bon JIT Compiler Manifest Ressources Type Metadata structure MSIL Ex:.bmp,.jpg Resources (optional) Manifest Manifest for Type P for Type X for Type Y for Type Z Metadata for Types X, Y and Z app1.dll Assembly A for Type Q Metadata for Types P and Q app2.exe for Type R Metadata for Type R app3.dll

Assembly: vue graphiques CLR Assembly Version des assemblies <major ver>.<minor ver>.<build#>.<révision> Single File Assembly Multifile Assembly Plusieurs versions de la même assembly peuvent être présentes sur la machine Plusieurs versions de la même assembly peuvent être chargées à la fois Y compris dans le même process Les assemblies mettent fin au DLL hell! 29 30 Base Class Library Support Support pour les api de base: root object, la précision (float, etc.), etc. Thread Support Type Checker COM Marshaler Exception Manager Des services de haut niveaux: -Gestion des exceptions -Gestion des threads, -Etc. Security Engine Debug Engine IL to Native Compilers Manager Garbage Collector IL compile en code native, le code manager contrôle l exécution et le grabage collector manage la mémoire Class Loader Charge les classes et les metadata

CLR: développement multilingues Configuration et sécurité Système d Objet incorporé Utilisation simple de son langage de choix Pas de nouvelles règles ou API à apprendre Héritage et gestion d exceptions entre langages Plus de 20 langages supportés VB, C++, C#, Java, JScript, Perl, COBOL Debuggers fonctionnant avec tous les langages Plusieurs niveaux de configuration : Application Ex: hello.exe.config Machine machine.config security.config Entreprise enterprisesec.config Sécurité sur ces différents niveau + Provenance du code, ce que fait le code (io ) Signatures Rôles 33 34 Déploiement dotnet et XML Side by Side Par simple copie Package MSI,.CAB sont le bienvenue ;-) Assembly dans directory des exe /bin XML est présenté comme une pierre angulaire de la plate-forme Il fait partie intégrante du noyau Architecture XML dans.net Support pour : Parsing and Writing XML Document Editing (DOM) XPath XSLT Transforms (XSLT) XML Schemas and Validation

XmlReader et XmlWriter XmlDocument Abstract XmlReader XML 1.0 Namespaces XmlWriter Abstract W3C XML DOM Level 2 Core XmlDocument XmlNode XmlElement XmlAttribute XmlTextReader XmlNodeReader XmlTextWriter Permet la lecture depuis un flux textuel Permet la la génération de documents textuels XmlReader XmlWriter XmlNodeWriter: permet d écrire dans une arbre DOM XML 1.0 Namespaces Permet la lecture depuis une arbre d objets de type DOM 37 38 DOM Classes Synthèse Simplifier le Développement XmlDocument XmlElement XmlAttribute XmlEntity XmlNode XmlCharacterData XmlText XmlCDataSection XmlWhitespace XmlImplementation XmlNodeList XmlNamedNodeMap XmlAttributeCollection Elimination complète de la plomberie: Plus de registration, fichiers IDL, etc. Intégration multi-langages Héritage entre langages Toutes les fonctions de la plate-forme sont disponibles depuis n importe quel langage Integration transparente avec l existant Toute classe.net est vue comme un objet COM Tout object COM peut être utilisé comme une classe.net Modulaire et extensible

Synthèse Unifier les Modèles de Programmation RAD, Composition, Delegation VB Forms API unique.net Framework Subclassing, Power, Expressiveness MFC/ATL Windows API Stateless, Scripting dans des Pages HTML ASP Synthèse Déploiement, Performance et Sécurité Installation simplifiée Xcopy Versioning De multiple versions du même composant peuvent coexister même dans le même process Robustesse & performance Garbage Collection Execution native et type safe Debug multi-langage Traitements des erreurs cohérent Sécurité Basée sur l origine du code ou sur l utilisateur 41 42 Références Liens http://www.microsoft.com/net/netmyservices.asp http://msdn.microsoft.com/net http://msdn.microsoft.com/vstudio http://www.gotdotnet.com http://www.microsoft.com/france/msdn http://www.dotnet-fr.org http://www.c2i.fr http://www.dotnetguru.org http://www.club-dotnet.com http://www.openp2p.com/lpt/a//p2p/2001/05/30/hailstorm.html Livres: Introducing Microsoft.NET, David S. Platt, Microsoft Press The Microsoft.NET Framework, Based on Beta Content, Microsoft Press A Programmer s Introduction to C#, Eric Gunnerson, Apress Professional C#, Simon Robinson, et al, Wrox Press