La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Dotnet La plate forme.NET Master 1 informatique 2008 – 2009 P.-A. Bisgambiglia

Présentations similaires


Présentation au sujet: "Dotnet La plate forme.NET Master 1 informatique 2008 – 2009 P.-A. Bisgambiglia"— Transcription de la présentation:

1 http://www.ent-montecristo.org/paul-antoine2.bisgambiglia Dotnet La plate forme.NET Master 1 informatique 2008 – 2009 P.-A. Bisgambiglia bisgambiglia@univ-corse.frbisgambiglia@univ-corse.fr S2M1 Introduction DotNet

2 Dotnet2bisgambiglia@univ-corse.fr Organisation Partie JEE Marie-Laure Nivet Deux parties DotNet Début : Paul-Antoine Bisgambiglia (introduction) Suite : Pascal Belaud Responsable démonstration développement chez Microsoft Partie services web (application.NET) Pascal Belaud

3 Dotnet3bisgambiglia@univ-corse.fr Objectifs de l’UE Aborder de façon pratique la programmation d'applications web vue de manière théorique par ailleurs Découvrir les concepts liés Etre en contact avec des professionnels travaillant dans le domaine Tendances du marché

4 Dotnet4bisgambiglia@univ-corse.fr Objectifs du module Vue globale de l'architecture et de la plateforme.NET Apprivoiser les concepts et le vocabulaire Initiation à la manipulation des technologies.NET

5 Dotnet5bisgambiglia@univ-corse.fr Sommaire 1. 1. Services Web 2. 2. Qu’est-ce que le Framework.NET ? 3. 3. Les objectifs du Framework.Net 4. 4. Le framework : Architecture 1. 1. Le C.L.R (Common Language Runtime) 2. 2. Notion d’assemblée 3. 3. Comment ça fonctionne 4. 4. Interopérabilité 5. 5. Standardisation du.Net Framework

6 Dotnet6bisgambiglia@univ-corse.fr Sommaire 5. 5. Les modules 1. 1. Les formulaires Windows 2. 2. Les formulaires Web 3. 3. L’accès aux données (ADO.NET) 6. 6. Les langages 7. 7..Net et Linux 8. 8. ASP.NET 1. 1. Fonctionnement 2. 2. Démonstration 9. 9. Sites Internet

7 Dotnet7bisgambiglia@univ-corse.fr Services Web 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, … Une évolution du Web Generation 1 - static HTML HTML Generation 2 - Web Applications HTML Generation 3 - Web Services HTML, XML

8 Dotnet8bisgambiglia@univ-corse.fr Qu’est-ce que le Framework.NET ? Un label marketing Un nouvel environnement de développement et d’exécution plate-forme de développement unifié; environnement d’exécution sécurisé. Le remplaçant de l’architecture 3-tiers DNA (Distribued interNet Architecture ) L’introduction d’un nouveau langage : C# Une bibliothèque de classes extensibles, regroupées par namespace en C#Sommaire Introduction Services Web.NET ? Objectif Architecture Modules Langages Linux ASP.NET Sites Web

9 Dotnet9bisgambiglia@univ-corse.fr Qu’est-ce que le Framework.NET ? Le remplaçant de l’architecture 3-tiers DNA (Distribued interNet Architecture ) Rappel : architecture 3-tiers Couche présentation associée au client qui de fait est dit "léger" dans la mesure où il n'assume aucune fonction de traitement à la différence du modèle 2-tiers. Couche fonctionnelle liée au serveur, qui dans de nombreux cas est un serveur Web muni d'extensions applicatives. Couche de données liée au serveur de base de données (SGBD)

10 Dotnet10bisgambiglia@univ-corse.fr Qu’est-ce que le Framework.NET ? Une vision (celle de Microsoft) de l’évolution des technologies du Web Des sites Web offrent des services Web qui coopèrent De nouveaux terminaux complètent les PCs Les IHM deviennent adaptable et personnalisable Respect des standards Web

11 Dotnet11bisgambiglia@univ-corse.fr Qu’est-ce que le Framework.NET ? Une plate-forme qui supporte cette vision Le Framework.NET et Visual Studio.NET.NET Enterprise Servers Base de données, messages, Intégration, proxy, sécurité, mobilité, gestion du contenu, orchestration des services, ….NET Building Block Services Passport et.NET My Services (“Hailstorm”) Objectif : rendre la construction d’applications Web aisées (par assemblage de Web services) Un modèle pour offrir des services (et faire du business) Les applications sont des services Abonnement à des services Référencement d’applications

