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

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

Embed Size (px)

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

  • Page 1
  • Web Services Besnik SELJIMI, Novembre 2003 Master 2, Gnie Informatique Option Systmes Rpartis et Rseaux
  • Page 2
  • Web Services Besnik SELJIMI, 2003 Plan Introduction Dfinition des Web Services Le protocole SOAP Le langage WSDL Le rfrentiel UDDI Programmation des Web Services Transactions et scurit Conclusion & Questions
  • Page 3
  • Que veut dire Web Services Pas de dfinition officielle Service offert sur le web Service offert aux personnes Service aux entreprises Web Services Besnik SELJIMI, 2003
  • Page 4
  • Historique Fin 90 : dot coms , B2B, B2C. Enormes sommes mises en jeu. 2000 : Fin de la bulle spculative de vente sur Internet. Mais, B2B a fait son chemin. Recyclage des technologies. Collaboration Microsoft, IBM, HP, Oracle, BEA. 2002 : Consortium (B2B, B2C). Standard pour Web Services . Web Services Besnik SELJIMI, 2003
  • Page 5
  • Plan Introduction Dfinition des Web Services Le protocole SOAP Le langage WSDL Le rfrentiel UDDI Programmation des Web Services Transactions et scurit Conclusion & Questions Web Services Besnik SELJIMI, 2003
  • Page 6
  • Dfinition des Web Services Echange dinformations entre applications via le Web Mise en place : Communication Protocole Echange dInformations Format Prcis Description des services Publication et recherche des services W3C : http://www.w3.org/2003/ws/ Web Services Besnik SELJIMI, 2003
  • Page 7
  • Format de donnes XML simpose Souplesse Simplicit Nimporte quelle information Largement utilis dans les entreprises Outils nombreux, mme gratuits Choix des consortiums : exemple configuration J2EE SOAP (Simple Object Access Protocol) Web Services Besnik SELJIMI, 2003
  • Page 8
  • Protocole de communication Rien qui est impos Mais HTTP recommand Largement accept Capacit de nombreux changes Tolrance aux fautes Adapt pour les textes (XML) Intgration avec les firewall SMTP en option Web Services Besnik SELJIMI, 2003
  • Page 9
  • Utilisation des Web Services 7: Rponse SOAP 5: Requte SOAP 1: Inscription 2: Recherche de service 3: Description WSDL 4: Construction requte 6: Traitement UDDI Web Services Besnik SELJIMI, 2003
  • Page 10
  • Rsum : Web Services 1. Communication : SOAP/HTTP 2. Description : WSDL 3. Publication et Recherche : UDDI Web Services Besnik SELJIMI, 2003
  • Page 11
  • Plan Introduction Dfinition des Web Services Le protocole SOAP Le langage WSDL Le rfrentiel UDDI Programmation des Web Services Transactions et scurit Conclusion & Questions Web Services Besnik SELJIMI, 2003
  • Page 12
  • XML Le protocole SOAP Rponse SOAP Requte SOAP Bus Web Services Web Services Besnik SELJIMI, 2003
  • Page 13
  • Le protocole SOAP Format XML. Grammaire publique du W3C Enveloppe SOAP : lment racine Enveloppe SOAP En-tte facultatif Corps de message Web Services Besnik SELJIMI, 2003
  • Page 14
  • Le protocole SOAP Web Services Besnik SELJIMI, 2003
  • Page 15
  • Le protocole SOAP Llment Fault faultcode : DataEncodingUnknown DTDNotSupported mustUnderstand Receiver Sender versionMismatch faultstring faultactor detail Web Services Besnik SELJIMI, 2003
  • Page 16
  • Le protocole SOAP Web Services Besnik SELJIMI, 2003
  • Page 17
  • Le protocole SOAP Les attachements : Donnes non textuelles Partie de message MIME Message MIME Message SOAP Contenu binaire Web Services Besnik SELJIMI, 2003
  • Page 18
  • Le protocole SOAP Le champ SOAP Action En-tte HTTP Spcifie laction faire : URI Web Services Besnik SELJIMI, 2003
  • Page 19
  • Plan Introduction Dfinition des Web Services Le protocole SOAP Le langage WSDL Le rfrentiel UDDI Programmation des Web Services Transactions et scurit Conclusion & Questions Web Services Besnik SELJIMI, 2003
  • Page 20
  • Le langage WSDL Ncessit de dcrire : Quel actions sont possibles Quel message envoyer Quel message recevoir WSDL (Web Services Description Language) Cest du XML Dernire version : 1.2 Web Services Besnik SELJIMI, 2003
  • Page 21
  • Le langage WSDL lment message requtes et rponses Web Services Besnik SELJIMI, 2003
  • Page 22
  • Le langage WSDL lment portType Web Services Besnik SELJIMI, 2003
  • Page 23
  • Le langage WSDL lment binding Web Services Besnik SELJIMI, 2003
  • Page 24
  • Le langage WSDL lment service Web Services Besnik SELJIMI, 2003
  • Page 25
  • Plan Introduction Dfinition des Web Services Le protocole SOAP Le langage WSDL Le rfrentiel UDDI Programmation des Web Services Transactions et scurit Conclusion & Questions Web Services Besnik SELJIMI, 2003
  • Page 26
  • Le rfrentiel UDDI UDDI (Universal Description, Discovery and Integration) Un Web Service Web Services Besnik SELJIMI, 2003
  • Page 27
  • Le rfrentiel UDDI Caractristiques Synchronisation entre serveurs Accs SOAP Recherche sur plusieurs critres Rfrentiels publics connus davance Microsoft : http://uddi.microsoft.comhttp://uddi.microsoft.com SUN : http://wwws.sun.com/software/ xml/developers/uddi/http://wwws.sun.com/software/ xml/developers/uddi/... Mais, rfrentiels privs possibles Web Services Besnik SELJIMI, 2003
  • Page 28
  • Le rfrentiel UDDI http://uddi.microsoft.com Web Services Besnik SELJIMI, 2003
  • Page 29
  • Plan Introduction Dfinition des Web Services Le protocole SOAP Le langage WSDL Le rfrentiel UDDI Programmation des Web Services Transactions et scurit Conclusion & Questions Web Services Besnik SELJIMI, 2003
  • Page 30
  • Programmation des Web Services Deux modes de programmation RPC Paramtres Ordre sur lapparition des paramtres Type de retour Mcanisme dencodage / dcodage des paramtres Document / Modle 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
  • Page 31
  • Programmation des Web Services LAPI JAX-RPC Informations ncssaires Web Services Besnik SELJIMI, 2003 Nom du serviceBabelFishService Nom de loprationBabelFish Nom du portBabelFishPortType URL du point daccshttp://services.xmethods.net:80/perl/soaplite.cgi Namespacehttp://services.xmethods.net:80/perl/soaplite.cgi Paramtres dentretranslationmode(String) : mode de traduction sourcedate(String) : texte traduire Paramtres de sortieReturn(String) : rsultat de la traduction
  • Page 32
  • Programmation des Web Services LAPI JAX-RPC Cration du service ServiceFactory factory = ServiceFactory.newInstance(); Service service = factory.createService(new QName(_service)); Cration dun objet Call Call call = service.createCall(new QName(_port)); Prparation de la requte 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
  • Page 33
  • Programmation des Web Services LAPI JAX-RPC Type de retour call.setReturnType(XMLType.XSD_STRING) Paramtres dentre 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
  • Page 34
  • Programmation des Web Services LAPI JAX-RPC Types complexes Srialisation 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; } }
  • Page 35
  • Programmation des Web Services LAPI JAXM Mode document / message Transport de donnes XML Requte/rponse Oneway messaging Peut sutiliser en asynchrone Cot serveur Serveur web : exemple EJB, servlets Web Services Besnik SELJIMI, 2003
  • Page 36
  • Plan Introduction Dfinition des Web Services Le protocole SOAP Le langage WSDL Le rfrentiel UDDI Programmation des Web Services Transactions et scurit Conclusion & Questions Web Services Besnik SELJIMI, 2003
  • Page 37
  • Etat initialEtat final Transactions B2B, B2C Cohrence et Scurit aborted commit Web Services Besnik SELJIMI, 2003
  • Page 38
  • Transactions ACID : Atomicit, Cohrence, 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
  • Page 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 donnes Services disperss Temps de latence lev Pas de confiance entre participants Web Services Besnik SELJIMI, 2003
  • Page 40
  • Transactions BTP (Business Transaction Protocol) BEA, Consortium OASIS : www.oasis-open.orgwww.oasis-open.org Proprits ACID non respects Relchement des verrous, compensation Un participant peut abandonner WS-Transaction BEA, IBM et Microsoft Bas sur WS-Coordination Web Services Besnik SELJIMI, 2003
  • Page 41
  • Scurit Utilisation de SSL / TLS pour le transport XML Signature Signature et certificat apparaissent dans le document XML Pas de gestion des droits daccs XKMS (XML Key Management System) Propose par VeriSign Retenue par W3C Utilisation gratuite Web Services Besnik SELJIMI, 2003
  • Page 42
  • Scurit WS-Security Etendre le protocole SOAP Authentification, confidentialit, intgrit Jetons de scurit Identit unique Microsoft Passport Centralisation, Monopole Le projet Liberty Alliance Open Source Systme reparti Web Services Besnik SELJIMI, 2003
  • Page 43
  • Plan Introduction Dfinition des Web Services Le protocole SOAP Le langage WSDL Le rfrentiel UDDI Programmation des Web Services Transactions et scurit Conclusion & Questions Web Services Besnik SELJIMI, 2003
  • Page 44
  • Conclusions Web Services Besnik SELJIMI, 2003
  • Page 45
  • Quelques liens http://www.w3c.org/2002/ws/ http://www.microsoft.com/webservices/ http://www.ibm.com/webservices/ Web Services Besnik SELJIMI, 2003
  • Page 46
  • Questions ? Web Services Besnik SELJIMI, 2003