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

Slides:



Advertisements
Présentations similaires
Pierre Lagarde Relation technique développeur Grégory Renard [Rédo] Responsable Développement Wygwam.
Advertisements

CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Cours 5 : XML et les architectures N-tier Janvier Version 1.0 -
Agenda de la journée 10h00 : La place dASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide dapplications Web en ASP.NET 12h00 : Construire.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Automatisation de Tâches Scenarios
Rencontres Windows Forms
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Introduction aux fonctions de gestion de contenu Web dans Microsoft Office SharePoint Server 2007.
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Le développement d’applications sous Lotus Notes
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
TP 3-4 BD21.
16/10/10 Préparé par: Ing. Rodrigue Osirus (+509) , *** Site web dynamique.
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
XML-Family Web Services Description Language W.S.D.L.
« Les Mercredis du développement » Retour dexpérience / Framework de dév. Présenté par Grégory Renard [Rédo] Responsable Développement.
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Applications Chapitre B17 et C18
Développement Rapide dApplications Web avec.NET « Mon premier site »
Programmation Approche composants Ing5 SI
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
.Net Remoting.
Les relations clients - serveurs
Gestion des bases de données
Services fournis par le SI et technologies associées
WINDOWS Les Versions Serveurs
Atelier « Créations de sites » : Les techniques de réalisation de sites EPN :...
Microsoft .NET.
Clients riches RIA (Rich Internet Application) / RDA
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Cette session est destinée UNIQUEMENT aux personnes ne connaissant pas du tout.NET On ne traitera que de.NET 2.0 et pas des ajouts apportés par.NET 3.0.
Agenda de la journée 10h00 : La place d’ASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide d’applications Web en ASP.NET 12h00 : Construire.
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
Technologies Web Microsoft
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
.NET Plateforme, framework, produits Bernard Fedotoff (Pdg) Stéphane Vancauwenberghe (Consultant)
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
PHP & MySQL Master1 ICD Claire Jacquot Emilie Hot le 24/10/2006.
Introduction à la plateforme .NET
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Dyalog.Net Peter Donnelly Managing Director Dyadic Systems Toronto 30/10/2002.
Séminaire (6-12 Février 2007) Promo. M2 ESCE-Tunis 2006/07
S'initier au HTML et aux feuilles de style CSS Cours 5.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
Les différents modèles d’architecture technique
S'initier au HTML et aux feuilles de style CSS Cours 5.
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Introduction aux technologies des web services en Java EE
La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
9 février 2010 Enrique Ruiz Mateos Architecte avant-vente Microsoft
Sextant RFS Consultants – Octobre Sextant Le logiciel d’assistance administrative indispensable à toute structure de plus d’une personne. Le premier.
Transcription de la présentation:

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

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

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é

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

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

Sommaire Les modules Les formulaires Windows Les formulaires Web L’accès aux données (ADO.NET) Les langages Net et Linux ASP.NET Fonctionnement Démonstration Sites Internet

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

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

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)

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

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

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

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

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,...)

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

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

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

Le framework : Architecture Le framework

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

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

CLR : Fonctionnement Le framework : Architecture Source Code C++, C#, VB or any.NET language csc.exe or vbc.exe Compilateur Assembly DLL or EXE

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

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

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

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

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

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

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

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

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

Interopérabilité Interopérabilité des langages, grâce au langage intermédiaire (IL) Interopérabilité avec COM Interopérabilité avec Win32 Le framework : Architecture

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 ECMA TR/84, related to Standard ECMA-335 Le framework : Architecture

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

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.)

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

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

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

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

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

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#

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

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 ?

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

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.

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)

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

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

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

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

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

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

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

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 ?

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

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

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 :

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 :

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

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

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

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

Applications Suivre le tutorial : Suivre le tutorial : fr/asp.net/bb aspx fr/asp.net/bb aspx

Sites Internet DotNet : DotNet : he_NET.htm he_NET.htm he_NET.htm he_NET.htm

Sites Internet Autres : Autres : ndex.html ndex.html ndex.html ndex.html

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

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

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)

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

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

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

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

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)