WEB SERVICES


 Tébourbi Riadh SUP’COM, 2006, Riadh.Tebourbi@supcom.rnu.tn
 http://www.supcom.mincom.tn/~tebourbi/index3.h...
Généralités
2



        3 générations d’applications Web

        1 ° Génération
    
            Pages Web statiques (H...
Web Services : définition
3




    Les Web Services : ensemble de protocoles qui permettent de :

     Faire communiquer...
Fonctionnement
4


    Les services web permettent l'appel d'une méthode d'un objet distant en utilisant un
    protocole ...
Technologies utilisées
5




    Les services web utilisent trois technologies :

    SOAP (Simple Object Access Protocol)...
SOAP: Simple Object Access Protocol
6




    SOAP: une norme de communication qui standardise l'échange de messages en ut...
SOAP: structure
7


SOAP définit la structure principale du message, dite « enveloppe » qui contient deux
parties :
en têt...
WSDL: Web Services Description Language
8




    WSDL : une norme qui utilise XML pour décrire des services web

    Obje...
Exemple
9




     Deux web méthodes sur le serveur:


    <WebMethod()> _
     Public Function HelloWorld() As String
   ...
Fichier WSDL
10
     - <wsdl:types>
     - <s:schema elementFormDefault=quot;qualifiedquot; targetNamespace=quot;http://te...
Requête SOAP
11




     <soapenv:Envelope xmlns:soapenv=quot;http://schemas.xmlsoap.org/soap/envelope/quot;
     xmlns:te...
Réponse SOAP
12




     <soap:Envelope xmlns:soap=quot;http://schemas.xmlsoap.org/soap/envelope/quot;
     xmlns:xsd=quot...
Exemple de Service Web
13




 Client mobile, web, etc                                      Serveur
                      ...
Outils
14


La Plate-forme .NET (période 2)

                        La bibliothèque de classes de base
                 D...
Outils
15


     JWSDP
     Java Web Services Developer Pack (JWSDP) : un ensemble d'outils et d'API qui permet
     de fa...
Web Services avec JAVA
16


 1) Installation des outils:


     Ingrédients:

     JDK: jdk-1_5_0_07-windows-i586-p.exe

 ...
Web Services avec JAVA
17


 2) Configurations:

     Pour tomcat: JAVA_HOME set to C:Program FilesJavajdk1.5.0_07)

     ...
Web Services avec JAVA
18


 3) Premier Web Service: une web méthode qui retourne la somme de deux entiers

      - File ...
Web Services avec JAVA
19


 4) Ajout du web service




                              Web Services, Riadh Tébourbi, 2006
Web Services avec JAVA
20


 5) Création de la web méthode: « somme »




                                            Web ...
Web Services avec JAVA
21


 5) Déployer le web service

     Démarrer Tomcat: Program files  sun microsystems java web ...
Tester le Web Service
22


     Soap UI: permet de tester les web méthodes d’un web service sans a
     voir à développer ...
Créer un web client JAVA
 23


  1) Création de l’application java cliente
      - Sur Netbeans: file  new project  géné...
Créer un web client JAVA
24


 2) Appel de la web méthode « somme »
       Dans une méthode (main par exemple) clic droit ...
Allez plus loin
25


     Une web méthode qui retourne une instance d’une classe: contient plusieurs attributs.
     Avant...
