Formation universitaire à .NET: Technologies relatives à .NET © Patrick Smacchia http://www.smacchia.com © Patrick Smacchia/Microsoft Research Cambridge 2004 Les supports (cours et lab) de cette.

Download Report

Transcript Formation universitaire à .NET: Technologies relatives à .NET © Patrick Smacchia http://www.smacchia.com © Patrick Smacchia/Microsoft Research Cambridge 2004 Les supports (cours et lab) de cette.

Formation universitaire à .NET:
Technologies relatives à .NET
© Patrick Smacchia
http://www.smacchia.com
© Patrick Smacchia/Microsoft Research Cambridge 2004
Les supports (cours et lab) de cette formation peuvent être utilisés gratuitement
dans le cadre de tout enseignement à but non lucratif.
Contacter moi avant toute utilisation non personnelle de ces supports : [email protected]
Plan
Winform
XML
ADO.NET
ASP.NET
Services web
COM+
.NET Remoting
Technologies relatives à .NET
2
Winform
Windows et les applications graphiques
 Comme le nom l’indique, les applications avec fenêtres
jouent un rôle prépondérant dans les systèmes
d’exploitation Windows.
 Microsoft a toujours tenu à ce que le développement
d’applications avec fenêtres sous ses systèmes
d’exploitation, soit à la fois simple et standard.
 Dans ce but, Microsoft distribue la plupart des
techniques qu’il utilise en interne pour développer ses
propres interfaces homme/machine.
 Ceci explique la cohérence dans le style des fenêtres qui
contribue grandement à la convivialité qui ressort de
l’utilisation des systèmes d’exploitation Windows.
Technologies relatives à .NET
3
Winform
Notion de messages Windows
 A chaque événement (mouvement de la souris, touche
clavier enfoncée ou relâchée etc), le système
d’exploitation Windows fabrique un message qu’il envoie
à l’application graphique concernée. Chaque message
contient :
 Un identifiant message qui indique le type d’événement (clic
droit souris, touche clavier enfoncée, etc).
 Des paramètres dont les types et le nombre varient en fonction
de l’entrée (position souris sur l’écran, code touche clavier etc).
 A chaque type d’événement correspond une procédure
de rappel (callback procedure).
 Pour une fenêtre donnée, le développeur a la possibilité
d’écrire, ou de réécrire, une procédure de rappel pour un
événement particulier (par exemple un clic gauche sur
un bouton).
Technologies relatives à .NET
4
Winform
Messages Windows et thread
 Dans les applications avec fenêtres, chaque fenêtre a un
thread et un seul qui attend la réception de messages
dans une file d’attente propre au thread.
 Lorsqu’un message arrive, le thread exécute la
procédure de rappel adéquate.
 Le code principal d’un tel thread est donc constitué d’une
boucle qui est exécutée à chaque réception d’un
message.
 Cette boucle contient entre autres, un gigantesque
switch (plusieurs centaines de cas) qui associe les
procédures de rappel (les callbacks) aux événements.
Technologies relatives à .NET
5
Winform
Winform et .NET
 La technologie Winform permet de développer des
applications graphiques avec .NET.
 Les associations évènements/procédure de rappel sont
très simples grâce aux notions de délégués et
d’évènements .NET (plus besoin de macros comme en
VC++).
 VS.NET propose un éditeur WYSIWYG convivial.
Néanmoins vous n’avez pas besoin de VS.NET pour
développer des applications graphiques, un simple
éditeur de texte suffit.
 La technologie GDI+ permet les tracés graphiques et
gère les formats d’images courants (jpg, gif, bmp, png).
Technologies relatives à .NET
6
Winform
L’espace de noms
System.Windows.Forms
 Cinq catégories de classes:
 Les formulaires: classes de base contenant les
comportements usuels d’un formulaire.
 Les contrôles: Eléments graphiques d’un formulaire
(bouton, boite d’édition…).
 Les composants: Permet de rajouter des
fonctionnalités à un formulaire (tooltip, menu, aide…).
 Les fenêtres de dialogues usuels: choix d’un fichier,
choix de fontes, choix de couleurs…
 Les classes d’aide au développement de formulaires:
des délégations, des énumérations…
Technologies relatives à .NET
7
Plan
Winform
XML
ADO.NET
ASP.NET
Services web
COM+
.NET Remoting
Technologies relatives à .NET
8
XML
Les enjeux d’XML
 La plupart des données sont dans des documents (html,
doc, pdf, ps…) : il n’est pas facile de les extraire.
 XML = Unification du monde des documents et des
données.
 Les atouts des documents XML:
 Ecrit avec du texte -> les données sont accessibles à partir de
toutes les plate-formes.
 Auto descriptifs -> il est facile d’y retrouver des données.
 Semi structuré -> l’organisation des données est très souple.
 Extensible -> on peut l’utiliser pour des données propriétaires.
