Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parThéophile Bellet Modifié depuis plus de 9 années
1
ESSI XML et.NET Alain Vizzini ESSI - Microsoft France http://www.essisharp.ht.st
2
Plan Qui suis-je ? ESSI# ? Qui suis-je ? ESSI# ? Microsoft.NET Framework Microsoft.NET Framework XML dans.NET XML dans.NET Conclusion Conclusion
3
Qui suis-je ? Alain VIZZINI ESSI 2 – groupe II1 Email : vizzini@essi.fr vizzini@essi.fr Student Consultant pour Microsoft France depuis décembre 2001
4
Qui suis-je ? Ma mission : Ma mission : « promouvoir les produits et technologies Microsoft » Ce que je veux faire : Ce que je veux faire : – Permettre à tout les ESSIens de connaître.NET, si possible de l’avoir pratiqué – Aider les ESSIens ayant des projets en.NET – Favoriser la communication Microsoft / ESSI
5
Qui suis-je ? Comment présenter.NET aux étudiants: Cours en amphi Cours en amphi TP TP Site web (ESSI#) Site web (ESSI#) Aide personnelle Aide personnelle Tout autre moyens … Tout autre moyens … http://www.essisharp.ht.st
6
ESSI# Créé en avril 2001 Créé en avril 2001 Pages composées de Pages composées de – Cours ou articles – TP ESSI revisités – News Orienté.NET & C# Orienté.NET & C#
7
ESSI# Tout est fait par mes soins Tout est fait par mes soins Si vous cherchez du matériel et qu’il n’y est pas, faites le moi savoir … Email : vizzini@essi.fr Si vous cherchez du matériel et qu’il n’y est pas, faites le moi savoir … Email : vizzini@essi.frvizzini@essi.fr Domaines couverts aujourd’hui : C# vs. Java, XML, ASP.NET, ADO.NET, WebServices,.NET Remoting Domaines couverts aujourd’hui : C# vs. Java, XML, ASP.NET, ADO.NET, WebServices,.NET Remoting
8
Plan Qui suis-je ? ESSI# ? Qui suis-je ? ESSI# ? Microsoft.NET Framework Microsoft.NET Framework XML dans.NET XML dans.NET Conclusion Conclusion
9
Microsoft.NET Framework Qui connaît.NET dans la salle ?
10
Microsoft.NET Framework Version 1 depuis début 2002 (actuellement SP2) Version 1 depuis début 2002 (actuellement SP2) Nécessite WindowsXP ou 2000 SP2 ou NT4 SP6 Nécessite WindowsXP ou 2000 SP2 ou NT4 SP6 Existe en version SDK (pour développer) et en version runtime (pour utiliser des soft.NET) Existe en version SDK (pour développer) et en version runtime (pour utiliser des soft.NET) 100% G R A T U I T !!!!!! 100% G R A T U I T !!!!!!
11
Microsoft.NET Framework Par analogie à l’architecture Java. PS : pardonnez moi pour la vulgarisation
12
Microsoft.NET Framework De quoi est composé le.NET Framework : Outils (compilateurs, désassembleurs, générateurs de proxies, …) Outils (compilateurs, désassembleurs, générateurs de proxies, …) Documentation Documentation Exemples (beaucoup !) Exemples (beaucoup !) Des classes regroupées en namespaces Des classes regroupées en namespaces
13
Microsoft.NET Framework Pôles de talent de.NET: Bases de données : ADO.NET Bases de données : ADO.NET GUI : WinForms GUI : WinForms Web : WebForms, ASP.NET, WebServices Web : WebForms, ASP.NET, WebServices Cryptographie : RSA, AES (Rijndael), DES, SHA, MD5, … Cryptographie : RSA, AES (Rijndael), DES, SHA, MD5, … Utilisation facilitée des API Windows Utilisation facilitée des API Windows Garbage collection Garbage collection Framework TRES étendu ! Framework TRES étendu !
14
Microsoft.NET Framework Notions de C# // fichier HelloWorld.cs using System; public class HelloCSharp{ public static void Main (String [] args){ Console.WriteLine (« Salut »); } import using import using Classe HelloCSharp dans HelloWorld.cs : pas de problème Classe HelloCSharp dans HelloWorld.cs : pas de problème Point d’entrée main Main Point d’entrée main Main System.out.println() Console.WriteLine() System.out.println() Console.WriteLine() String String ou string String String ou string
15
Microsoft.NET Framework Développer avec.NET Solution 1 : Emacs + outils en ligne de commande (inclus dans.NET) Solution 2 : Visual Studio.NET Payant … …mais disponible à la BU !
16
Bilan de la première partie Vous savez que vous avez possibilité de chercher des infos sur ESSI# http://www.essisharp.ht.st Vous savez que vous avez possibilité de chercher des infos sur ESSI# http://www.essisharp.ht.st http://www.essisharp.ht.st Vous avez mon mail : vizzini@essi.fr Vous avez mon mail : vizzini@essi.frvizzini@essi.fr Vous savez ce qu’est.NET Vous savez ce qu’est.NET Vous savez à quoi ressemble du C# Vous savez à quoi ressemble du C#
17
Plan Qui suis-je ? ESSI# ? Qui suis-je ? ESSI# ? Microsoft.NET Framework Microsoft.NET Framework XML dans.NET XML dans.NET Conclusion Conclusion
18
XML dans.NET De l’utilité de XML De l’utilité de XML Validation XSD Validation XSD XPath XPath Sérialisation XML Sérialisation XML WebServices WebServices
19
XML dans.NET De l’utilité de XML Formatage de données facile à utiliser, indépendant de la machine Formatage de données facile à utiliser, indépendant de la machine Peut être produit par un humain Peut être produit par un humain Exemple : Exemple : – Fichiers de configurations (structure stricte mais évolutive et validable)
20
XML dans.NET XML et XSD Validation XMLinstance XSDPlan/schéma Conformité Oui / non
21
XML dans.NET XML et XSD XSDSchéma XMLinstance
22
Namespace System.Xml.Schema Namespace System.Xml.Schema Classe XmlValidatingReader Classe XmlValidatingReader Idée Idée – Lire un ou plusieurs schémas XSD – Parser un flux XML est signaler les erreurs par rapport aux schémas Disponible sur ESSI# http://www.essisharp.ht.sthttp://www.essisharp.ht.st Cours OutilGL 1 http://www.essisharp.ht.st
23
XML dans.NET XPath Recherche dans l’arbre DOM (Document Object Model) Recherche dans l’arbre DOM (Document Object Model) Concept proche d’un SQL basic (requête de sélection exprimée dans un langage pas trop informatisé) Concept proche d’un SQL basic (requête de sélection exprimée dans un langage pas trop informatisé) Utilisé dans.NET pour XSLT notamment Utilisé dans.NET pour XSLT notamment
24
XML dans.NET XPath Requête simple child::Plat[@vegetarien=‘oui’] retourne tout les éléments de type Plat enfants de la racine, avec l’attribut vegetarien valant oui Royale Marguerite Chèvre LaCarte Plat<Pizza,non> Plat<Pizza,oui> Plat<Pizza,oui> Plat<Quiche,non>
25
XML dans.NET XPath Programme pour tester
26
XML dans.NET XPath Namespace System.Xml Namespace System.Xml Exemple Exemple XmlDocument doc = new XmlDocument(unFichier); XmlNodeList nodeCollection = doc.DocumentElement.SelectNodes (requete); foreach (XmlNode n in nodeCollection) lb.Items.Add (n); Disponible sur ESSI# http://www.essisharp.ht.st http://www.essisharp.ht.st Cours 4 : XML & WebServices
27
XML dans.NET Sérialisation XML Alternative à la sérialisation binaire (native) Alternative à la sérialisation binaire (native) Utilise un protocole définis en XML et nommé SOAP ( Simple Object Access Protocol ) Utilise un protocole définis en XML et nommé SOAP ( Simple Object Access Protocol ) SOAP permet de sauver (et de relire !) des objets complexes en XML SOAP permet de sauver (et de relire !) des objets complexes en XML SOAP est indépendant du langage utilisé (il suffit d’avoir un toolkit permettant de l’utiliser) SOAP est indépendant du langage utilisé (il suffit d’avoir un toolkit permettant de l’utiliser) Utilisable dans les cas où les flux binaires sont interdits (firewalls, net, …) Utilisable dans les cas où les flux binaires sont interdits (firewalls, net, …)
28
XML dans.NET Sérialisation XML Sérialiser des objets en SOAP en 3 lignes de C# Sérialiser des objets en SOAP en 3 lignes de C# ICollection objCollec; … SoapFormatter ser = new SoapFormatter(); FileStream fout = new FileStream(…); ser.Serialize(fout, objCollec); NB : SOAP est du XML, et un document XML ne contient qu’un seul élément racine… qui est souvent une collection !
29
XML dans.NET Sérialisation XML Namespace System.Runtime.Serialization.Formatters.Soap Namespace System.Runtime.Serialization.Formatters.Soap Exemple disponible sur ESSI# http://www.essisharp.ht.st cours XML & WebServices (SOAP) Exemple disponible sur ESSI# http://www.essisharp.ht.st cours XML & WebServices (SOAP) http://www.essisharp.ht.st
30
XML dans.NET WebServices WebService ? Kesako ? WebService ? Kesako ? – Principe : invocation de méthodes d’objets distant en mode faiblement connecté Fonctionnement Fonctionnement – Utilisation : envoi d’une requête au format SOAP (XML) par HTTP qui précise la méthode appelée et les paramètres fournis (idem pour l’envoi du résultat) – Découverte : chaque WebService expose ce qu’il sait faire dans un contrat WSDL (XML) Les WebServices sont UNIVERSELS Les WebServices sont UNIVERSELS
31
XML dans.NET WebServices Universalité : permettre à des programmes Universalité : permettre à des programmes – sur des machines distantes – écrits dans les langages étherogenes – sur des plateformes différentes … de communiquer de manière transparente. … de communiquer de manière transparente. Solution SOAP ( Simple Object Access Protocol ) : converser en XML, avec un format bien défini et bien pensé. Solution SOAP ( Simple Object Access Protocol ) : converser en XML, avec un format bien défini et bien pensé.
32
XML dans.NET WebServices Client WebService 1. Générer un proxy WSDL 1.1 1.2 2. Consommer … R = Ws.DoIt(…); … WSDL Proxy SOAP XML 2.1 2.2 C#,Java, C, … C#,Java,
33
Facilité de réalisation côté Serveur [WebMethod] public String compose (String s, int i) {…} …et un peu de glue et de clicodrome pour la mise en place. Facilité de réalisation côté Serveur [WebMethod] public String compose (String s, int i) {…} …et un peu de glue et de clicodrome pour la mise en place. Facilité d’utilisation côté Client wsdl.exe http://monwebservice?WSDL /language:CS génère la classe proxy. Il n’y a plus qu’à l’instancier et l’utiliser. Facilité d’utilisation côté Client wsdl.exe http://monwebservice?WSDL /language:CS génère la classe proxy. Il n’y a plus qu’à l’instancier et l’utiliser.http://monwebservice?WSDL XML dans.NET WebServices
34
Bilan sur les WebServices Bilan sur les WebServices – Universels – Reposent sur XML (WSDL et SOAP) – Permettent d’utiliser des objets services distribués de manière souple et indépendante des implémentations – Résolvent des problèmes de déploiement – Soutenus par Microsoft, IBM, … – Faciles à utiliser avec.NET Cours + TP sur XML & WebServices http://www.essisharp.ht.st Cours XML & WebServices Cours + TP sur XML & WebServices http://www.essisharp.ht.st Cours XML & WebServices http://www.essisharp.ht.st
35
Plan Qui suis-je ? ESSI# ? Qui suis-je ? ESSI# ? Microsoft.NET Framework Microsoft.NET Framework XML dans.NET XML dans.NET Conclusion Conclusion
36
Questions
37
N’oubliez pas de visiter le site : http://www.essisharp.ht.st
38
Chez Microsoft Press www.microsoft.com/mspress MICROSOFT.NET FRAMEWORK C# : 2-84082-864-2 ASP.NET : 2-84082-865-0 2-10006-378-2 2-10006-520-3
39
Au final … Merci de votre attention. Merci à M. FRANCHI.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.