12 Dotnet12bisgambiglia@univ-corse.fr Les objectifs du Framework.Net Prendre une place prépondérante sur le Web avec la location de services. Proposer une interopérabilité entres les services Web à travers Internet. Pouvoir consommer l’Internet sur plusieurs types de support (PC, PDA, téléphone). Être la plate-forme de référence pour la création de Services Web XML.Sommaire Introduction Services Web.NET ? Objectif Architecture Modules Langages Linux ASP.NET Sites Web

13 Dotnet13bisgambiglia@univ-corse.fr Les objectifs du Framework.Net Environnement d’exécution robuste et sécurisé Common Language Runtime (CLR) Code managé : Garbage Collector, Type Safe.. Runtime Security Déploiement et administration simplifiés Xcopy, Versioning

14 Dotnet14bisgambiglia@univ-corse.fr Les objectifs du Framework.Net Intégration de l’existant Multiples langages de programmation Interopérabilité COM et Win32 Compatibilité « side by side » Développement d’applications simplifié Modèle de programmation unifié Elever le niveau d’abstraction classe, interface, héritage, propriété, constructor, exception… Elimination complète de la plomberie COM Bibliothèque de classe riche et extensible Intégration native des standards Web (HTTP,XML, SOAP,...)

15 Dotnet15bisgambiglia@univ-corse.fr Le framework : Architecture Support 27 langages de programmation. L’objet est prépondérant. Un ensemble complet de classes de base. Orienté pour le développement d’applications Web. Basé sur des standards d’Internet : XML et SOAP. Pas de code natif : utilisation d’un langage intermédiaire le MSIL (MicroSoft Intermediate Language). L’exécution des programmes est contrôlée par la CLR (Common Language Runtime). Une architecture complète : le Framework.Sommaire Introduction Services Web.NET ? Objectif Architecture Modules Langages Linux ASP.NET Sites WebCaractéristiques

16 Dotnet16bisgambiglia@univ-corse.fr Le framework : Architecture Web Form.NET Framework Windows Web Service.NET Foundation Web Services Your Internal Web Service Third-Party Web Services.NET Enterprise Servers ClientsApplications Protocoles: HTTP, HTML, XML, SOAP, UDDI Outils : Visual Studio.NET, Notepad Vue d’ensemble

17 Dotnet17bisgambiglia@univ-corse.fr Le framework : Architecture 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 VBC++C# ASP.NET: Web Services and Web Forms JScript… Windows Forms.NET Framework Base Classes ADO.NET: Data and XML Visual Studio.NET Le framework

18 Dotnet18bisgambiglia@univ-corse.fr Le framework : Architecture Le framework

19 Dotnet19bisgambiglia@univ-corse.fr Class Loader IL to Native Compilers Code Manager Garbage Collector Security EngineDebug Engine Type CheckerException Manager Thread SupportCOM Marshaler Base Class Library Support CLR : Vue d’ensemble Le framework : Architecture

20 Dotnet20bisgambiglia@univ-corse.fr Developpement 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é CLR : But ! Le framework : Architecture

21 Dotnet21bisgambiglia@univ-corse.fr CLR : Fonctionnement Le framework : Architecture Source Code C++, C#, VB or any.NET language csc.exe or vbc.exe Compilateur Assembly DLL or EXE

22 Dotnet22bisgambiglia@univ-corse.fr Le framework : Architecture Unité de déploiement Point d’entrée d’exécution Unité de contrôle de sécurité Unité de contrôle de version Unité de réutilisation Unité de visibilité des types Unité d’exécution « cote à cote » Définition Assembly

23 Dotnet23bisgambiglia@univ-corse.fr Le framework : Architecture Un manifest : metadonnées de l’assembly Les métadonnées décrivant les types utilisés Le code IL Les ressources utilisées (images,…) La liste des fichiers qui la compose Contenu Assembly