Technologies relatives à .NET
9
XML
XML et .NET
 XML est omniprésent dans l’architecture .NET:
 Toute les données relatives aux configurations sont dans des
documents XML (sécurité, applications, remoting, VS.NET…).
 Des APIs standards existent pour manipuler des données
stockées dans des documents XML (espaces de nom
System.Xml, XPath 1.0, XSL…).
 Les services web utilisent XML à la fois pour l’échange de
données (SOAP) et pour se décrire (WSDL).
 Tout état d’un objet .NET est aisément sérialisables dans un
document XML.
 La classe d’ADO.NET DataSet, utilisée pour accéder aux données
des SGBD, supporte la conversion de et vers XML.
…
Technologies relatives à .NET
10
Plan
Winform
XML
ADO.NET
ASP.NET
Services web
COM+
.NET Remoting
Technologies relatives à .NET
11
ADO.NET
ADO.NET
 ADO.NET: technologie pour manipuler les
données des SGBD (SQL Server, Oracle, Acces…)
à partir d’application .NET.
 Les fournisseurs de données permettent de
s’interfacer avec la plupart des normes (ODBC,
OleDB, Oracle…).
 Permet de travailler à la fois en mode connecté
et déconnecté (préféré).
 ADO.NET n’est pas le successeur d’ADO (ActiveX
Data Object).
 Chez Microsoft, le futur des SGBD semble bien
fournit (Yukon, ObjectSpace).
Technologies relatives à .NET
12
ADO.NET
Schéma général
Classe DataSet
Classe DataTableCollection
Classe DataTable
Classe DataRowCollection
XML
Classe DataColumnCollection
Classe ConstraintCollection
Classe DataRelationCollection
Classe DataRelation
SGBD
Fournisseur de données .NET
Implémentation de l’interface IDbDataAdapter
Implémentation de l’interface IDbConnection
Implémentation de l’interface IDbCommand
Technologies relatives
à .NET
Implémentation des interfaces IDataReader
et IDataRecord
13
Plan
Winform
XML
ADO.NET
ASP.NET
Services web
COM+
.NET Remoting
Technologies relatives à .NET
14
ASP.NET
ASP.NET
 ASP.NET: technologie pour créer des
applications Web (Web Form) et des
services Web avec .NET.
 Une application web fabrique
dynamiquement des pages HTML à partir
de requêtes HTTP paramétrées.
 ASP.NET n’est pas le successeur d’ASP
(Active Server Page).
Technologies relatives à .NET
15
ASP.NET
Les atouts d’ASP.NET
 Performances : sous .NET les applications web ne sont
pas du code interprétées mais bel et bien des
assemblages compilés en CIL. De plus des services de
cache et de web farm sont accessibles. Grâce à la notion
de domaine d’application, plusieurs applications web
peuvent s’exécuter dans le même processus: partage de
ressource.
 Multi Langage: puisque les applications web sont des
assemblages, les développeurs peuvent utilisés n’importe
quels langages pour les coder.
 De nombreuses fonctionnalités sont offertes: accès à
toutes les classes de base du Framework, facilité de
déploiement (avec configuration dans des documents
XML), sécurité, traçage de l’utilisation, édition WYSIWYG
des webform, maintenance de l’état des contrôles…
 Les développeurs et les designers ne travaillent pas sur
les mêmes fichiers.
Technologies relatives à .NET
16
Plan
Winform
XML
ADO.NET
ASP.NET
Services web
COM+
.NET Remoting
Technologies relatives à .NET
17
Services Web
Service Web
 Un service web est une application qui est
accessible à partir d’internet.
 Un service web reçoit et renvoie des
informations grâce à l’échange de messages
SOAP (format XML).
 Un service web est complètement découplés de
ses clients. C’est à ces derniers de s’adapter au
contrat proposé par le service web pour l’utiliser.
Ce contrat est un document WSDL (format XML)
accessible lui aussi par internet.
 La technologie UDDI permet de retrouver un
service wedb selon différents critères. Elle définit
un annuaire de services web.
Technologies relatives à .NET
18
Services Web
Service Web et .NET
 Le point essentiel : les services web
n’utilisent que des technologies largement
supportées par toutes les plate forme
(HTML, SOAP/XML, WSDL/XML…) et sont
donc un moyen de faire des applications
distribuées avec des environnements
hétérogènes.
 Un atout majeur de .NET: la conception de
services web est aisée et bénéficie de tous
les atouts d’ASP.NET.
Technologies relatives à .NET
19
Services Web
WS-E et GXA
 IBM Microsoft et bien d’autres ont lancé
l’initiative GXA qui produit les spécification
WS-E qui sont des fonctionnalités pour les
services service Web. Par exemple:
 WS-Security (Authentification)
 WS-Transaction
 WS-Reliable Messaging (fiabilité)
 WS-Routing (routage des msgs SOAP)
