Axis 2 - Partie 1

Décembre 2016


Axis 2

Concept


Le concept des Web Service tourne autour des trois acronymes suivants :
  • SOAP (Simple Object Access Protocol) : il s'agit d'un protocole d'échange inter-application indépendant de toute plate-forme. Le format d'échange est basé sur le langage XML. En d'autre terme l'appel du service SOAP met en oeuvre un flux ASCII encadré dans des balises XML et transporté dans le protocole HTTP.
  • WSDL (Web Services Description Language) donne la description au format XML des Web Services en précisant les méthodes pouvant être invoquées, leur signature et le point d'accès (URL, port, etc..). C'est, en quelque sorte, l'équivalent du langage IDL pour la programmation distribuée CORBA.
  • UDDI (Universal Description, Discovery and Integration) normalise une solution d'annuaire distribué.

Axis est un engin permettant la création et le déploiment des web services, réalisé par Apache Software Foundation. C'est un package Java libre qui fournit :
  • un environnement pouvant soit fonctionner comme un serveur SOAP indépendant soit comme un plug-in de moteurs de servlet (en particulier Tomcat),
  • une API pour développer des services web SOAP RPC ou à base de messages SOAP,
  • le support de différentes couches de transport : HTTP, FTP, SMTP, POP et IMAP, ...
  • la sérialisation/désérialisation automatique d'objets Java dans des messages SOAP
  • des outils pour créer automatiquement les WSDL correspondant à des classes Java ou inversement pour créer les classes Java sur la base d'un WSDL (classe proxy en quelque sorte, qui fait le lien entre l'application Java cliente et le service distant).
  • des outils pour déployer, tester et monitorer des web-services.

Axis 2.0 est une réécriture complète qui a pour objectif d'être plus efficace, plus modulaire et plus orienté XML que la version précédente. Un certain nombre de modules sont en cours de développement concernant la sécurité, les transactions...

Fonctionnement : runtime


La structure de l'échange entre le web service et l'application cliente peut être représentée comme suit :

Axis2 : WSDL2Java


Axis permet la conversion d'un fichier WSDL en un ensemble de classes Java
  • Pour représenter le contenu des messages
  • Une classe squelette à compléter pour implémenter les différentes opérations
  • Éventuellement des classes intermédiaires qui vont s'occuper de la gestion du message SOAP (Stubs)

Axis2 : Databinding framework ADB


Conversion la plus simple de XML en objet : pour cela Il existe de modes
  • Expanded mode (mode expansé)
    • Une classe pour chaque élément externe : Non imbriqué dans un complexType
    • Une classe pour chaque complexType nommé
    • Mode systématiquement utilisé par le compilateur en ligne de commande
  • Wrapped mode (mode « intégré »)
    • Une classe contenant toutes les classes représentant les documents XML à traiter

Distribution Axis


Sur le site d'apache on trouve une distribution binaire standard de Axis qui contient tous les jars nécessaires à l'exécution et la compilation de Axis ainsi que des scripts permettant un déploiement facile de l'application : http://ws.apache.org/axis2/

A voir également :

Ce document intitulé «  Axis 2 - Partie 1  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.