24 Dotnet24bisgambiglia@univ-corse.fr Le framework : Architecture Assembly Unité logique de déploiement Contient Manifest, Metadata, MSIL et les ressources Manifest Metadata à propos des composants présent dans un assembly (version, types, dépendances, etc.) Type Metadata Définition complète de tous les types présent dans l’assembly : attributs, méthodes, paramètres, ressources… Microsoft Intermediate Language (MSIL, IL) 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 ContenuAssembly Contenu Assembly

25 Dotnet25bisgambiglia@univ-corse.fr Le framework : Architecture On considère 2 types d’assembly : Privée : Dédiée à l’utilisation d’un programme particulier. Se situe généralement dans l’arborescence du programme qui l’utilise. Partagée : Utilisée par un ensemble de programme différents. Se situe généralement dans le GAC (Global Assemblies Cache) Assembly : 2 formes d’utilisation

26 Dotnet26bisgambiglia@univ-corse.fr Un cache accueillant les assemblées partagées par plusieurs applications Doivent être définies avec des « noms forts » Grâce au mécanisme de clé privée, clé publique Pour garantir l’unicité d’une version d’une assemblée Pour garantir l’intégrité de l’assemblée Doivent faire référence à des assemblées fortement nommées ! Global Assemblies Cache (GAC) Le framework : Architecture

27 Dotnet27bisgambiglia@univ-corse.fr Compiler Assembly DEVELOPMENT C#J#VBCobol… MSILMetadataResources public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } Source code Comment ça marche : 1. Le Développement Le framework : Architecture

28 Dotnet28bisgambiglia@univ-corse.fr Compiler AssemblyDEVELOPMENTC#J#VBCobol… MSILMetadataResources public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(“C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } Source code Application Directory Global Assembly Cache (GAC) Comment ça marche : 2.Le Déploiement AssemblyDEVELOPMENTDEPLOYMENT SetupCopyBrowser Download Cache Install Le framework : Architecture

29 Dotnet29bisgambiglia@univ-corse.fr Debug Engine IL to Native Compiler Application Directory SetupCopyBrowser Download Cache Global Assembly Cache (GAC) Assembly on Target Machine AssemblyDEVELOPMENTDEPLOYMENT Install EXECUTION AssemblyLoader Security Class Loader Native.exe + GC table Code Manager Garbage Collection Exception Manager Thread Support COM Interop Policy <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Nothing" Name="All_Code" Description="Code group grants no permissio ns and forms the root of the code group tree."> <IMembershipCondition clas s="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Le framework : Architecture

30 Dotnet30bisgambiglia@univ-corse.fr Le framework : Architecture Modèle d’exécution CLR VB Source code Compiler C++C# Assembly Operating System Services MSIL Common Language Runtime JIT Compiler Compiler Native code Managed Code Managed Code Managed Code Unmanaged Code CLR Services Ngen

31 Dotnet31bisgambiglia@univ-corse.fr Interopérabilité Interopérabilité des langages, grâce au langage intermédiaire (IL) Interopérabilité avec COM Interopérabilité avec Win32 Le framework : Architecture

32 Dotnet32bisgambiglia@univ-corse.fr Standardisation C# et CLI qui sont déposés à l'ECMA CLI (Common Language Infrastructure) est très précis quand a ce que l'on doit trouver dans le "framework " et le "runtime " et laisse champ libre sur la manière de l'implémenter ECMA-334, C# (C sharp) Language Specification. ECMA-335, Common Language Infrastructure, approved by the ECMA General Assembly of 13th December 2001. ECMA TR/84, related to Standard ECMA-335 Le framework : Architecture

33 Dotnet33bisgambiglia@univ-corse.fr Support des standards Standards issus d’organismes indépendants. XML (eXtended Markup Language) pour les données. XSD (Schema Definition Language) pour définir la grammaire et le type de données d’un langage. HTTP (Hyper Text Transfert Protocol), natif dans.NET. SOAP (Simple Access Object Protocol), permet la communication des objets de manière transparente pour le développeur. WDSL (Web Services Description Language), format XML utilisé pour décrire les services d’un réseau. UDDI (Universal Description, Discovery and Integration), annuaire des Web Services. Le framework : Architecture

34 Dotnet34bisgambiglia@univ-corse.fr 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 Le framework : Architecture Bilan : CLR 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.)

