La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Web Services Besnik SELJIMI, Novembre 2003 Master 2, Génie Informatique Option Systèmes Répartis et Réseaux.

Présentations similaires


Présentation au sujet: "Web Services Besnik SELJIMI, Novembre 2003 Master 2, Génie Informatique Option Systèmes Répartis et Réseaux."— Transcription de la présentation:

1 Web Services Besnik SELJIMI, Novembre 2003 Master 2, Génie Informatique Option Systèmes Répartis et Réseaux

2 Web Services Besnik SELJIMI, 2003 Plan Introduction Définition des Web Services Le protocole SOAP Le langage WSDL Le référentiel UDDI Programmation des Web Services Transactions et sécurité Conclusion & Questions

3 Que veut dire « Web Services » Pas de définition officielle Service offert sur le web Service offert aux personnes Service aux entreprises Web Services Besnik SELJIMI, 2003

4 Historique Fin 90 : « dot coms », B2B, B2C. Enormes sommes mises en jeu : Fin de la bulle spéculative de vente sur Internet. Mais, B2B a fait son chemin. Recyclage des technologies. Collaboration Microsoft, IBM, HP, Oracle, BEA : Consortium (B2B, B2C). Standard pour « Web Services ». Web Services Besnik SELJIMI, 2003

5 Plan Introduction Définition des Web Services Le protocole SOAP Le langage WSDL Le référentiel UDDI Programmation des Web Services Transactions et sécurité Conclusion & Questions Web Services Besnik SELJIMI, 2003

6 Définition des Web Services Echange dinformations entre applications via le Web Mise en place : Communication Protocole Echange dInformations Format Précis Description des services Publication et recherche des services W3C : Web Services Besnik SELJIMI, 2003

7 Format de données XML simpose Souplesse Simplicité Nimporte quelle information Largement utilisé dans les entreprises Outils nombreux, même gratuits Choix des consortiums : exemple configuration J2EE SOAP (Simple Object Access Protocol) Web Services Besnik SELJIMI, 2003

8 Protocole de communication Rien qui est imposé Mais HTTP recommandé Largement accepté Capacité de nombreux échanges Tolérance aux fautes Adapté pour les textes (XML) Intégration avec les firewall SMTP en option Web Services Besnik SELJIMI, 2003

9 Utilisation des Web Services 7: Réponse SOAP 5: Requête SOAP 1: Inscription 2: Recherche de service 3: Description WSDL 4: Construction requête 6: Traitement UDDI Web Services Besnik SELJIMI, 2003

10 Résumé : Web Services 1. Communication : SOAP/HTTP 2. Description : WSDL 3. Publication et Recherche : UDDI Web Services Besnik SELJIMI, 2003

11 Plan Introduction Définition des Web Services Le protocole SOAP Le langage WSDL Le référentiel UDDI Programmation des Web Services Transactions et sécurité Conclusion & Questions Web Services Besnik SELJIMI, 2003

12 XML Le protocole SOAP Réponse SOAP Requête SOAP Bus Web Services Web Services Besnik SELJIMI, 2003

13 Le protocole SOAP Format XML. Grammaire publique du W3C Enveloppe SOAP : élément racine Enveloppe SOAP En-tête facultatif Corps de message Web Services Besnik SELJIMI, 2003

14 Le protocole SOAP Web Services Besnik SELJIMI, 2003

15 Le protocole SOAP Lélément Fault faultcode : DataEncodingUnknown DTDNotSupported mustUnderstand Receiver Sender versionMismatch faultstring faultactor detail Web Services Besnik SELJIMI, 2003

16 Le protocole SOAP Web Services Besnik SELJIMI, 2003

17 Le protocole SOAP Les attachements : Données non textuelles Partie de message MIME Message MIME Message SOAP Contenu binaire Web Services Besnik SELJIMI, 2003

18 Le protocole SOAP Le champ SOAP Action En-tête HTTP Spécifie laction à faire : URI Web Services Besnik SELJIMI, 2003

19 Plan Introduction Définition des Web Services Le protocole SOAP Le langage WSDL Le référentiel UDDI Programmation des Web Services Transactions et sécurité Conclusion & Questions Web Services Besnik SELJIMI, 2003

20 Le langage WSDL Nécessité de décrire : Quel actions sont possibles Quel message envoyer Quel message recevoir WSDL (Web Services Description Language) Cest du XML Dernière version : 1.2 Web Services Besnik SELJIMI, 2003

21 Le langage WSDL Élément message requêtes et réponses Web Services Besnik SELJIMI, 2003

22 Le langage WSDL Élément portType Web Services Besnik SELJIMI, 2003

23 Le langage WSDL Élément binding Web Services Besnik SELJIMI, 2003

24 Le langage WSDL Élément service Web Services Besnik SELJIMI, 2003

25 Plan Introduction Définition des Web Services Le protocole SOAP Le langage WSDL Le référentiel UDDI Programmation des Web Services Transactions et sécurité Conclusion & Questions Web Services Besnik SELJIMI, 2003

26 Le référentiel UDDI UDDI (Universal Description, Discovery and Integration) Un Web Service Web Services Besnik SELJIMI, 2003

27 Le référentiel UDDI Caractéristiques Synchronisation entre serveurs Accès SOAP Recherche sur plusieurs critères Référentiels publics – connus davance Microsoft : SUN : xml/developers/uddi/http://wwws.sun.com/software/ xml/developers/uddi/... Mais, référentiels privés possibles Web Services Besnik SELJIMI, 2003