…
Technologies relatives à .NET
20
Services Web
Notion de Fiefdom
 Un Fiefdom est une application autonome.
 Elle gère elle même ses données, et
l’authentification de ses clients.
 Elle est complètement découplée de ses
clients.
 Les clients sont déconnectés du Fiefdom.
 La notion de service web est idéale pour
implémenter des FiefDoms.
Technologies relatives à .NET
21
Plan
Winform
XML
ADO.NET
ASP.NET
Services web
COM+
.NET Remoting
Technologies relatives à .NET
22
COM+
COM+ (1/2)
 COM+ est le terme désignant les services
d’entreprise dans le monde des applications
destinées à être exécutées sous les systèmes
d’exploitation Microsoft.
 COM+ est donc la technologie Microsoft pour
construire des serveurs d’applications.
 Un service d’entreprise de COM+ est une
fonctionnalité évoluée qui peut être ajoutée à
une classe COM.
 Ces fonctionnalités sont axées autour du
développement d’applications distribuées.
Technologies relatives à .NET
23
COM+
COM+ (2/2)
 COM+ n’est pas une évolution de COM mais de MTS.
 COM+/MTS existe depuis 1998.
 COM+ est accessible à partir de .NET grâce à des
classes spéciales qui sont dans l’espace de nom
System.EnterpriseServices.
 Une classe .NET qui utilise un ou plusieurs services
d’entreprise COM+ est appelée composant servi
(serviced componant).
 Les informations concernant l’installation de composants
servis sur un OS windows sont centralisées dans une BD
appelée catalogue COM+.
Technologies relatives à .NET
24
COM+
Quelques services d’entreprise COM+
 La gestion de transactions distribuées ;
 le pooling d’objets ;
 l’activation effective d’un objet que
lorsqu’une méthode est appelée pour la
première fois (JITA);
 la gestion des appels asynchrones intermachines au moyen de files d’attente ;
 la passerelle avec des milieux
transactionnels non Microsoft ;
Technologies relatives à .NET
25
Plan
Winform
XML
ADO.NET
ASP.NET
Services web
COM+
.NET Remoting
Technologies relatives à .NET
26
.NET Remoting
.NET Remoting
 .NET Remoting est l’infrastructure de l’architecture .NET
qui permet à des objets situés dans des domaines
d’applications différents, de pouvoir se connaître et de
pouvoir communiquer entre eux. L'objet appelant est
nommé client, l'objet appelé est nommé serveur ou objet
serveur.
 Deux domaines d’applications différents peuvent se
trouver :
 dans un même processus ;
 dans deux processus différents sur la même machine ;
 dans deux processus différents sur deux machines différentes.
 .NET Remoting est le successeur de DCOM.
Technologies relatives à .NET
27
.NET Remoting
Les points clés
 Les canaux sont des objets renfermant le
protocole de communication sous-jacent (HTTP,
TCP ou propriétaire).
 Les formateurs sont des objets situés à
l’intérieur des canaux qui formatent les données
à transférer sur le réseau (XML, binaire
propriétaire).
 .NET Remoting permet soit au client soit au
serveur d’activer un objet.
 La durée de vie des objets est gérée par un
administrateur de baux (un objet est
automatiquement désactivé après un certain
temps sans utilisation).
Technologies relatives à .NET
28
.NET Remoting
.NET Remoting vs. Services web
 Les deux technologies permettent de distribuer une
application sur plusieurs machines. Elles diffèrent surtout
dans leur philosophie.
 Cross platform : les services web sont accessibles à
partir de n’importe quelle plateforme.
 Fonctionnalités/flexibilité : .NET Remoting présente plus
de fonctionnalités (interception, POO…) ce qui confère
plus de flexibilité dans la maintenance des classes .NET
Remoting.
 Sécurité : les services web présentent plus d’outils de
sécurité.
 Performances : les possibilités offertes par .NET
Remoting permettent d’obtenir de meilleures
performances, au prix d’efforts supplémentaires.
Technologies relatives à .NET
29
Question?
 Mots clés : Winform ; GDI+ ; Messages Windows ; formulaires ;
contrôles ; composants ; XML ; ADO.NET ; fournisseur de données ;
ASP.NET ; service web ; fiefdom (application autonome) ; COM+ ;
service d’entreprise ; serveur d’application ; composant servi ;
catalogue COM+ ; .NET REmoting ; canaux ; formateur
 Acronymes :
•
•
•
•
•
•
•
•
•
GDI+: Graphic Device Interface+
XML: eXtensible Makeup Language
SOAP: Simple Object Access Protocol
WSDL: Web Service Description Language
GXA: Global XML service Architecture
WS-E: Web Service Enhancement
COM : Component Object Model
DCOM : Distributed COM
MTS : Microsoft Transaction Server
Technologies relatives à .NET
30