Upload
driss-bounouar
View
725
Download
2
Tags:
Embed Size (px)
Citation preview
Le protocole SOAP
Les Services Web
Driss BOUNOUARIsmail AZHARI
Khalid ATIAB EL IDRISSIFaiçal Ahmed ABOULAIT
Présentent:
• 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
Plan:
INTRODUCTION WEB SERVICES
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
C'est quoi un service web
Il y a deux façon dont on peut voir l'architecture des services web:
Web Service Roles
Web Service Protocol Stack
L'architecture du services web
Web Service Roles
Web Service Protocol Stack
Discovery UDDI
Description WSDL
XML Messaging XML-RPC,SOAP,XML
Transport HTTP,SMTP,FTP,BEEP
permet de localiser sur le réseau le service Web recherché.
Responsible du transport du message
comment communiquer pour utiliser le service
Responsible de l’encodage des messages en format XML standard
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.
Messagerie XML (xml-rpc , SOAP)
• 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 service2. types – decrit les paramétres et variables qui
seront transmit 3. message – définit le nom du message transmit4. portType – définit les operations à invoquer5. binding – définit le protocole à utiliser pour
invoquer le service web6. service – décrit un ensemble de points finaux
du réseau
C’est quoi un WSDL
Présentation SOAP
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.
SOAP (Simple Object Access Protocol) :
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
Problèmes posés par SOAP
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.
a) problèmes http
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.
b) Problèmes XML
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).
c) Problèmes liés à SOAP
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
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
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.
Securité Apache Axis
Simulation
Créer les fichiers java pour le serveur et le
client
Génerer Le WSDL par le biais de Apache Axis
Ajouter le WSDL au serveur apache qui
supporte SOAP
• Site officiel de axis :http://ws.apache.org/axis
• Tutorial de java Boutique:http://javaboutique.internet.com/tutorials/SOAP.html
• wikipedia.org
Reference:
Merci d'avoir suivi