Title: Une introduction
1Une introduction à .Net
- Michel RIVEILL
- riveill_at_unice.fr - http//www.essi.fr/riveill
- Laboratoire I3S
- Ecole dIngénieur en Sciences Informatiques (ESSI)
2Programmer le WebCode côté client et code côté
serveur
- Côté client
- Code récupéré depuis un serveur Web et exécuté
dans le contexte dun navigateur pour être
exécuté sur le client - Pourquoi du code côté client ?
- Permet la répartition de la charge entre le
client et le serveur - Créer des IHM plus sophistiquées quen HTML
- Animations
- Validation des données par lutilisateur
- Côté serveur
- Pourquoi du code côté serveur ?
- Accessibilité
- On peut accéder aux informations depuis nimporte
quel browser, terminaux, nimporte quand,
nimporte ou - Administration
- Il nest pas nécessaire de déployer le code
applicatif - Facilité pour faire évoluer le code
- Sécurité
- Le code nest pas diffusé
- Uniquement les utilisateurs authentifié peuvent
effectuer certaines actions - Extensibilité
- Architecture 3 parties permettent la montée en
charge
3Programmer le WebTechnologies client
- DHTML/JavaScript
- COM
- Contrôle ActiveX
- Composants COM
- Remote Data Services (RDS)
- Java
- Plug-ins
- Helpers
- Remote Scripting
4Programmer le WebDynamic HTML (DHTML)
- Encapsuler un script dans une page HTML
- Généralement écrit en JavaScript (ECMAScript,
JScript) pour des raisons de portabilité - Internet Explorer supporte aussi VBScript et
dautres langages de script - Mozilla est extensible par plug-in
- 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
5Programmer le WebDHTML
- Le DOM (Document Object Model) de DHTML
window
history
document
location
screen
navigator
frames
event
all
location
children
selection
forms
body
links
text
button
radio
textarea
select
password
checkbox
submit
option
file
reset
6Programmer le WebActiveX
- Based on COM
- Native only to Internet Explorer
- Supported in Netscape with a plug-in
- Good when you know your users (e.g. intranet) or
can specify which browser to use - Small, efficient code
7Programmer le WebJava Applets
- Basé sur du bytecode Java
- Portabilité garanti par les JVM
- Write once, run anywhere
- Sûr le code sexécute dans un bac à sable
(sandbox) - Compatibilité et performance permettent un usage
intensif et une large diffusion
8Programmer le WebTechnologies server
- Common Gateway Interface (CGI)
- Internet Server API (ISAPI)
- Netscape Server API (NSAPI)
- Active Server Pages (ASP)
- Java Server Pages (JSP)
- Personal Home Page (PHP)
- Cold Fusion (CFM)
- ASP.NET
9Programmer le Web Active Server Pages (ASP)
- Technologie qui permet de créer aisement des
applications cotés serveurs - 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 - Les scripts ASP permettent laccès et la
modification de données (présentes dans des BD)
HTTP request (form data, HTTP header data)
HTTP responseHTML, XML
ASP page (static HTML, server-side logic)
10Un survol de .Net
11.NET
- Introduction
- Services Web
- Le framework
- Le C.L.R (Common Language Runtime)
- Les formulaires Windows
- Les formulaires Web
- Laccès aux données (ADO.NET)
- Les langages
12.NETCest quoi
- Une vision (celle de Bill Co) 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 Web standards
- Une plate-forme qui supporte cette vision
- .NET Framework 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 dapplications
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 dapplications
13La plate-forme .NET
Protocoles HTTP,HTML, XML, SOAP, UDDI
Outils Visual Studio.NET,Notepad
14Services WebUne évolution du Web
- Des composants applicatifs accessibles à partir
des standards du Web - Le coeur de larchitecture .NET
- Offrir des services à laide du Web
- Construit avec les standards actuels
- HTTP, XML, SOAP, UDDI, WSDL,
15Le 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
VB
C
C
JScript
Common Language Specification
ASP.NET Web Services and Web Forms
WindowsForms
Visual Studio.NET
ADO.NET Data and XML
.NET Framework Base Classes
Common Language Runtime
16Le framework .NETLes classes du framework
17Common Language RuntimeButs
- Developpement de services
- Permettre une interopérabilité entre les langages
- Augmenter la productivité (chacun écrit dans le
langage quil maîtrise, le plus adapté, ) - Services déploiement
- Simple, sûr
- Gestion des versions NO MORE DLL HELL
- Services à lexécution
- Performance
- Extensibilité
- Sûreté et disponibilité
- Sécurité
18Common Language RuntimeCompilation
Compilateur
csc.exe or vbc.exe
19Common Language RuntimeAssemblies
- Assembly
- Unité logique de déploiement
- Contient Manifest, Metadata, MSIL and ressources
- Manifest
- Metadata à propos des composants présent dans un
assembly (version, types, dépendences, etc.) - Type Metadata
- Définition complète de tous les types présent
dans lassembly 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
20Common Language RuntimeModèle dexécution
Source code
VB
C
C
Compiler
Compiler
Compiler
Assembly
Assembly
Assembly
MSIL
Common Language Runtime JIT Compiler
CLR
Native code
Managed Code
Managed Code
Managed Code
Unmanaged Code
CLR Services
Operating System Services
21Common Language RuntimeServices
- 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.)
22Languages C
- Nouveau langage créé pour .NET
- Evolution de C (comme Java)
- Concepts clés
- Composants orientés
- Tout est objet
- Soumis à lECMA pour standardisation
- Utilise les classes du framework .NET
23Des informations complémentaires ?
- HTTP
- http//msdn.microsoft.com/library/periodic/period9
6/protocol.htm - HTTP Essentials, Stephen Thomas, 2001, Wiley,
ISBN 0471-39823-3 - Cookies
- http//msdn.microsoft.com/library/default.asp?URL
/library/partbook/instantj/cookies.htm - MIME
- http//www.ufaq.org/navcom/mime_tutorial.html
- http//www.irvine.com/mime/
- Networks
- http//msdn.microsoft.com/library/periodic/period9
9/ntp99b3.htm
24Des informations complémentaires ?
- XML
- http//msdn.microsoft.com/xml/default.asp
- http//www.w3.org/XML/
- Essential XML, Don Box, Aaron Skonnard, John Lam,
Addison Wesley, 2000, ISBN 0-201-70914-7 - .NET
- http//www.microsoft.com/net/
- http//msdn.microsoft.com/net/
- http//www.gotdotnet.com
- msnews.microsoft.com news server
- microsoft.public.dotnet.general newsgroup