1. Driss BOUNOUAR
Ismail AZHARI
Khalid ATIAB EL IDRISSI
Faiçal Ahmed ABOULAIT
Présentent:
Les Services Web
Le protocole SOAP
2. Plan:
• Introduction Web services
– C'est quoi un service web
– L'architecture du services web
– Messagerie XML (xml-rpc , SOAP)
– C'est quoi un WSDL
• Protocole SOAP
– Définition
– Problémes
• Apache Axis
– Framework Apache Axis
– Securité Apache Axis
– Simulation
4. C'est quoi un service web
Un service web c'est tout service :
– Disturbié sur le web
– Utilise les messages XML ( format text simple)
– Independant de la plate-forme ou du langage
utilisé.
– Sans intervention humaine, et de manière
synchrone
5. L'architecture du services web
Il y a deux façon dont on peut voir l'architecture des
services web:
Web Service Roles
Web Service Protocol Stack
7. Web Service Protocol Stack
Discovery UDDI permet de localiser sur le réseau
le service Web recherché.
Description WSDL comment communiquer pour utiliser
le service
XML Messaging XML-RPC,SOAP,XML Responsible de l’encodage des
messages en format XML standard
Transport HTTP,SMTP,FTP,BEEP Responsible du transport du message
8. Messagerie XML (xml-rpc , SOAP)
XML-RPC:
• Un simple protocole RPC
• Permet à des processus s'exécutant dans des
environnements différents de communiquer
• Pas restriction de système ou de langage.
9. C’est quoi un WSDL
• Web Services Description Language
• Fichier en format XML
• Sert à décrire l'interface publique d'accés au service
• À 6 élements principales:
1. definitions – définit le nom du web service
2. types – decrit les paramétres et variables qui seront
transmit
3. message – définit le nom du message transmit
4. portType – définit les operations à invoquer
5. binding – définit le protocole à utiliser pour invoquer le
service web
6. service – décrit un ensemble de points finaux du réseau
11. SOAP (Simple Object Access Protocol) :
SOAP est un protocole d’invocation de méthodes sur
des services distants, Basé sur XML.
SOAP est un format de communication pour assurer la
communication entre machines.
Le protocole permet d’appeler une méthode RPC et
d’envoyer des messages aux machines distantes via
HTTP(STMP,…).
Très bien adapté à l’utilisation des services web.
12. Problèmes posés par SOAP
Ces problèmes concernent principalement
l’interopérabilité des messages SOAP de type RPC.
Ils peuvent être divisés en trois catégories :
a) problèmes http
b) problèmes XML
C) problèmes liés au protocole SOAP
13. a) problèmes http
HTTP est utilisé pour le transport des messages SOAP
en XML.
Or certaines balises spécifiques à SOAP ne vont pas
être bien interprétées par tous les clients HTTP. Cela
va dépendre du client et ne pas fonctionner dans
certains cas.
Exemple de la fonction SOAPAction : la valeur de
SOAPAction doit être en guillemets sauf s’il s’agit
d’une valeur nulle.
14. b) Problèmes XML
Les problèmes d’interopérabilité XML concernent
l’analyse du langage XML.
SOAP repose sur l’utilisation de ce langage, donc si
XML pose des problèmes d’implémentations, ceux-
ci vont poser des problèmes sur SOAP.
15. c) Problèmes liés à SOAP
Il existe un certain nombre de problèmes
d’interopérabilité comme par exemple le problème
lié à l’implémentation de l’attribut
«ustUnderstand ». Les spécifications de SOAP
indiquent que si cet attribut est défini sur la valeur «
1 », il devra être traité. Pourtant certaines
implémentations de SOAP ne le font pas
(principalement les premières à avoir été
développées).
17. Apache Axis?
• C'est serveur et client SOAP open source
• une API pour développer des services
web SOAP RPC ou à base de messages SOAP
• 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
• Des outils pour déployer, tester et monitorer des
web-services
18. Securité Apache Axis
Failles de sécurtés attendues:
• Refuser à un service d'acceder au service
• L'interception et la manipulation des messages
• Requête client faussé
• Reponse serveur faussé
• Tenter de lire et modifier les fichiers du serveur
• Special XML attacks
• Session Theft, DOS attacks via load-intensive
operations, Parameter Attacks, Cross Site Scripting
19. Securité Apache Axis
Solution :
• Utiliser le mécanisme d'authentification du
protocole HTTP(HTTP basic authentication)
• Utiliser les certificats
• Sécurisé la session par la géneration de session Ids
difficile
• Validé les parametre contenu dans les messages
SOAP
• Déguisement, Modifier Axis, Renomer les services
• Arrêter la géneration automatique de WSDL.
20. Simulation
Ajouter le
Créer les Génerer Le
WSDL au
fichiers java WSDL par le
serveur apache
pour le serveur biais de Apache
qui supporte
et le client Axis
SOAP
21. Reference:
• Site officiel de axis :http://ws.apache.org/axis
• Tutorial de java
Boutique:http://javaboutique.internet.com/tutorials/
SOAP.html
• wikipedia.org