Sunteți pe pagina 1din 23

Les services web

Concepts et application

Sommaire

Cest quoi un service web ?

Rappel sur HTTP

Lide des services web

Les protocoles des services web

Types des services web

Cycle de vie dutilisation

REST: principes et tuto

Apps

Jeux

Cest quoi un service web ?

W3C:

Un service Web est un composant logiciel identifi par une URI, dont les interfaces
publiques sont dfinies et appeles en XML. Sa dfinition peut tre dcouverte par
d'autres systmes logiciels. Les services Web peuvent interagir entre eux d'une manire
prescrite par leurs dfinitions, en utilisant des messages XML ports par les protocoles
Internet.

Dico Du Net

Une technologie permettant des applications de dialoguer distance via Internet


indpendamment des plates-formes et des langages sur lesquels elles reposent.

Wikipdia:

Un service Web est un programme informatique permettant la communication et


l'change de donnes entre applications et systmes htrognes dans des
environnements distribus. Il s'agit donc d'un ensemble de fonctionnalits exposes sur
internet ou sur un intranet, par et pour des applications ou machines, sans intervention
humaine, et en temps rel.

Protocole HTTP:

Dfinition

Cest un protocole de communication Client-Serveur permettant de rcuprer


des documents du serveur de type statique ou dynamique (PDF, Images, PHP,
html ...).

Comment cela fonctionne ?

Serveur web
Client
Connexion
Socket
IPS=
PORT=80

GET/doc.html

Rponse HTTP + statu

Doc.html

:ServerSocket
PORT=80
Accpet()

Socket
IPC=
PORT=80

Dconnexion
Doc.html

Les mthodes du HTTP

GET: pour rcuprer le contenu dun document

POST: pour soumettre un formulaire

PUT: pour envoyer un fichier du client vers le serveur

DELET: Permet de demander au serveur de supprimer un document

HEAD: permet de rcuprer les infos sur un document

Le client envoi la requte:

Mthode POST:

POST/Nom_Script HTTP/1.0
Accept: text/html
Accept-Language: fr

Entte de la
requte

Var1=val1& var2=val2&

Corps de la
requte

Mthode GET:

GET/Nom_Script?
var=val&var1=val1
HTTP/1.0
Accept: text/html
Accept-Language: fr

Le serveur retourne la rponse:

HTTP/1.0 200 OK
Date: XXXXXXXX
Server: Apache/1.3.24
Last_Modified:XXXXXXXXX
Content-type: Text/html
Content_lenght: 4250

<HTML>
<BODY>
.
.
.
</BODY>
</HTML>

Entte de la
rponse

Corps de la
rponse

Lide des services web


Serveur web

Client
Requte
PHP

Xservice

JAVA
Rponse
.NET

+methode1();
+methode2();

Les protocoles du web service

Protocole SOAP(Simple Object Access Protocol)


protocole dchange inter application bas sur XML et transport dans
HTTP

Protocole WSDL(Web Service Description Language)


Donne la description au format XML du web service, cest lquivalant
de lIDL au niveau de CORBA

UDDI(Universal Description, Discovery and Integration)


Normalise une solution dannuaire distribu de web services,
permettant la fois la publication et lexploration de web services.

Types des services web

Etendus: utilisent les standard UDDI/WSDL/SOAP

REST(REpresentational State Transfer) utilisent:

Directement HTTP au lieu dune enveloppe SOAP

Un URI pour nommer ou identifier une ressource

Les mthode POST, GET pour effectuer les oprations de base CRUD

Mais:

REST nest pas un remplacement gnrique de SOAP

REST utilise WADL pour dcrire les contrats, et qui est non standardis

Cycle de vie dutilisation

Service WEB
REST

REST ( Representational State Transfer)

REST dcrit un style d'architecture logicielle permettant


de construire une application devant fonctionner sur des
systmes distribus, typiquement internet.

Principes directeurs

Architecture client serveur.

Sans tat : deux requtes d'un client sont indpendantes.

Utilisation de mcanismes de cache possible, systme en couche.

Interface uniforme : tout lment offert la manipulation par lapplication


est nomm ressource et est identifi de manire unique par les Identifiants
de Ressource Uniforme (URI) suivant le schma:
http_URL = http: // host [: port]

Avantages de REST

REST est lger et simple : les messages sont courts, faciles dcoder par le
navigateur et par le serveur dapplication.

REST est auto-descriptif : on peut naviguer travers ses ressources comme si


on est sur une page Web. Il y a une URL intuitive unique pour chaque
ressource. On peut facilement en dduire la structure des ressources sans
avoir besoin de beaucoup de documentation.

REST est stateless (il nest pas adapt aux transactions longues et
complexes)

REST peut tre gr en cache: les ressources simples, identifiables sont aussi
faciles mettre en cache quun article sur un site Internet,

Inconvnients de REST

La consommation en bande passante rseau est trs grande (conservation


locale de toutes les donnes ncessaires).

JAX-RS

Java dfinit REST via le Java Specification Request (JSR). Cette spcification
est appel JAX-RS (API Java pour les services Web).

JAX-RS utilise annotations pour dfinir la pertinence de REST des classes Java.

Jersey

Jersey est l'implmentation de rfrence pour la spcification JSR.

Jersey fournit une bibliothque pour mettre en uvre les web services
ct serveur.

Sur le ct serveur Jersey fournit une implmentation de servlet qui


scanne les classes prdfinies pour identifier les ressources REST.

La mise en uvre Jersey fournit galement une bibliothque cliente


pour communiquer avec un service web.

Servlet Jersey
http://your_domain:port/display-name/url-pattern/path_from_rest_class

Cette servlet analyse la requte HTTP entrant et slectionne la classe


correcte et mthode pour rpondre cette demande. Cette slection
est base sur les annotations dans la classe et les mthodes.

Une application Web REST consiste, par consquent, sur les ressources
et services.

@ Annotations

@PATH : pour indiquer le chemin URL.

@GET : pour indiquer que la mthode va rpondre a une requte http get

@POST : pour indiquer que la mthode va rpondre a une requte http post

@PRODUCES : pour indiquer le type de rponse : XML, HTML, TEXT.

Merci pour votre attention

S-ar putea să vă placă și