You are on page 1of 21

Web Services : SOAP et REST

Ralis Par: Radhouene Rouached & Maher Abed

Plan

Web service
Dfinition
Proprits & Concepts
Avantage & Inconvnient

SOAP
Apache Axis

RESTful
Conclusion

Web Service
Service

un service est un comportement dfini par contrat, qui peut tre ralis et fourni par tout
composant pour tre utilis par tout composant, sur la base unique du contrat.

Web Service
Dfinition

Les Web Services sont des composants web bass sur Internet (HTTP ) qui excutent des
tches prcises et qui respectent un format spcifique (XML).
Ils permettent aux applications de faire appel des fonctionnalits distance en
simplifiant ainsi lchange de donnes.
Les Web Services permettent aux applications de dialoguer travers le rseau,
indpendamment de :
leur plate-forme dexcution
leur langage d'implmentation.

Web service
Proprits

Un Service est Autonome

Un Service expose un Contrat

et sans tat

Les Frontires entre services sont


Explicites

Les services communiquent par


messages

Web service

Concepts des web services

Le concept des Web Services sarticule actuellement autour des trois concepts suivants :
SOAP (Simple Object Access Protocol)
- Est un protocole d'change inter-applications indpendant de toute plate-forme, bas sur le langage XML.
- Un appel de service SOAP est 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 prcisant les mthodes pouvant tre invoques, leurs
signatures et le point daccs (URL, port, etc..).
- Cest, en quelque sorte, lquivalent du langage IDL pour la programmation distribue CORBA.

UDDI (Universal Description, Discovery and Integration)


- Normalise une solution dannuaire distribu de Web Services, permettant la fois la publication et l'exploration
(recherche) de Web Services.
- UDDI se comporte lui-mme comme un Web service dont les mthodes sont appeles via le protocole SOAP.

Web Service

Principe de fonctionnement

Web service

Avantage

Avantage
Des standards simples (SOAP, WSDL, UDDI)
Multi Protocole / Multi OS / Multi Langage
Facilite lchange des donnes
Les outils de dveloppement, s'appuyant sur ces standards, permettent la cration
automatique de programmes utilisant les services Web existant.

Web service

Inconvnient

Inconvnient
Performance: Les services Web souffrent de performances faibles compare d'autres
approches de l'informatique rpartie telles que le RMI, CORBA, ou DCOM.
Jeunesse (Scurit, Transaction,): Les normes de services Web dans certains domaines
sont actuellement rcentes

SOAP

SIMPLE OBJECT
ACCESS PROTOCOL

10

SOAP
Simple Object Access Protocol

SOAP est un protocole d'invocation de mthodes sur des services distants. Bas sur XML,
SOAP a pour principal objectif d'assurer la communication entre machines.

Le protocole permet d'appeler une mthode RPC et d'envoyer des messages aux machines
distantes via un protocole de transport ( HTTP ).
Objectifs viss
- Assurer la communication entre applications dune mme entreprise (intranet)
- Assurer les changes interentreprises entre applications et services Web
11

SOAP

Structure d'un message SOAP

12

AXIS
Apache eXtensible Interaction System

13

Apache Axis

Axis est un ensemble de logiciels crs par la fondation Apache (The Apache Software Foundation), qui
vise faciliter le dveloppement de services Web en technologie SOAP.
Axis offre notamment :

un environnement pouvant soit fonctionner comme un serveur SOAP/Rest indpendant, soit comme
un plug-in de moteurs de servlet (en particulier Tomcat),
une API pour dvelopper des services web SOAP RPC ou base de messages SOAP,
le support de diffrentes couches de transport : HTTP, FTP, SMTP, POP et IMAP...,
la srialisation/dsrialisation automatique d'objets Java dans des messages SOAP,
des outils pour crer automatiquement les WSDL correspondant des classes Java, ou inversement,
pour crer 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 dployer, tester et monitorer des web-services.
14

Apache Axis

Simulation :

15

RESTful
REpresentational State Transfer

16

RESTful

REST cest quoi ?

REST (REpresentational StateTransfer) ou RESTful est un style darchitecture pour


les systmes hypermdia distribus,
Cr par Roy Fielding en 2000 dans le chapitre 5 de sa thse de doctorat.

REST est un style darchitecture permettant de construire des applications (Web, Intranet,
Web Service).
Il sagit dun ensemble de conventions et de bonnes pratiques respecter et non dune
technologie part entire.

Larchitecture REST utilise les spcifications originelles du protocole HTTP, plutt que
de rinventer une surcouche (comme le font SOAP ou XML-RPC par exemple).
17

RESTful

Les principes clefs

Chaque ressource de l'application est accessible via une URI unique

Les oprations (notion CRUD) sont uniformes entre les ressources (avec HTTP)

Aucune notion d'tat entre une suite d'actions (= pas de session utilisateur en
HTTP)

18

Conclusion
Technologiquement, les WebServices sont matures pour tre utiliss dans un environnement
de dveloppement distribu. Leur promotion faite par les acteurs principaux du march
informatique en fait une des technologies sur lesquelles il faudra compter dans le futur.On
peut notament trouver des implmentations WebService dans les framework .Net [Microsoft],
WebSphere [IBM], ou WebLogic [BEA], et il existe aussi certains solutions libre (Apache
SOAP, Apache Axis ou uddi4j [IBM/HP]),
Cependant, d'un point de vu innovant, les WebServices n'apportent rellement que peu de
choses par rapport aux technologies distribues dj existantes telles CORBA ou JNI, les
concepts novateurs introduits par les WebServices tant pour le moment exclusivement
rservs au domaine du thorique. Aussi, on est en droit de se demander si l'apparition de
cette technologie est rellement motive par une envie d'volution ou bien uniquement par
une stratgie marketing de la part des grand groupes informatiques partenaires de cette
technologie et coutumiers de genre ...
19

Bibliographie

Programming Web Services with SOAP , Par James Snell,Doug Tidwell,Pavel Kulchenko ,
isbn: 0596000952.
Restful Java Web Services , Jose Sandoval , isbn:1847196462

http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
Bieber, G. and Carpenter, J. (2002). Introduction to Service-Oriented
Programming. http://www.openwings.org
Site official de axis : http://www.ws.apache.org/axis

20