28 Le référentiel UDDI Web Services Besnik SELJIMI, 2003

29 Plan Introduction Définition des Web Services Le protocole SOAP Le langage WSDL Le référentiel UDDI Programmation des Web Services Transactions et sécurité Conclusion & Questions Web Services Besnik SELJIMI, 2003

30 Programmation des Web Services Deux modes de programmation RPC Paramètres Ordre sur lapparition des paramètres Type de retour Mécanisme dencodage / décodage des paramètres Document / Modèle message Transport de documents XML Coté Java JAX-RPC (Java API for XML RPC) JAXM (Java API for XML Messaging) Web Services Besnik SELJIMI, 2003

31 Programmation des Web Services LAPI JAX-RPC Informations nécéssaires Web Services Besnik SELJIMI, 2003 Nom du serviceBabelFishService Nom de lopérationBabelFish Nom du portBabelFishPortType URL du point daccèshttp://services.xmethods.net:80/perl/soaplite.cgi Namespacehttp://services.xmethods.net:80/perl/soaplite.cgi Paramètres dentréetranslationmode(String) : mode de traduction sourcedate(String) : texte à traduire Paramètres de sortieReturn(String) : résultat de la traduction

32 Programmation des Web Services LAPI JAX-RPC Création du service ServiceFactory factory = ServiceFactory.newInstance(); Service service = factory.createService(new QName(_service)); Création dun objet Call Call call = service.createCall(new QName(_port)); Préparation de la requête call.setTargetEndpointAddress(_endpoint); call.setOperationName(new QName(_namespace,_operation)); call.setProperty("javax.xml.rpc.encodingstyle.namespace.url«, NamespaceConstants.NSURI_SOAP_ENCODING); Web Services Besnik SELJIMI, 2003

33 Programmation des Web Services LAPI JAX-RPC Type de retour call.setReturnType(XMLType.XSD_STRING) Paramètres dentrée call.addParameter("translationtype", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("sourcedata", XMLType.XSD_STRING, ParameterMode.IN); String[] params = {"EnToFr", "Hello world !"} Invocation String traduction = (String) call.invoke(params); System.out.println(traduction); Web Services Besnik SELJIMI, 2003

34 Programmation des Web Services LAPI JAX-RPC Types complexes Sérialisation de classes java Web Services Besnik SELJIMI, 2003 Dupont Jacques Public class Personne { private String _nom; private String _prenom; public void setnom(String value){ _nom = value; } public String getnom(){ return _nom; } … }

35 Programmation des Web Services LAPI JAXM Mode document / message Transport de données XML Requête/réponse Oneway messaging Peut sutiliser en asynchrone Coté serveur Serveur web : exemple EJB, servlets Web Services Besnik SELJIMI, 2003

36 Plan Introduction Définition des Web Services Le protocole SOAP Le langage WSDL Le référentiel UDDI Programmation des Web Services Transactions et sécurité Conclusion & Questions Web Services Besnik SELJIMI, 2003

37 Etat initialEtat final Transactions B2B, B2C Cohérence et Sécurité aborted commit Web Services Besnik SELJIMI, 2003

38 Transactions ACID : Atomicité, Cohérence, Isolation et Durabilité Environnement reparti Prepare Ready Participant Coordinateur Participant Phase de concertation Ready Commit Ok Participant Coordinateur Participant Phase de validation Ok Web Services Besnik SELJIMI, 2003

39 Transactions Applications OTS (Object Transaction Service) : CORBA JTS (Java Transaction Service) : EJB MTS (Microsoft Transaction Service) : DCOM Les Web Services Blocage : Pas de verrouillage des données Services dispersés Temps de latence élevé Pas de confiance entre participants Web Services Besnik SELJIMI, 2003

40 Transactions BTP (Business Transaction Protocol) BEA, Consortium OASIS : Propriétés ACID non respectés Relâchement des verrous, compensation Un participant peut abandonner WS-Transaction BEA, IBM et Microsoft Basé sur WS-Coordination Web Services Besnik SELJIMI, 2003

41 Sécurité Utilisation de SSL / TLS pour le transport XML Signature Signature et certificat apparaissent dans le document XML Pas de gestion des droits daccès XKMS (XML Key Management System) Proposée par VeriSign Retenue par W3C Utilisation gratuite Web Services Besnik SELJIMI, 2003

42 Sécurité WS-Security Etendre le protocole SOAP Authentification, confidentialité, intégrité Jetons de sécurité Identité unique Microsoft Passport Centralisation, Monopole Le projet « Liberty Alliance » Open Source Système reparti Web Services Besnik SELJIMI, 2003

43 Plan Introduction Définition des Web Services Le protocole SOAP Le langage WSDL Le référentiel UDDI Programmation des Web Services Transactions et sécurité Conclusion & Questions Web Services Besnik SELJIMI, 2003

44 Conclusions Web Services Besnik SELJIMI, 2003

45 Quelques liens … Web Services Besnik SELJIMI, 2003

46 Questions ? Web Services Besnik SELJIMI, 2003


Télécharger ppt "Web Services Besnik SELJIMI, Novembre 2003 Master 2, Génie Informatique Option Systèmes Répartis et Réseaux."

Présentations similaires


Annonces Google