35 Dotnet35bisgambiglia@univ-corse.fr System.Data Design OLEDB SQLTypes SQL System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess SecurityRuntime InteropServices Remoting Serialization System.Xml XPath XSLTSerialization System.Web ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms FormButton MessageBoxListControl Le framework : Architecture Les classes du framework

36 Dotnet36bisgambiglia@univ-corse.fr Les modules WinForms et WebForms sont un ensemble de composants graphiques accessibles dans Visual Studio.NET. WinForms et WebForms permettent de développer les interfaces d'applications à l'aide de composants graphiques préconçus.Sommaire Introduction Services Web.NET ? Objectif Architecture Modules Langages Linux ASP.NET Sites Web WinForms et WebForms

37 Dotnet37bisgambiglia@univ-corse.fr Les modules C’est la nouvelle version de ADO (ActiveX® Data Objects). Elle est constituée d’une nouvelle génération de composants d’accès aux bases de données ADO. XML et SOAP sont utilisés pour l’échange des données. ADO.NET

38 Dotnet38bisgambiglia@univ-corse.fr Les modules C’est la nouvelle version d’ASP (Active Server Pages) qui supporte la compilation par MSIL. Les pages ASP peuvent également être écrites dans n’importe quel langage pourvu qu’il puisse être compilé par MSIL. ASP.NET

39 Dotnet39bisgambiglia@univ-corse.fr Les languages 27 langages supportés pour le moment … C#, VC++, VB.net, Jscript, Perl, Small Talk, Cobol, Fortan, … Les langages doivent répondre aux contraintes du MSIL. Une classe en C# peut-être utilisée dans un programme écrit en VB.net. 27 syntaxes différentes plutôt que 27 langages ?Sommaire Introduction Services Web.NET ? Objectif Architecture Modules Langages Linux ASP.NET Sites Web

40 Dotnet40bisgambiglia@univ-corse.fr Les languages Nouveau langage créé pour.NET A mi-chemin entre C++ (+ simple ) et Java (+ rapide). Réponse de Microsoft à Java : syntaxe et fonctionnalités similaires. Bénéficie du Framework.net et sa CLR. Concepts clés : Composants orientés Tout est objet Soumis à l’ECMA pour standardisation Utilise les classes du framework.NET language C#

41 Dotnet41bisgambiglia@univ-corse.fr.Net et Linux ! Début du « portage » du framework.Net Différents projets : Mono par le créateur de gnome GNU Portable DotNet Rotor (FreeBSD)Sommaire Introduction Services Web.NET ? Objectif Architecture Modules Langages Linux ASP.NET Sites Web

42 Dotnet42bisgambiglia@univ-corse.fr ASP.NET Version.NET d’ASP : utilisé pour la création de site Web dynamique 3 types de pages : APSx, ASMx (assembly) pour les Web services, ASCx (control) pour les contrôles utilisateurs. ASP.NET fait partie intégrante du FrameWork et bénéficie de toutes ses fonctionnalités (classes de base). Les Pages ASP.NET sont compilés et exécuté par la CLR : code managé, possibilité de « tracing » et de « debugging ». Le code peut-être séparé totalement de la partie présentation. Apparition des contrôles serveurs. Comparable à JEE (ex. J2EE) + RMI S’appuie toujours sur IIS 5, mais multi-processus au lieu de multi-thread.Sommaire Introduction Services Web.NET ? Objectif Architecture Modules Langages Linux ASP.NET Sites Web Qu’est ce qu’ASP.NET ?

43 Dotnet43bisgambiglia@univ-corse.fr ASP.NET 45 contrôles disponibles (Listbox, treeview, calendar, adrotator, …) Exécutés sur le serveur. Renvoie du code HMTL au client en fonction du navigateur utilisé (compatible HMTL 3.2). Masque au développeur la communication client / serveur. Peut agir sans rechargement de la page. Chaque contrôle est une classe du Framework. Les contrôles serveurs

44 Dotnet44bisgambiglia@univ-corse.fr ASP.NET Fonctionnement Client fait une requête de pages ASPX On trouve la bonne page On la compile si ce n’est pas fait On l’assemble (composant, objets, etc…) On l’exécute en mémoire et on la place en cache On renvoie le code HTML de la page et des contrôles serveurs. Au deuxième appel pas de compilation, on va chercher la page compilée en cache.

