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 ReportTranscript 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