Construire des services
Web avec Apache Axis2




                          1
Agenda
 Aperçu des services Web

 Installation d'Apache Axis2

 Faire d'abord Java Web Services (bottom-up)

Déployer et tester vos services



                                                2
Présentation
des services Web



                   3
Quels sont les Web Services?
(Réponse courte)
   Un service Web est une ressource
   qui

      Est accessible via HTTP (ou HTTPS)


      Retourne XML (SOAP)




                                            4
Quels sont les Web Services?
             (Réponse longue du W3C)
 Un service Web est un système logiciel
  identifié par une URL

   dont les interfaces publiques et les fixations sont définis et
    décrits en utilisant XML.

   Sa définition peut être découvert par d'autres systèmes logiciels

      Ces systèmes peuvent alors interagir avec le service Web d'une manière
      prescrite par sa définition, en utilisant XML des messages en
      fonction véhiculées par les protocoles Internet
. définition
http://www.w3.org/TR/wsa-reqs/#id2604831                                   5
Applications Web vs Web Services
 Web Apps
 Retour HTML
 Prenez les données GET ou POST comme entrée
 Résultat destiné à un humain (via un navigateur)
 Informelle (au mieux) une description de données qui accepte de ressources et de
  résultat qui retournent une ressource
 Web Services
 Retour XML (SOAP)
 Prenez XML (SOAP) en entrée
 Résultat destinés à un programme
 Définition formelle de données qui accepte de ressources et de résultat qui retourne
  une ressource


                                                                                  6
Avantages Web Service
 Langue de neutralité
   Les services Web de définir le format du message, pas le langage de programmation
    utilisé
   Un client ne connaît pas la langue utilisée par le service, un service ne connaît pas la
    langue utilisée par le client
interopérabilité
      Définition des données demande et de réponse permet à n'importe quel service Web
       d'interagir avec les autres.
 Faible barrière à l'entré.
   Des outils très simples pour Java, Ruby, les langues de Microsoft, etc.
   Peut écrire des services sans connaître WSDL ou SOAP!
 Support à l'industrie
   Très largement adoptée. Pas de danger d'investir dans la mode de courte
     durée ala Ada et CORBA.


                                                                                          7
Composants Web Services
  SOAP
   Basé sur XML structure utilisée pour envoyer et recevoir des messages
   A l'origine synonyme de Simple Object Access Protocol
       Sigle trompeuse chuté dans la version 1.2 de SOAP

  WSDL
   Basé sur XML description d'un service Web
       Lorsqu'il réside
     Qu'est-ce qu'il peut faire
     Comment l'invoquer
   Stands pour les Web Service Description Language


  UDDI
   Stands versez les Web Services Description Language
   Stands pour Description, Discovery universelle et de l'Intégration
                                                                            8
Apache Axis2
 Ensemble d'outils pour simplifier les services Web
   Services
      Créer un service Web depuis n'importe quel classe Java
      Créer service stub Web à partir des fichiers WSDL
      Construire fichier WAR pour le déploiement sur un serveur basé sur Java

   clients
      Créer stubs client à partir de fichiers WSDL


 utilisation
   plugins Eclipse
      Intégré dans Java EE version d'Eclipse
      Téléchargement gratuit de http://www.eclipse.org/downloads/
           Choisissez "Eclipse IDE for Java EE Developers" Ces tutoriels va utiliser

                                                                                        9
Utilise des Axis2
Première Java (bottom-up) Services
   Commencez avec une classe normale de Java (POJO)
   Exposer les méthodes que les Web Services
   Couvert dans ce cours

 Les clients de Java-services aux Premières
   Construire le client pour un service intégré avec Java-première (bottom-up) approche
   Couvert de deuxième conférence

 WSDL First (top-down) des services
   Commencez avec un fichier WSDL
   Créez automatiquement des stubs Java
   Ajouter la logique métier
   Couvert de troisième conférence

 Les clients à partir de WSDL First-services
   Construire le client pour un service intégré avec WSDL et unième (top-down)approche de Couvert
     de quatrième conférence


                                                                                            10
Configuration Axis2


                  11
Télécharger et installer Axis2
 Télécharger
   Commencez à http://ws.apache.org/axis2/download.cgi
   Choisissez dernière version
     Choose DERNIÈRE version de
   Choisissez la version de DERNIÈRE Binary Distribution




 Installer
   Décompressez dans le répertoire de votre choix
     This didacticiel utilise C: , résultant dans C:  axe2-1.4




                                                                    12
Dites Eclipse sujet Axis2
 Fenêtre Préférences Web Services Axis2 Préférences

     Pour "l'emplacement d'exécution Axis2", entrez le chemin d'installation de
     la diapositive précédente
    Appuyez sur Appliquer
     Appuyez sur OK




                                                                              13
