Web Services. Introduction à l aide d un exemple. Urs Richle



Documents pareils
Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Introduction aux «Services Web»

Catalogue des Formations Techniques

Architectures web/bases de données

Programmation Web Avancée Introduction aux services Web

Module BD et sites WEB

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Systèmes d'informations historique et mutations

Business Process Execution Language

4. SERVICES WEB REST 46

Ingénieur Développement Nouvelles Technologies

Manuel d intégration API SOAP SMS ALLMYSMS.COM

ArcGIS 10.1 for Server

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Utilisation de Jakarta Tomcat

Les Services Web. Jean-Pierre BORG EFORT

--- SIDOMTECH (Auto-Entreprise) ---

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Notre Catalogue des Formations IT / 2015

Formation en Logiciels Libres. Fiche d inscription

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Transport de marchandises (messagerie nationale, express, affrètement) ; Domaine médical (gestion administrative, paie hospitalière).

Expert technique J2EE

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Développement des Systèmes d Information

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Hébergement de sites Web

les techniques d'extraction, les formulaires et intégration dans un site WEB

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Nos stages s'adressent à tous ceux qui ont besoin d'acquérir des bases, une mise à niveau ou un perfectionnement dans les thèmes suivants :

Urbanisme du Système d Information et EAI

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Ingénieur Généraliste Spécialité Informatique

JOnAS 5. Serveur d application d

Applications et Services WEB: Architecture REST

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Messagerie asynchrone et Services Web

L état de l ART. Évolution récente des technologies. Denis Szalkowski Formateur Consultant

Architectures Web Services RESTful

Plateforme PAYZEN. Définition de Web-services

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Administrateur Réseaux Expert informatique Développeur Java/J2EE Virtualisation VMWare, ESX EXPERIENCES PROFESSIONNELLES

Programmation Web. Madalina Croitoru IUT Montpellier

Authentification et contrôle d'accès dans les applications web

Jean-Philippe VIOLET Solutions Architect

Catalogue des formations

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Programmation Internet Cours 4

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

A. Architecture du serveur Tomcat 6

Cartographie du SI pour alimenter la CMDB

Diminuer les taches administratives, mieux gérer les objectifs, valoriser le travail, mettre à disposition un support de vente de qualité.

M F. Consultante Moe / Support. Finance de Marché

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Web Application Models

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Formation : WEbMaster

Atelier 1. Portails documentaires : BioLib et Cemadoc

Curriculum Vitae de Michel Casabianca

... Conseil. Exp er tise. I ngénierie. Formation

Ingénieur R&D en bio-informatique

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Compte Rendu d intégration d application

Marie-Christine Spengler

Le cadre des Web Services Partie 1 : Introduction

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Mercredi 15 Janvier 2014

Introduction aux. services web 2 / 2

Open Source Professional Training

Environnements de Développement

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

L art d ordonnancer. avec JobScheduler. François BAYART

CHEF DE PROJET - DÉVELOPPEUR EXPÉRIMENT É PHP - JAVA -.NET. 28 ans - 7 ans d'expérience

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

DotNet. Plan. Les outils de développement

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Open Source Job Scheduler. Installation(s)

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

Transcription:

Web Services Introduction à l aide d un exemple Urs Richle 7/12/2005

Problématique Requête Windows Mac Linux HTML XHTM CSS XML SVG XTM... ASP PHP Java Applet JSP Servlet... IIS Apache Tomcat... Data Oracle Data Access Data MySQL Data Postgre SQL Réponse

Problématique MySQL Apache Workstation Access IIS Tomcat Postgres SQL

Problématique: comment interagir? Service Provider Workstation ASP Server Server Data Oracle Service Provider Service Provider PHP Server Data MySQL Service Provider VB Data Servers Data Oracle JAVA Laptop Workstation Service Provider Server C++ Data Access Data Server PostgreSQL Service Provider Python Server BD-XML Data

Web Services Définition: «Web Services are software applications that can be discovered, described, and accessed based on XML and standard Web protocols over intranets, extranets, and the Internet.» Michael C. Daconta, Leo J. Obrst, Kevin T. Smith dans: THE SEMANTIC WEB, Wiley, Indianapolis, 2003 But: Permettre l interopérabilité entre des applications diverses.

