en cliquant ici

publicité
Apache eXtensible Interaction System
Successeur d’Apache SOAP
Réalisé par Sothear Seng
IR3
Novembre 2003
1
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
2
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
3
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)
4
Dialogue RPC encodé par SOAP (1/2)
5
Dialogue RPC encodé par SOAP (2/2)
6
Fonctionnement de SOAP
7
Comparaison avec Corba

Performances
Corba
Soap
Résultats
En local
687 ms
10224 ms
14 fois plus lent
A distance
1768 ms
10601 ms
6 fois plus lent

Remarques
-> pas de services complexes : la communication bidirectionnelle,
l’activation à distance, le garbage collector…
-> performance moindre en temps de réponse
-> peu extensible
8
Naissance du projet Axis
(successeur de SOAP)

2000
Un peu d’historique
IBM crée la première spécification SOAP pour Java
IBM fait don de SOAP à Apache qui rebaptise le projet en Apache SOAP
2001
Succès de Apache SOAP V2.2 (Sun et IBM l’intègre dans leur serveur
d’application J2EE)
Révision d’Apache SOAP et étude d’un successeur à SOAP
2002
Avril 2002, version béta 2 d’AXIS
Aujourd’hui, version 1.0 d’AXIS
9
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
10
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
11
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
12
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
13
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
14
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
15
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)²]
16
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
17
Questions ?
18
Téléchargement