La plate-forme .Net Introduction Michel RIVEILL Université de Nice – Sophia Ant

La plate-forme .Net Introduction Michel RIVEILL Université de Nice – Sophia Antipolis riveill@unice.fr - http://www.polytech.unice.fr/~riveill 3 © 2007, M. Riveill .NET ■ Introduction ◆ La plate-forme ◆ Le C.L.R (Common Language Runtime) ■ Le langage C# (et le CLR) ◆ Assemblies et module ◆ Types références et valeurs ◆ Réflexion et attributs ◆ Delegates et Events ■ Les applications Web ◆ Lʼaccès aux données ◆ Les services Web ◆ Les pages dynamiques ■ Les services techniques ◆ La sécurité ◆ Les transactions ■ .Net 2.0, 3.0, 3.5 ■ Evaluation ◆ Le multi-langage dans .Net ◆ J2EE vs .Net ■ Pour aller plus loin Première partie Introduction La plate-forme .Net Le C.L.R (Common Language Runtime) 5 © 2007, M. Riveill .NET, Cʼest quoi ? ■ Une vision (celle de Bill & Co) de lʼévolution des technologies du Web ◆ Les applications sont des services auxquels on peut sʼabonner et qui peuvent être référencés ❖ Services offerts par des sites web ◆ De nouveaux terminaux complètent les PCs ❖ IHMs adaptables et personnalisables ◆ Respect des standards (issus du Web) ❖ Cʼest nouveau pour Microsoft ■ Une plate-forme qui supporte cette vision ◆ .NET Framework et Visual Studio.NET ◆ .NET Enterprise Servers – passerelle avec le système dʼexploitation Windows ❖ Base de données, messages, Intégration, proxy, sécurité, mobilité, gestion du contenu, orchestration des services, … ◆ .NET Building Block Services ❖ .NET My Services – des services fournis par Microsoft ▲ Passport (authentification) ▲ Hailstorm (profils utilisateurs) ▲ .NET Alerts (service dʼalerte) ◆ Objectif : rendre la construction dʼapplications Web aisées ❖ Par assemblage de Web services 6 © 2007, M. Riveill La plate-forme .NET Web Form .NET Framework Windows Web Service .NET Foundation Web Services Your Internal Web Service Third-Party Web Services .NET Enterprise Servers Clients Applications Protocoles: HTTP, HTML, XML, SOAP, UDDI Outils : Visual Studio.NET, Notepad 7 © 2007, M. Riveill Services Web Une évolution du Web Generation 1 Static HTML HTML Generation 2 Web Applications HTML HTML, XML HTML, XML Generation 3 Web Services ■ Des composants applicatifs accessibles à partir des standards du Web ■ Le coeur de lʼarchitecture .NET ■ Offrir des services à lʼaide du Web ■ Construit avec les standards actuels ◆ HTTP, XML, SOAP, UDDI, WSDL, … 8 © 2007, M. Riveill Le framework .NET ■ Un ensemble de technologies pour développer et utiliser des composants : ◆ Formulaires Web ◆ Services Web ◆ Applications Windows ■ Des outils pour développer des applications ◆ Développement ◆ Mise au point ◆ Déploiement ◆ Maintenance Common Language Specification Common Language Runtime VB C++ C# ASP.NET: Web Services and Web Forms JScript … Windows Forms .NET Framework Base Classes ADO.NET: Data and XML Visual Studio.NET 9 © 2007, M. Riveill La plateforme .NET Win32 C++ VB COM DCOM Intégration en mémoire Intégration en mémoire Intégration entre machine CLR Service WEB .NET Remoting Dans .Net 3.0, le choix Service Web / .NET Remoting se fait au déploiement 10 © 2007, M. Riveill La plateforme .Net Common Language Interface CLI = IL + bibliothèque Common Language Runtime (CLR) ECMA / ISO Windows XP Windows 2000 NT 4.0 Windows 98, Me PocketPC Free BSD Implémentées par MS Linux 11 © 2007, M. Riveill Le .Net Framework Intermediate Language (IL) Common Language Runtime (CLR) Base Classes Accessible depuis tous les langages Accessible depuis tous les langages Entre le langage intermédiaire (IL) et le machine virtuelle (CLR) se trouvent les classes du .Net Framework Ces classes sont accessibles par tous les langages puisque accessibles depuis l’IL Une partie de ces classes ont été intégrées dans les spécifications du CLR • Modèle d’objet commun • Types unifiés • Meta-Data • Modèle d’exception commun 12 © 2007, M. Riveill VS.NET VS.NET Common Language Runtime Common Language Runtime System System System.Data (ADO.NET) System.Xml Design ADO Adapters SQL Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization XPath XSLT Serialization System.Drawing JIT GC MSIL App Domain Loader Common Type System Class Loader System.Web Configuration SessionState Caching Security System.Web.Services Description Protocols UI HtmlControls WebControls Discovery C# VC/MC++ Imaging Drawing2D Text Printing JScript VB Platform Abstraction Layer Platform Abstraction Layer Boot Loader Sync Threads Networking Timers Filesystem System.WinForms Design ComponentModel Debugger Designers SDK Tools SDK Tools CorDBG ILAsm ILDbDump SN ILDAsm MetaInfo PEVerify ECMA-335 ECMA-334 CLI Standards 13 © 2007, M. Riveill Le framework .NET Les classes du framework VS.NET VS.NET Common Language Runtime Common Language Runtime System System System.Data (ADO.NET) System.Xml Design ADO Adapters SQL Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization XPath XSLT Serialization System.Drawing JIT GC MSIL App Domain Loader Common Type System Class Loader System.Web Configuration SessionState Caching Security System.Web.Services Description Protocols UI HtmlControls WebControls Discovery C# VC/MC++ Imaging Drawing2D Text Printing JScript VB Platform Abstraction Layer Platform Abstraction Layer Boot Loader Sync Threads Networking Timers Filesystem System.WinForms Design ComponentModel Debugger Designers SDK Tools SDK Tools CorDBG ILAsm ILDbDump SN ILDAsm MetaInfo PEVerify 14 © 2007, M. Riveill Le CLR et ses implémentations ■ Framework .Net est suffisant pour programmer, cʼest la version officielle ◆ pas accès aux sources ◆ Il faut aussi prendre le SDK ◆ Webmatrix permet dʼavoir une plate-forme de développement gratuite ❖ Intègre serveur web et base de données ◆ Visual Studio .Net, SQL serveur ❖ Disponibles pour les étudiants de PolytechʼNice-Sophia (licence MSDN AA) ■ ROTOR est une implémentation Microsoft de la technologie .Net ◆ http://msdn.microsoft.com/sscli ◆ implémentation complète de standard ISO/ECMA (cʼest un sur ensemble de la norme) ◆ Fonctionne avec FreeBSD, Mac OS X et Windows XP (licence de type BSD) ◆ 100% du code source est disponible ◆ Il nʼy a pas dʼimplémentation correcte de ROTOR pour Linux 15 © 2007, M. Riveill CLR et les implémentations non Microsoft en 2003 ■ Ximian : MONO est un projet indépendant ◆ http://www.go-mono.org ◆ compatibilité avec les produits .Net ◆ fonctionne sur Linux (licence GPL) ◆ actuellement : C#, JIT très efficace, pas dʼIDE ■ DotGNU : Portable .Net ◆ http://www.southern-storm.com.au/portable_net.html ◆ implémentation du standard ISO/ECMA ◆ fonctionne sous GNU/Linux, cʼest un projet GNU ❖ mais aussi sous Windows, Solaris, NetBSD, FreeBSD, and MacOS X. ❖ le runtime a été testé sur les processeurs x86, PowerPC, ARM, Sparc, PARISC, s309, Alpha, and IA-64 ◆ Actuellement : C#, pas de JIT, de nombreux outils ■ Il y en a dʼautre… 16 © 2007, M. Riveill Common Language Runtime Buts ■Développement de services ◆Permettre une interopérabilité entre les langages ◆Augmenter la productivité ❖chacun écrit dans le langage quʼil maîtrise, le plus adapté, … ■Services déploiement ◆Simple, sûr ◆Gestion des versions – NO MORE ʻDLL HELLʼ ■Services à lʼexécution ◆Performance ◆Extensibilité ◆Sûreté et disponibilité ◆Sécurité 17 © 2007, M. Riveill Source Code C++, C#, VB or any .NET language csc.exe or vbc.exe Compilateur Assembly DLL or EXE Common Language Runtime Compilation 18 © 2007, M. Riveill Common Language Runtime Assemblages - Assemblies ■ Assembly : archive ◆ Unité logique de déploiement (composants de la machine virtuelle) ◆ Contient Manifest, Metadata Type, code IL et autres ressources ■ Manifest : fichier de description de lʼassemblage ◆ Metadata à propos des composants présent dans un assembly (version, types, dépendances, etc.) ■ Metadata Type ◆ Définition complète de tous les types présent dans lʼassembly : attributs, méthodes, paramètres, ressources… ■ code IL : langage intermédiaire typé ◆ Tous les langages sont compilés en IL (managed code) ◆ IL est toujours compilé en code natif avant exécution (JIT compiler) ■ Ressources ◆ .bmp, .jpg 19 © 2007, M. Riveill Assemblies Components of an Assembly Assembly = un fichier Assembly = plusieurs fichiers Manifest Metadata MSIL File1.dll Metadata MSIL File2.dll Graphic.jpg Resource Logo.gif Resource Manifest File3.dll 20 © 2007, M. Riveill Common Language Runtime Modèle dʼexécution CLR VB Source code Compiler C++ C# Assembly Assembly Assembly Operating System Services IL Common Language Runtime JIT Compiler Compiler Compiler Native code Managed Code Managed Code Managed Code Unmanaged Code CLR Services Ngen 21 © 2007, M. Riveill Common Language Runtime Services ■Gestion du Code ■Conversion du code MSIL en natif ■Chargement et exécution du ʻmanaged codeʼ ■Création et gestion des metadata ■Contrôle des types ■Insertion et exécution des politiques de sécurité ■Gestion mémoire ■Gestion multi-langage des exceptions ■Interopérabilité entre les objets du framework .NET et les objets COM et les DLLs Win32 ■Liaison tardive ■Services pour les développeurs (profiling, debugging, etc.) 22 © 2007, M. Riveill Common Language Runtime 23 © 2007, M. Riveill Les langages sur .Net VB C++ C# … *.vb *.cpp *.cs *.? Intermediate Language (IL) Indépendant de la plate-forme hardware Indépendant de la plate-forme hardware Respectent la Respectent la Common Language Specification (CLS) Common Language Specification (CLS) ■ Perl ■ Python ■ Cobol ■ Haskell ■ ML ■ Jscript ■ Ada ■ APL ■ Eiffel ■ Pascal ■ Fortran ■ ■ Managed C++ Managed C++ ■ ■ Visual Basic Visual Basic ■ ■ C# C# ■ ■ SmallTalk SmallTalk ■ ■ Oberon Oberon ■ ■ Scheme Scheme ■ ■ Mercury Mercury ■ ■ Oz Oz ■ ■ uploads/s1/ cours-dotnet-pdf.pdf

  • 35
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Nov 24, 2021
  • Catégorie Administration
  • Langue French
  • Taille du fichier 7.9432MB