Les 3 rôles d un Web Service UDDI Universal Description, Discovery and Integration WSDL Web Services Description Language Schéma adapté de: Web Services Conceptual Architecture (WSCA 1.0), IBM

Architecture du Web Service UDDI Registre Workstation ou serveur Application Client Requette Protocole Réponse Web Service Serveur WSDL

Architecture du Web Service UDDI (XML) Registre Workstation ou serveur Application Client SOAP Requette (XML) Réponse Web Service Serveur WSDL (XML) SOAP: Simple Object Access Protocol

Les différentes normes de base Annuaire / Publication basé sur XML Description des méthodes basé sur XML Échange basé sur XML Protocole de transfert Protocole de transport UDDI WSDL SOAP HTTP, SMTP, FTP, TCP/IP

UDDI les pages jaunes www.uddi.org http://www.xmethods.com/ http://uddi.microsoft.com/default.aspx http://www.bindingpoint.com

WSDL description des méthodes Une description exacte du Web Service par les méthodes avec les types de paramètres requises les réponses avec les types de paramètres renvoyés Basé sur XML 3 parties principales: description des messages description des types de données échangées description des conventions pour la procédure de l échange

SOAP les messages Protocole pour l échange des données Basé sur XML Utilise HTTP ou autre protocole (SMTP, FTP ) Combinaison la plus fréquente: HTTP TCP/IP Va être remplacé par le standard XML Protocol http://www.w3.org/2000/xp/group/

Web Serices tool-kits Java PHP Axis http://ws.apache.org/axis/ JDeveloper http://www.oracle.com/technology/software/products/jdev NuSOAP http://sourceforge.net/projects/nusoap/ ASP MS.Net (Visual Studio) http://www.microsoft.com/net/default.mspx

Exemple Tecfa MediaWiki-Web Service avec NuSOAP: http://tecfax.unige.ch/portails/mediawiki/extensions/webservice/ Browser / Interface Application PHP ASP JSP Servlet Application Visualisation Serveur ou PC HTTP SOAPclient SOAPrequête WSDL MediaWiki NuSOAP SOAPserveur Serveur Apache Extension Extraction des lines Client SOAPréponse La librairie PHP NuSOAP: http://sourceforge.net/projects/nusoap/