26



     Ajout d’une web méthode qui renvoie une instance de la classe testclass



     @WebMethod(operationName=quot;a...
27


     Coté client: appel de la web méthode:
       public void callTestclass() {
            try { // Call Web Service...
Prochain SlideShare
Chargement dans…5
×

Ter Web Service Intro

3 444 vues

Publié le

Intro aux web services

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
3 444
Sur SlideShare
0
Issues des intégrations
0
Intégrations
99
Actions
Partages
0
Téléchargements
193
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Ter Web Service Intro

  1. 1. WEB SERVICES Tébourbi Riadh SUP’COM, 2006, Riadh.Tebourbi@supcom.rnu.tn http://www.supcom.mincom.tn/~tebourbi/index3.htm
  2. 2. Généralités 2 3 générations d’applications Web 1 ° Génération  Pages Web statiques (HTML)  2 ° Génération  Des applications réelles  (Pages Web dynamiques, ASP, JSP, PHP, ...) 3 ° Génération  Les Web services (basé sur XML)  Web Services, Riadh Tébourbi, 2006
  3. 3. Web Services : définition 3 Les Web Services : ensemble de protocoles qui permettent de :  Faire communiquer des programmes tournant sur des machines différentes et écrits dans des langages de programmation différents.  Invoquer des fonctions distantes, présentes sur des systèmes distribués et hétérogènes, grâce à des protocoles standards indépendamment de: •la plate-forme (LINUX, Windows,…) •l’implémentation (Java, C++, Visual Basic,…) •l’architecture sous-jacente (.NET, J2EE,…) Web Services, Riadh Tébourbi, 2006
  4. 4. Fonctionnement 4 Les services web permettent l'appel d'une méthode d'un objet distant en utilisant un protocole web pour transport (http en général) et XML pour formater les échanges. Les services web fonctionnent sur le principe du client serveur:  un client appelle les service web  le serveur traite la demande et renvoie le résultat au client  le client utilise le résultat Web Services, Riadh Tébourbi, 2006
  5. 5. Technologies utilisées 5 Les services web utilisent trois technologies : SOAP (Simple Object Access Protocol) pour le service d'invocation : il permet l'échange de messages dans un format particulier WSDL (Web Services Description Language) pour le service de description : il permet de décrire les services web UDDI (Universal Description Discovery and Integration) pour le service de publication : il permet de référencer les services web Web Services, Riadh Tébourbi, 2006
  6. 6. SOAP: Simple Object Access Protocol 6 SOAP: une norme de communication qui standardise l'échange de messages en utilisant un protocole de communication et XML pour formater les données. Le protocole le plus utilisé est HTTP pour sa facilité de mise en œuvre mais d'autres protocoles peuvent être utilisés tel que FTP (tous les protocoles capables de véhiculer un flux d'octets peuvent être utilisés). SOAP peut être utilisé : pour l'appel de méthodes (SOAP RPC) pour l'échange de message (SOAP Messaging) Web Services, Riadh Tébourbi, 2006
  7. 7. SOAP: structure 7 SOAP définit la structure principale du message, dite « enveloppe » qui contient deux parties : en tête (Header) : facultatif le corps (Body) : obligatoire Le corps est composé d'un ou plusieurs blocs. Un bloc contient des données ou un appel de méthode avec ces paramètres. La partie SOAP Fault permet d'indiquer qu'une erreur est survenue lors des traitements du service web Web Services, Riadh Tébourbi, 2006
  8. 8. WSDL: Web Services Description Language 8 WSDL : une norme qui utilise XML pour décrire des services web Objectif Décrire les services comme un ensemble d’opérations et de messages abstraits relié (bind) à des protocoles et des serveurs réseaux Grammaire XML (schema XML) Modulaire (import d’autres documents WSDL et XSD) Web Services, Riadh Tébourbi, 2006
  9. 9. Exemple 9 Deux web méthodes sur le serveur: <WebMethod()> _ Public Function HelloWorld() As String Return quot;Hello Worldquot; End Function <WebMethod()> _ Public Function Somme(ByVal a As Integer, ByVal b As Integer) As Integer Return a + b End Function Web Services, Riadh Tébourbi, 2006
  10. 10. Fichier WSDL 10 - <wsdl:types> - <s:schema elementFormDefault=quot;qualifiedquot; targetNamespace=quot;http://tempuri.org/quot;> - <s:element name=quot;HelloWorldquot;> <s:complexType /> </s:element> - <s:element name=quot;HelloWorldResponsequot;> - <s:complexType> - <s:sequence> <s:element minOccurs=quot;0quot; maxOccurs=quot;1quot; name=quot;HelloWorldResultquot; type=quot;s:stringquot; /> </s:sequence> </s:complexType> </s:element> - <s:element name=quot;Sommequot;> - <s:complexType> - <s:sequence> <s:element minOccurs=quot;1quot; maxOccurs=quot;1quot; name=quot;aquot; type=quot;s:intquot; /> <s:element minOccurs=quot;1quot; maxOccurs=quot;1quot; name=quot;bquot; type=quot;s:intquot; /> </s:sequence> </s:complexType> </s:element> - <s:element name=quot;SommeResponsequot;> - <s:complexType> - <s:sequence> <s:element minOccurs=quot;1quot; maxOccurs=quot;1quot; name=quot;SommeResultquot; type=quot;s:intquot; /> </s:sequence> </s:complexType> </s:element> </s:schema> Web Services, Riadh Tébourbi, 2006 </wsdl:types>
  11. 11. Requête SOAP 11 <soapenv:Envelope xmlns:soapenv=quot;http://schemas.xmlsoap.org/soap/envelope/quot; xmlns:tem=quot;http://tempuri.org/quot;> <soapenv:Body> <tem:Somme> <tem:a>4</tem:a> <tem:b>10</tem:b> </tem:Somme> </soapenv:Body> </soapenv:Envelope> Web Services, Riadh Tébourbi, 2006
  12. 12. Réponse SOAP 12 <soap:Envelope xmlns:soap=quot;http://schemas.xmlsoap.org/soap/envelope/quot; xmlns:xsd=quot;http://www.w3.org/2001/XMLSchemaquot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;> <soap:Body> <SommeResponse xmlns=quot;http://tempuri.org/quot;> <SommeResult>14</SommeResult> </SommeResponse> </soap:Body> </soap:Envelope> Web Services, Riadh Tébourbi, 2006
  13. 13. Exemple de Service Web 13 Client mobile, web, etc Serveur 1 Service web cartographique 3 2 1) Le client envoie une requête au service web BD 2) Le service web traite la requête et génère à la cartographique volée une carte raster géoréférencée à partir des données cartographiques vecteur 3) Le service web envoie le résultat au client Web Services, Riadh Tébourbi, 2006
  14. 14. Outils 14 La Plate-forme .NET (période 2) La bibliothèque de classes de base Data Access GUI Security XML/SOAP (et autres...) Threading File I/O Debugging Web Services, Riadh Tébourbi, 2006
  15. 15. Outils 15 JWSDP Java Web Services Developer Pack (JWSDP) : un ensemble d'outils et d'API qui permet de faciliter le développement des services web et des applications web avec Java. contient les API particulières suivantes : •Java XML Pack : Java API for XML Processing (JAXP), Java API for XML-based RPC (JAX-RPC), Java API for XML Messaging (JAXM), Java API for XML Registries (JAXR) •Java Architecture for XML Binbing (JAXB) •JavaServer Pages Standard Tag Library (JSTL) •Java Secure Socket (JSSE) •SOAP with Attachments API for Java (SAAJ) Le JWSDP contient les outils suivants : •Apache Tomcat •Java WSDP Registry Server (serveur UDDI) •Web application development tool •Apache Ant Web Services, Riadh Tébourbi, 2006
  16. 16. Web Services avec JAVA 16 1) Installation des outils: Ingrédients: JDK: jdk-1_5_0_07-windows-i586-p.exe Outil de développement: netbeans-5_5-beta2-windows.exe Serveur d’application: tomcat50-jwsdp.zip , à décompresser dans tomcat50-jwsdp JWSDP: jwsdp-2_0-windows-i586.exe Web Services, Riadh Tébourbi, 2006
  17. 17. Web Services avec JAVA 17 2) Configurations: Pour tomcat: JAVA_HOME set to C:Program FilesJavajdk1.5.0_07) Sur NetBeans: tools  server manager: choisir le serveur d’application tomcat50-jwsdp Add server : server = Tomcat 5.0, Name = Tomcat 5.0 Catalina home = repertoire tomcat50-jwsdp Web Services, Riadh Tébourbi, 2006
  18. 18. Web Services avec JAVA 18 3) Premier Web Service: une web méthode qui retourne la somme de deux entiers - File  new project  web  web application - Project name: premierws - Server: tomcat 5.0 - Clic droit  Propriétés projet: source level =1.5 Web Services, Riadh Tébourbi, 2006
  19. 19. Web Services avec JAVA 19 4) Ajout du web service Web Services, Riadh Tébourbi, 2006
  20. 20. Web Services avec JAVA 20 5) Création de la web méthode: « somme » Web Services, Riadh Tébourbi, 2006
  21. 21. Web Services avec JAVA 21 5) Déployer le web service Démarrer Tomcat: Program files  sun microsystems java web ..start tomcat Compiler le projet: Build project Deployer le ws: Deploy project Tester et visualiser le WSDL: http://localhost:8080/premierws/myws?wsdl Web Services, Riadh Tébourbi, 2006
  22. 22. Tester le Web Service 22 Soap UI: permet de tester les web méthodes d’un web service sans a voir à développer un web client File  new WSDL project Add WSDl from url  http://localhost:8080/premierws/myws?wsdl Web Services, Riadh Tébourbi, 2006
  23. 23. Créer un web client JAVA 23 1) Création de l’application java cliente - Sur Netbeans: file  new project  général  java application Project name=wsclient - Project  new  web service client Web Services, Riadh Tébourbi, 2006
  24. 24. Créer un web client JAVA 24 2) Appel de la web méthode « somme » Dans une méthode (main par exemple) clic droit  web service client resources  call web service operation Enfin: Build project  run project Web Services, Riadh Tébourbi, 2006
  25. 25. Allez plus loin 25 Une web méthode qui retourne une instance d’une classe: contient plusieurs attributs. Avantages: Envoyer plusieurs données en même temps. Exemple: rajouter dans le WS la class testclass: public class testclass { public int unentier; public String unechaine; public String tableau[]={quot;SERCOMquot;, quot;ISTquot;, quot;RSMquot;, quot;ISTquot;}; /** Creates a new instance of testclass */ public testclass() { unentier=3; unechaine=quot;Bonjour Indp quot;; } Web Services, Riadh Tébourbi, 2006
  26. 26. 26 Ajout d’une web méthode qui renvoie une instance de la classe testclass @WebMethod(operationName=quot;appel_testclassquot;) public testclass appel_testclass() { // implement the web service operation here testclass t = new testclass(); return t; } Web Services, Riadh Tébourbi, 2006
  27. 27. 27 Coté client: appel de la web méthode: public void callTestclass() { try { // Call Web Service Operation wsclient.MywsService service = new wsclient.MywsService(); wsclient.Myws port = service.getMywsPort(); // TODO process result here wsclient.Testclass result = port.appelTestclass(); //System.out.println(quot;Result = quot;+result); //affiche les datas System.out.println(quot;Result = quot;+result.unechaine + result.unentier); for(int i=0;i<result.tableau.size();i++) System.out.println(result.tableau.get(i)); System.out.println(result.getUnechaine()); } catch (Exception ex) { // TODO handle custom exceptions here System.out.println(ex.toString()); } } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here new Main().callTestclass(); } Web Services, Riadh Tébourbi, 2006

×