Construction d'un Java
      Première
 (bottom-up) Service


                     14
idée
 Take normal Java class (POJO) public class Blah
 {public int doFoo(String arg) { ... } public String
 doBar(double arg) { ... }
   Aucune des interfaces spéciales, les classes
    parent, packages, ou de la méthode des noms

 Automatiquement exposer les méthodes que les Web
 Services
   Blah devient le nom du service
   doFoo et doBar accessibles via HTTP et SOAP



                                                       15
Faire Web Project Dynamique
Faire des projets de base
  FichierNouveau projet  Web Dynamic Web Project
   • Appuyez sur Suivant

• Appuyez sur Suivant
  Si vous avez déjà
  fait une dynamique
  Projet Web dans cet espace
    de travail
  vous pouvez juste faire Nouveau 
 Dynamic Web Project




                                                      16
Ajouter au support Axis2 Dynamic Web Project




                                               17
Faire Bean Service?
(Classe Java avec des méthodes régulières)
  Créer normale classe Java
    Aucune exigence particulière pour
       package
       interfaces
       superclasse
       Noms des méthodes (ne doivent pas être getBlah et setBlah)
    Les méthodes publiques qui deviendra plus tard une partie
     de service Web
       Ajouté automatiquement lorsque vous faites Web Service bottom-up

  cycle de vie
    Classe seront re instancié à chaque demande
       Ainsi, les besoins zéro argument du constructeur
       Les champs ne sont pas persistants, sauf s'ils sont statiques
                                                                           18
Service Bean: Exemple




                        19
Bean Service: Exemple (suite)




                                20
Faire Service Web de Service Bean




                                    21
Vérifiez service est déployé




                               22
opérations d'essai




                     23
Voir WSDL




            24
Résumé
 Faire de projet Web dynamique
    Fichier  Nouveau projet  Web Dynamic Web Project

 Ajout du support Axis2
    Choisissez une configuration personnalisée, appuyez sur Modifier
       Choisissez une configuration personnalisée UNE, appuyez sur Modifier
 Créer normale classe Java
    Aucune exigence particulière

 Exposer la classe en tant que Service Web
    R-cliquez sur la classe Java
    Nouveau  Autres Services Web  Service Web

 déployer
    cliquez R-sur serveur, Ajouter et supprimer des projets, sélectionnez projet, démarrer le
       serveur
test http://host/app-name/axis2-web/
                                                                                             25
Des questions?


                 26

Axis2 services fr

  • 1.
    Construire des services Webavec Apache Axis2 1
  • 2.
    Agenda  Aperçu desservices Web  Installation d'Apache Axis2  Faire d'abord Java Web Services (bottom-up) Déployer et tester vos services 2
  • 3.
  • 4.
    Quels sont lesWeb Services? (Réponse courte)  Un service Web est une ressource qui  Est accessible via HTTP (ou HTTPS)  Retourne XML (SOAP) 4
  • 5.
    Quels sont lesWeb Services? (Réponse longue du W3C)  Un service Web est un système logiciel  identifié par une URL  dont les interfaces publiques et les fixations sont définis et décrits en utilisant XML.  Sa définition peut être découvert par d'autres systèmes logiciels  Ces systèmes peuvent alors interagir avec le service Web d'une manière prescrite par sa définition, en utilisant XML des messages en fonction véhiculées par les protocoles Internet . définition http://www.w3.org/TR/wsa-reqs/#id2604831 5
  • 6.
    Applications Web vsWeb Services  Web Apps  Retour HTML  Prenez les données GET ou POST comme entrée  Résultat destiné à un humain (via un navigateur)  Informelle (au mieux) une description de données qui accepte de ressources et de résultat qui retournent une ressource  Web Services  Retour XML (SOAP)  Prenez XML (SOAP) en entrée  Résultat destinés à un programme  Définition formelle de données qui accepte de ressources et de résultat qui retourne une ressource 6
  • 7.
    Avantages Web Service Langue de neutralité  Les services Web de définir le format du message, pas le langage de programmation utilisé  Un client ne connaît pas la langue utilisée par le service, un service ne connaît pas la langue utilisée par le client interopérabilité  Définition des données demande et de réponse permet à n'importe quel service Web d'interagir avec les autres.  Faible barrière à l'entré.  Des outils très simples pour Java, Ruby, les langues de Microsoft, etc.  Peut écrire des services sans connaître WSDL ou SOAP!  Support à l'industrie  Très largement adoptée. Pas de danger d'investir dans la mode de courte durée ala Ada et CORBA. 7
  • 8.
    Composants Web Services  SOAP  Basé sur XML structure utilisée pour envoyer et recevoir des messages  A l'origine synonyme de Simple Object Access Protocol  Sigle trompeuse chuté dans la version 1.2 de SOAP  WSDL  Basé sur XML description d'un service Web  Lorsqu'il réside  Qu'est-ce qu'il peut faire  Comment l'invoquer  Stands pour les Web Service Description Language  UDDI  Stands versez les Web Services Description Language  Stands pour Description, Discovery universelle et de l'Intégration 8
  • 9.
    Apache Axis2  Ensembled'outils pour simplifier les services Web  Services  Créer un service Web depuis n'importe quel classe Java  Créer service stub Web à partir des fichiers WSDL  Construire fichier WAR pour le déploiement sur un serveur basé sur Java  clients  Créer stubs client à partir de fichiers WSDL  utilisation  plugins Eclipse  Intégré dans Java EE version d'Eclipse  Téléchargement gratuit de http://www.eclipse.org/downloads/  Choisissez "Eclipse IDE for Java EE Developers" Ces tutoriels va utiliser 9
  • 10.
    Utilise des Axis2 PremièreJava (bottom-up) Services  Commencez avec une classe normale de Java (POJO)  Exposer les méthodes que les Web Services  Couvert dans ce cours  Les clients de Java-services aux Premières  Construire le client pour un service intégré avec Java-première (bottom-up) approche  Couvert de deuxième conférence  WSDL First (top-down) des services  Commencez avec un fichier WSDL  Créez automatiquement des stubs Java  Ajouter la logique métier  Couvert de troisième conférence  Les clients à partir de WSDL First-services  Construire le client pour un service intégré avec WSDL et unième (top-down)approche de Couvert de quatrième conférence 10
  • 11.
  • 12.
    Télécharger et installerAxis2  Télécharger  Commencez à http://ws.apache.org/axis2/download.cgi  Choisissez dernière version  Choose DERNIÈRE version de  Choisissez la version de DERNIÈRE Binary Distribution  Installer  Décompressez dans le répertoire de votre choix  This didacticiel utilise C: , résultant dans C: axe2-1.4 12
  • 13.
    Dites Eclipse sujetAxis2  Fenêtre Préférences Web Services Axis2 Préférences  Pour "l'emplacement d'exécution Axis2", entrez le chemin d'installation de la diapositive précédente Appuyez sur Appliquer  Appuyez sur OK 13
  • 14.
    Construction d'un Java Première (bottom-up) Service 14
  • 15.
    idée  Take normalJava class (POJO) public class Blah {public int doFoo(String arg) { ... } public String doBar(double arg) { ... }  Aucune des interfaces spéciales, les classes parent, packages, ou de la méthode des noms  Automatiquement exposer les méthodes que les Web Services  Blah devient le nom du service  doFoo et doBar accessibles via HTTP et SOAP 15
  • 16.
    Faire Web ProjectDynamique Faire des projets de base  FichierNouveau projet  Web Dynamic Web Project • Appuyez sur Suivant • Appuyez sur Suivant  Si vous avez déjà  fait une dynamique  Projet Web dans cet espace de travail  vous pouvez juste faire Nouveau  Dynamic Web Project 16
  • 17.
    Ajouter au supportAxis2 Dynamic Web Project 17
  • 18.
    Faire Bean Service? (ClasseJava avec des méthodes régulières)  Créer normale classe Java  Aucune exigence particulière pour  package  interfaces  superclasse  Noms des méthodes (ne doivent pas être getBlah et setBlah)  Les méthodes publiques qui deviendra plus tard une partie de service Web  Ajouté automatiquement lorsque vous faites Web Service bottom-up  cycle de vie  Classe seront re instancié à chaque demande  Ainsi, les besoins zéro argument du constructeur  Les champs ne sont pas persistants, sauf s'ils sont statiques 18
  • 19.
  • 20.
  • 21.
    Faire Service Webde Service Bean 21
  • 22.
  • 23.
  • 24.
  • 25.
    Résumé  Faire deprojet Web dynamique  Fichier  Nouveau projet  Web Dynamic Web Project  Ajout du support Axis2  Choisissez une configuration personnalisée, appuyez sur Modifier  Choisissez une configuration personnalisée UNE, appuyez sur Modifier  Créer normale classe Java  Aucune exigence particulière  Exposer la classe en tant que Service Web  R-cliquez sur la classe Java  Nouveau  Autres Services Web  Service Web  déployer  cliquez R-sur serveur, Ajouter et supprimer des projets, sélectionnez projet, démarrer le serveur test http://host/app-name/axis2-web/ 25
  • 26.