Tecfa MediaWiki-Web Service Le Web Service propose 3 méthodes (services): gettopicnames() Cette méthode retourne tous les topics existants dans la plateforme MediaWiki(articles, catégories, auteurs, images). Retourne un tableau: array(topictypename => array(array(name, url))) gettopiclinkage($term) Cette méthode retourne tous les différents liens pour un topic donné, et quelques informatins sur le topic lui-même. Retourne un tableau: array (name, type, numberoflinkstothistopic, URL, array with all links from this topic to other topics (each link is an array(name, type, url)) gettopicmap() Cette méthode retourne le contenu sémantique du MediaWiki en forme d un topic map. Il s agit d un fichier XML respectant la DTD du standard ISO 13250 TopicMaps Retourne un string: le fichier XTM

Le côté serveur du MediaWiki WS Le fichier «serveur» http://tecfax.unige.ch/portails/mediawiki/exten sions/webservice/index.php Le fichier WSDL http://tecfax.unige.ch/portails/mediawiki/exten sions/webservice/index.php?wsdl

Deux exemples de WS-Clients Serveur-Apache Cluster MediaWiki PHP Test. php XML SOAP PHP Extraction MySQL NuSOAP Java Application WSDL NuSOAP JAVA Test. class SOAP JRE

Exemples de Web Service-Clients WS-Client avec NuSOAP http://tecfax.unige.ch/portails/mediawiki/extensions/webservice_client/ WS-Client en Java Création des fichiers de base avec JDeveloper (Démo)

SOAP la requête <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd" xmlns:tns="urn:mediawikitopicmap_wsdl"> <SOAP-ENV:Body> <tns:gettopiclinkage xmlns:tns="urn:mediawikitopicmap_wsdl"> <term xsi:type="tns:term"> <term xsi:type="xsd:string">accueil</term> </term> </tns:gettopiclinkage> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

SOAP la réponse <?xml version="1.0" encoding="iso-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle. xmlns:tns="urn:mediawikitopicmap_wsdl"> <SOAP-ENV:Body> <ns1:gettopiclinkageresponse xmlns:ns1="urn:mediawikitopicmap_wsdl"> <return xsi:type="tns:topiclinkage"> <topicname xsi:type="xsd:string">accueil</topicname> <type xsi:type="xsd:string">articletopic</type> <numlinksto xsi:type="xsd:int">0</numlinksto> <url xsi:type="xsd:string">http://tecfax.unige.ch/portails/mediawiki/index.php/accu eil</url> <links xsi:type="soap-enc:array" SOAP- ENC:arrayType="tns:link[21]"> <item xsi:type="tns:link"> <name xsi:type="xsd:string">todolist</name> <type xsi:type="xsd:string">existingarticle</type> <url xsi:type="xsd:string">http://tecfax.unige.ch/portails/mediawiki/index.php /ToDoList</url> </item>

Évaluation Avantages Interopérabilité entre des systèmes d information divers Accès aux informations de manière dynamique Standards «open source» (pas de charges) Désavantages Multiplication de la masse d informations véhiculée Surcharge de traitements (facteur 25 pour les requêtes facteurs 500 pour les réponses) Sécurité encore discutable

Autres exemples (Démo) WS-Client en Java qui consomme le Web Service de ViaMichelin http://ws.viamichelin.com/wswebsite/gbr/jsp/hme/mahomepage.jsp WS-Client en PHP (NuSOAP) qui consomme un Web Service de http://www.xmethods.com traducteur anglais-bulgare: http://www.xmethods.com/ve2/viewlisting.po?key=uuid:093d2207-3ade-56a7-a171-8447c6f12d5f

Sources et informations Web Services spécifications: http://www.w3.org/2002/ws/ WSDL spécifications: http://www.w3.org/tr/wsdl UDDI spécifications: http://www.uddi.org/ SOAP: http://www.w3.org/tr/soap/ XML Protocol: http://www.w3.org/2000/xp/group/ Une introduction http://www-306.ibm.com/software/solutions/webservices/pdf/wsca.pdf Une brève description: http://en.wikipedia.org/wiki/web_service http://www.gotdotnet.com/team/xmlwebservices/gxa_overview.aspx MSDN Library: http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/webservbasics.asp Web Services avec NuSphere: http://www.nusphere.com/products/library/webservices_whitep_012502.pdf Exemple: Un exemple d un client avec NuSOAP: http://tecfax.unige.ch/portails/mediawiki/extensions/webservice_client/ Livres: Michael C. Daconta, Leo J. Obrst, Kevin T. Smith dans: THE SEMANTIC WEB, Wiley, Indianapolis, 2003

Pour tester (sur le serveur de Tecfa): Créer un nouveau «Favori réseau» Ouvrir «Favoris réseau» «Ajouter un Favoris réseau» Choisir «site web» donner l adresse suivante: http://tecfax.unige.ch/formcont/xml05/ NU: formcont MP: Retourner dans «Favoris réseau» Installer NuSOAP Créer un nouveau dossier avec votre nom Copier «Basic_WSClient» dans votre dossier Définir le WS-Client Ouvrir le fichier «proxy_ws_client.php» en local (attention: ne pas reprendre le fichier du serveur! Prendre le fichier sur: http://tecfax.unige.ch/portails/mediawiki/extensions/webservice_client/proxy_basicws_cl ient.phps ) Changer l adresse du fichier WSDL Changer le nom de la méthode et mettre des paramètres éventuels Ouvrir un browser et aller sur l adresse suivante: http://tecfax.unige.ch/formcont/xml05/ Choisir votre dossier et aller dans le dossier NuSOAP ouvrir le fichier de votre WS-Client - le résultat de votre Web Service-Client s affiche.