180 likes | 334 Views
A pache e X tensible I nteraction S ystem Successeur d’Apache SOAP. Réalisé par Sothear Seng IR3 Novembre 2003. Plan. Qu’est ce SOAP (Simple Object Access Protocol) ?. Comment est né le projet Axis ?. Qu’est ce que Axis ?. Installation d’ Axis. Développement avec Axis.
E N D
Apache eXtensible Interaction System Successeur d’Apache SOAP Réalisé par Sothear Seng IR3 Novembre 2003
Plan • Qu’est ce SOAP (Simple Object Access Protocol) ? • Comment est né le projet Axis ? • Qu’est ce que Axis ? • Installation d’ Axis • Développement avec Axis
Qu’est ce que SOAP ? (Simple Object Access Protocol) • Protocole de communication basée sur XML pour accéder aux services Web • Simple et léger -> Repose entièrement sur des standards établis (HTTP & XML) -> Spécification non propriétaire -> Portable -> Inter opérable • Fonctionne sur l’infrastructure existante
Fonctionnement de SOAP (1/2) • Définit un format pour l’envoi des messages -> Message SOAP structuré en un document XML -> 2 éléments obligatoires : Une enveloppe et un corps ( une entête facultative)
Comparaison avec Corba • Performances • Remarques -> pas de services complexes : la communication bidirectionnelle, l’activation à distance, le garbage collector… -> performance moindre en temps de réponse -> peu extensible
Naissance du projet Axis (successeur de SOAP) • Un peu d’historique IBM crée la première spécification SOAP pour Java 2000 IBM fait don de SOAP à Apache qui rebaptise le projet en Apache SOAP Succès de Apache SOAP V2.2 (Sun et IBM l’intègre dans leur serveur d’application J2EE) 2001 Révision d’Apache SOAP et étude d’un successeur à SOAP Avril 2002, version béta 2 d’AXIS 2002 Aujourd’hui, version 1.0 d’AXIS
Qu’est ce que Axis ? • Package qui fournit : - le serveur Axis - plugin de moteur de servlet (Tomcat) -> Environnement d’hébergement de services Web • Toolkit complet de développement pour la création de services - API pour développer des services web à base de message SOAP - la serialisation /désérialisation automatique d’objets Java dans des messages SOAP - outils pour déployer, tester et monitorer des web-services • Le serveur Axis doit être hébergé au sein d ’un conteneur Web - Apache Tomcat
Objectifs d ’Axis • Architecture modulaire et extensible • Performances améliorées : temps de réponse et occupation mémoire - Axis s ’appuie sur un parseur plus performant pour l ’analyse des flux XML (SAX- Simple API for XML Parsing). • Support complet de SOAP
Architecture d ’Axis 1/2 • Architecture modulaire composée de plusieurs sous systèmes distincts • Une hiérarchie à 2 couches principales et un moteur Axis: - couche 1 : sous système de flot de message - couche 2 : sous système spécialisés - moteur Axis : orchestration des différents sous systèmes Vue générale des sous systèmes du moteur AXIS
Architecture d ’Axis 2/2 • Fonctionnement du moteur Axis pour l ’échange et le traitement des messages • Système d ’échange et de traitement des messages autour de 3 concepts clés : Message - Flot - Traitement Flot et traitement des messages au sein du moteur du serveur Axis
Installation d’Axis • http://archive.apache.org/dist/ws/axis/1_0 • Contenu de l’archive: - Documentation HTML et des API Javadoc du framework (docs/) - bibliothèque Java composant le framework (/lib/) - une série d’exemples et de tutoriels (samples/) • Nécessite un parseur XML : Xerces.jar • Environnement d’exécution particulier : - Tomcat (conteneur de Servlet) - autre serveur d’application J2EE
Déploiement d’Axis • Copier l’application Web d’Axis (webapps/axis) dans le répertoire d’applications Web de Tomcat (<Tomcat install. Dir/webapps/) • Copier dans le répertoire common/lib/ de Tomcat l’archive JAR du parseur XML. Par ex: XERCES.jar
Développement d’un service JWS avec Axis • Développement avec Axis : JWS (Java Web Service) • - Système de développement simplifié de service Web • - Renommer le fichier source .java en fichier .jws • - Copier ce fichier vers le répertoire WEB-INF de l’application Web d’AXIS. • - Génération automatique de fichiers d’interfaces java • - Le service est prêt à être utilisé • Exemple : Service de diagnostic de poids : calcul l’indice de masse corporelle [poids /(taille)²]
Plus d’infos ? • Lien vers Axis - http://xml.apache.org/axis • Livre - Axis : Next generation Java Soap par Romin Irani (prix 6,19 $) Edition PaperBack • Lien vers SOAP - www.w3.org/TR/SOAP