45 Dotnet45bisgambiglia@univ-corse.fr ASP.NET Technologie qui permet de créer aisément des applications cotés serveurs Technologie qui permet de créer aisément des applications cotés serveurs ASP pages sont écrites dans un langage de script, généralement VBScript ou JScript ASP pages sont écrites dans un langage de script, généralement VBScript ou JScript Une page ASP contient une séquence HTML statique dans laquelle est inclue le script exécuté par le serveur Une page ASP contient une séquence HTML statique dans laquelle est inclue le script exécuté par le serveur Les scripts ASP permettent l’accès et la modification de données (présentes dans des BD) Les scripts ASP permettent l’accès et la modification de données (présentes dans des BD) HTTP request (form data, HTTP header data) HTTP response HTML, XML ASP page (static HTML, server-side logic) Active Server Pages (ASP)

46 Dotnet46bisgambiglia@univ-corse.fr Visual Studio.NET ASP.NET WebMatrix IDE SQL Server MSDE Données IIS “Cassini” Serveur Web Développement en entreprise Environnement “light” Windows &.NET Framework Plate-Forme Deux scénarios possibles ASP.NET

47 Dotnet47bisgambiglia@univ-corse.fr ASP.NET Un outil de développement léger, facile à prendre en main, pensé pour les communautés de développeurs, pour le développement d’applications Web ASP.NET GRATUIT ASP.NET WebMatrix MSDE “Cassini” Environnement “light” WebMatrix 0.6

48 Dotnet48bisgambiglia@univ-corse.fr Simple et facile à utiliser Simple et facile à utiliser Basé sur des fichiers (pas de “projets”) Basé sur des fichiers (pas de “projets”) Web Form designer WYSIWYG Web Form designer WYSIWYG Designer de données intégré Designer de données intégré Outils et assistants orientés tâches Outils et assistants orientés tâches Support FTP pour l’hébergement des pages Support FTP pour l’hébergement des pages Code Builders (assistants de génération de code) Code Builders (assistants de génération de code) Partage de “Code Snippets” Partage de “Code Snippets” Adapté aux développement de site personnel, ou maquette rapide Adapté aux développement de site personnel, ou maquette rapide ASP.NET WebMatrix MSDE “Cassini” Environnement “light” ASP.NET WebMatrix 0.6 : Un outil de développement léger

49 Dotnet49bisgambiglia@univ-corse.fr Léger Léger Téléchargement rapide (~1,3 Mo) Téléchargement rapide (~1,3 Mo) 1 disquette 1 disquette Pas de notion de projet Pas de notion de projet entièrement basé sur des fichiers entièrement basé sur des fichiers Serveur Web intégré Serveur Web intégré tourne sur Windows XP Home ! tourne sur Windows XP Home ! Destiné aux Communautés Destiné aux Communautés Add-in / Galleries de Code Add-in / Galleries de Code Intégration client Instant Messaging Intégration client Instant Messaging Intégration d’un client Chat Intégration d’un client Chat Onglet de liens vers les communautés en ligne Onglet de liens vers les communautés en ligne ASP.NET WebMatrix MSDE “Cassini” Environnement “light” ASP.NET WebMatrix 0.6 : Un outil de développement léger

50 Dotnet50bisgambiglia@univ-corse.fr MSDE 2000 Microsoft SQL Server Desktop Engine 2000 Microsoft SQL Server Desktop Engine 2000 Le moteur de SQL Server 2000 Le moteur de SQL Server 2000 Pas d’interface d’administration Pas d’interface d’administration WebMatrix joue ce rôle WebMatrix joue ce rôle Performances bridées Performances bridées Limité à 5 utilisateurs simultanés Limité à 5 utilisateurs simultanés Limité à 2Go Limité à 2Go Limite donc de fait l’usage au développement ou au déploiement sur poste client Limite donc de fait l’usage au développement ou au déploiement sur poste client ASP.NET WebMatrix MSDE “Cassini” Environnement “light” ASP.NET

51 Dotnet51bisgambiglia@univ-corse.fr Cassini Serveur Web de développement Serveur Web de développement Ne sert que les pages ASP.NET Ne sert que les pages ASP.NET Ne sert que les requêtes locales Ne sert que les requêtes locales Est inclus dans les 1,2Mo de WebMatrix Est inclus dans les 1,2Mo de WebMatrix N’est en fait qu’un listener qui renvoie les requêtes vers le moteur ASP.NET du.NET Framework N’est en fait qu’un listener qui renvoie les requêtes vers le moteur ASP.NET du.NET Framework ASP.NET WebMatrix MSDE “Cassini” Environnement “light” ASP.NET

52 Dotnet52bisgambiglia@univ-corse.fr Visual Studio.NET ASP.NET WebMatrix IDE SQL Server MSDE Données IIS “Cassini” Serveur Web ASP.NET Starter Kits Développement en entreprise Environnement “light” Windows &.NET Framework Un accélérateur de projets Plate-Forme ASP.NET

53 Dotnet53bisgambiglia@univ-corse.fr Conclusion.NET se présente comme une vision de la prochaine génération d'applications qui repose sur des standards tels que XML (eXtensible Markup Language), HTTP (Hyper-Text Transfer Protocol), SOAP (Simple Object Access Protocol), WSDL (Web Service Definition Language)....NET, une initiative stratégique... une stratégie marketing une plate-forme de développement unifié un environnement d’exécution sécurisé le remplaçant de l’architecture 3-tiers DNA (Distribued interNet Architecture ) 1 – QU'EST-CE QUE.NET ?

54 Dotnet54bisgambiglia@univ-corse.fr Conclusion un réseau Internet personnalisé qui héberge pour chaque utilisateur ses préférences et les données de ses applications une interaction entre l’utilisateur et ses applications grâce à la voix et à l’écriture manuscrite l’utilisateur aura un accès permanent à ses données et ses applications via le réseau et ce à partir de n’importe où et de n’importe quel terminal les applications et l’Internet pourront coopérer. C’est à dire que l’utilisateur sera connecté à un ensemble de services et d’applications qui seront capables de communiquer pour fournir des informations. 2 – LA STRATEGIE.NET

55 Dotnet55bisgambiglia@univ-corse.fr Conclusion prendre une place prépondérante sur le Web avec la location de services proposer une interopérabilité entres les services Web à travers Internet pouvoir consommer l’Internet sur plusieurs types de support (PC, PDA, téléphone…) être la plate-forme de référence pour la création de Services Web XML 3 – OBJECTIFS DE.NET

56 Dotnet56bisgambiglia@univ-corse.fr Conclusion le Framework.NET les Servers.NET (la nouvelle génération des Serveurs Microsoft qui vont donc succéder aux windows 2000 Server) Visual Studio.NET.NET Enterprise servers (logiciels comme Commerce Server, SQL Server, Content Management Server...), un ensemble d'infrastructures techniques nécessaires pour le développement et déploiement de solutions.NET 4 –.NET REPOSE SUR :

57 Dotnet57bisgambiglia@univ-corse.fr Conclusion supporte 27 langages de programmation (Perl, Python, Cobol, Haskell, ML, Jscript, Ada, APL, Eiffel, Pascal, Fortran, Managed Managed C++ C++, Visual Basic, C#, SmallTalk, Oberon, Scheme, Mercury, Oz, Objective Caml, J#, …) l’objet y est prépondérant possède un ensemble complet de classes de base (comparable à Java) orienté pour le développement d’applications Web basé sur des standards d’Internet : XML et SOAP pas de code natif : utilisation d’un langage intermédiaire le MSIL (MicroSoft Intermediate Language) l’exécution des programmes est contrôlée par la CLR (Common Language Runtime), comparable à JVM une architecture complète : le Framework.NET 5 – CARACTERISTIQUES DE.NET :

58 Dotnet58bisgambiglia@univ-corse.fr Conclusion Environnement d’exécution de.net Application et mémoire "managées" par la CLR Indépendant des syntaxes Le Framework.NET est un environnement distribué gratuitement, sur toutes les versions de Windows depuis Windows 95, dans le but de concurrencer son grand rival le JDK Java (Java Development Kit). machine virtuelle garbage collector bibliothèque de classes supporter plus de 27 langages de programmation 6 – LE FRAMEWORK.NET

59 Dotnet59bisgambiglia@univ-corse.fr Conclusion CLR (Common Language Runtime) Bibliothèque BCL (Base Class Library) C# (C Sharp) Visual Studio.NET (fusion de Visual Studio et de Visual InterDev) WinForms et WebForms ASP.NET ADO.NET Version embarquée de.NET 7 – L’ARCHITECTURE.NET

60 Dotnet60bisgambiglia@univ-corse.fr Conclusion ASP.Net pour le développement de sites Internet ou Intranet Windows Form pour le développement d'applications Windows traditionnelles.Net et Web Services XML pour le développement d'applications client/serveur ou peer-to-peer 8 – APPLICATIONS.NET

61 Dotnet61bisgambiglia@univ-corse.fr Conclusion Points forts Développement simplifié grâce au moteur CLR Structure multi langage et extensible / Intéropérabilité des langages Exécution multi plateformes Modèle de programmation simplifié et cohérent Une productivité comparable aux environnement Client/Serveur comme PowerBuilder ou Delphi Installation des Web Services automatisée Points faibles Problème de sécurité : pas approprié dans le cadre de développement Internet où l’utilisateur n’a pas forcément un compte Windows Nouvelle génération technologique : réécriture pour une grande partie de l’architecture DNA Limité à la plate-forme Windows : les applications développées pour la plate-forme.NET s’exécutent uniquement sur la plate-forme.NET. Il n'existe pas de plate-forme.NET opérationnelle sous forme de logiciels libres. Le modèle d’architecture distribué est basé sur COM+ (code non managé). Microsoft doit migré au plus vite vers l’environnement managé.NET Pas d’équivalent dans.NET des EJB Entity permettant d’assurer la persistance d’un objet distribué dans la base de données 9 – Bilan

62 Dotnet62bisgambiglia@univ-corse.fr Applications Suivre le tutorial : Suivre le tutorial : http://msdn.microsoft.com/fr- fr/asp.net/bb412335.aspx http://msdn.microsoft.com/fr- fr/asp.net/bb412335.aspx

63 Dotnet63bisgambiglia@univ-corse.fr Sites Internet DotNet : DotNet : http://www.3ie.fr/nouvelles_technologies/fiche/fic he_NET.htm http://www.3ie.fr/nouvelles_technologies/fiche/fic he_NET.htm http://www.3ie.fr/nouvelles_technologies/fiche/fic he_NET.htm http://www.3ie.fr/nouvelles_technologies/fiche/fic he_NET.htm http://www.gotdotnet.com http://www.gotdotnet.com http://www.dotnetguru.org http://www.dotnetguru.org http://www.dotnet-fr.org/ http://www.dotnet-fr.org/ http://msdn.microsoft.com/netframework/ http://msdn.microsoft.com/netframework/ http://msdn.microsoft.com/netframework/ http://www.microsoft.com/net/ http://www.microsoft.com/net/ http://msdn.microsoft.com/net/ http://msdn.microsoft.com/net/

64 Dotnet64bisgambiglia@univ-corse.fr Sites Internet Autres : Autres : http://www.bd.enst.fr/Cours/Applications/3tiers/i ndex.html http://www.bd.enst.fr/Cours/Applications/3tiers/i ndex.html http://www.bd.enst.fr/Cours/Applications/3tiers/i ndex.html http://www.bd.enst.fr/Cours/Applications/3tiers/i ndex.html http://www.go-mono.com/ http://www.go-mono.com/ http://www.southern-storm.com.au/ http://www.southern-storm.com.au/

65 Dotnet65bisgambiglia@univ-corse.fr Programmation Web Côté client Code récupéré depuis un serveur Web et exécuté dans le contexte d’un navigateur pour être exécuté sur le client Code récupéré depuis un serveur Web et exécuté dans le contexte d’un navigateur pour être exécuté sur le client Pourquoi du code côté client ? Pourquoi du code côté client ? Permet la répartition de la charge entre le client et le serveur Permet la répartition de la charge entre le client et le serveur Créer des IHM plus sophistiquées qu’en HTML Créer des IHM plus sophistiquées qu’en HTML Animations Animations Validation des données par l’utilisateur Validation des données par l’utilisateur Côté serveur Pourquoi du code côté serveur ? Accessibilité On peut accéder aux informations depuis n’importe quel browser, terminaux, n’importe quand, n’importe ou Administration Il n’est pas nécessaire de déployer le code applicatif Facilité pour faire évoluer le code Sécurité Le code n’est pas diffusé Uniquement les utilisateurs authentifié peuvent effectuer certaines actions Extensibilité Architecture 3 parties permettent la montée en charge Code côté client et code côté serveur

66 Dotnet66bisgambiglia@univ-corse.fr Programmation Web DHTML/JavaScript DHTML/JavaScript COM COM Contrôle ActiveX Contrôle ActiveX Composants COM Composants COM Remote Data Services (RDS) Remote Data Services (RDS) Java Java Plug-ins Plug-ins Helpers Helpers Remote Scripting Remote Scripting Technologies client

67 Dotnet67bisgambiglia@univ-corse.fr Programmation Web Encapsuler un script dans une page HTML Encapsuler un script dans une page HTML Généralement écrit en JavaScript (ECMAScript, JScript) pour des raisons de portabilité Généralement écrit en JavaScript (ECMAScript, JScript) pour des raisons de portabilité Internet Explorer supporte aussi VBScript et d’autres langages de script Internet Explorer supporte aussi VBScript et d’autres langages de script Mozilla est extensible par plug-in Mozilla est extensible par plug-in Chaque élément HTML devient un objet qui peut être associé à des événements (i.e. onClick ) Chaque élément HTML devient un objet qui peut être associé à des événements (i.e. onClick ) Les scripts fournissent du code qui sont exécuter lors de la production d’événement de la part du navigateur Les scripts fournissent du code qui sont exécuter lors de la production d’événement de la part du navigateur Dynamic HTML (DHTML)

68 Dotnet68bisgambiglia@univ-corse.fr Programmation Web Le DOM (Document Object Model) de DHTML Le DOM (Document Object Model) de DHTML window historydocumentlocationscreen alllocationchildrenselectionformsbodylinks textbuttonradiotextareaselect password file checkboxsubmit reset option navigatorframesevent DHTML

69 Dotnet69bisgambiglia@univ-corse.fr Programmation Web Based on COM Based on COM Native only to Internet Explorer Native only to Internet Explorer Supported in Netscape with a plug-in Supported in Netscape with a plug-in Good when you know your users (e.g. intranet) or can specify which browser to use Good when you know your users (e.g. intranet) or can specify which browser to use Small, efficient code Small, efficient code ActiveX

70 Dotnet70bisgambiglia@univ-corse.fr Programmation Web Basé sur du bytecode Java Basé sur du bytecode Java Portabilité garanti par les JVM : Portabilité garanti par les JVM : “Write once, run anywhere” “Write once, run anywhere” Sûr : le code s’exécute dans un “bac à sable” (sandbox) Sûr : le code s’exécute dans un “bac à sable” (sandbox) Compatibilité et performance permettent un usage intensif et une large diffusion Compatibilité et performance permettent un usage intensif et une large diffusion Java Applets

71 Dotnet71bisgambiglia@univ-corse.fr Programmation Web Common Gateway Interface (CGI) Common Gateway Interface (CGI) Internet Server API (ISAPI) Internet Server API (ISAPI) Netscape Server API (NSAPI) Netscape Server API (NSAPI) Active Server Pages (ASP) Active Server Pages (ASP) Java Server Pages (JSP) Java Server Pages (JSP) Personal Home Page (PHP) Personal Home Page (PHP) Cold Fusion (CFM) Cold Fusion (CFM) ASP.NET ASP.NET Technologies server

72 Dotnet72bisgambiglia@univ-corse.fr Programmation Web Technologie qui permet de créer aisément des applications cotés serveurs Technologie qui permet de créer aisément des applications cotés serveurs ASP pages sont écrites dans un langage de script, généralement VBScript ou JScript ASP pages sont écrites dans un langage de script, généralement VBScript ou JScript Une page ASP contient une séquence HTML statique dans laquelle est inclue le script exécuté par le serveur Une page ASP contient une séquence HTML statique dans laquelle est inclue le script exécuté par le serveur Les scripts ASP permettent l’accès et la modification de données (présentes dans des BD) Les scripts ASP permettent l’accès et la modification de données (présentes dans des BD) HTTP request (form data, HTTP header data) HTTP response HTML, XML ASP page (static HTML, server-side logic) Active Server Pages (ASP)


Télécharger ppt "Dotnet La plate forme.NET Master 1 informatique 2008 – 2009 P.-A. Bisgambiglia"

Présentations similaires


Annonces Google