0% ont trouvé ce document utile (0 vote)
104 vues5 pages

Rest

Ce document décrit les services web REST, y compris leur définition, objectifs, méthodes, principes, architecture et avantages/inconvénients. Il explique les concepts clés de REST comme le client-serveur, l'état sans état, le cache et les systèmes en couches.

Transféré par

diambar sene
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
104 vues5 pages

Rest

Ce document décrit les services web REST, y compris leur définition, objectifs, méthodes, principes, architecture et avantages/inconvénients. Il explique les concepts clés de REST comme le client-serveur, l'état sans état, le cache et les systèmes en couches.

Transféré par

diambar sene
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

SERVICE WEB REST

PLAN
Introduction

I. Définition

II Objectifs de REST
III. Méthodes reposantes

IV. Principes et contraintes de RESTFul

V. Architecture de service web Rest

VI. Avantages Rest

VII. Inconvénients Rest

Conclusion

Introduction

En 2004, le consortium Web a également publié la définition d'une norme supplémentaire appelée
RESTful. Au cours des deux dernières années, cette norme est devenue très populaire. Et est utilisé
par de nombreux sites Web populaires dans le monde, notamment Facebook et Twitter.

I. Définition

REST est un moyen d'accéder aux ressources qui se trouvent dans un environnement particulier. Par
exemple, vous pourriez avoir un serveur qui pourrait héberger des documents ou des images ou des
vidéos importants. Tout cela est un exemple de ressources. Si un client, par exemple un navigateur
Web, a besoin de l'une de ces ressources, il doit envoyer une demande au serveur pour accéder à ces
ressources. Désormais, les services REST définissent un moyen d'accéder à ces ressources.

I.1. Corps de la demande

Les données sont envoyées avec la demande. Les données sont normalement envoyées dans la
requête lorsqu'une requête POST est envoyée aux services Web REST. Dans un appel POST, le client
indique en fait aux services Web REST qu'il souhaite ajouter une ressource au serveur. Par
conséquent, le corps de la demande aurait les détails de la ressource qui doit être ajoutée au
serveur.

2. Corps de la réponse

Il s'agit du corps principal de la réponse. Ainsi, dans notre exemple d'API RESTful, si nous devions
interroger le serveur Web via la requête http://demo.guru99.com/employee/1, le serveur Web
pourrait renvoyer un document XML avec tous les détails de l'employé dans la réponse Corps.
3. Codes d'état de réponse

Ces codes sont les codes généraux qui sont renvoyés avec la réponse du serveur Web. Un exemple
est le code 200 qui est normalement renvoyé s'il n'y a pas d'erreur lors du renvoi d'une réponse au
client.

II Objectifs de REST
• Augmenter les performances

• l'évolutivité

• la simplicité

 la modifiabilité

• la visibilité

• la portabilité et la fiabilité.

III. Méthodes reposantes

Le diagramme ci-dessous montre principalement tous les verbes (POST, GET, PUT et DELETE) et un
exemple d'API REST de ce qu'ils signifieraient.

Supposons que nous ayons un service Web RESTful défini à l'emplacement.


http://demo.guru99.com/employee. Lorsque le client fait une requête à ce service Web, il peut
spécifier l'un des verbes HTTP normaux de GET, POST, DELETE et PUT. Voici ce qui se passerait si les
verbes respectifs étaient envoyés par le client.

POST - Cela serait utilisé pour créer un nouvel employé à l'aide du service Web RESTful

GET - Ceci serait utilisé pour obtenir une liste de tous les employés utilisant le service Web RESTful

PUT - Ceci serait utilisé pour mettre à jour tous les employés utilisant le service Web RESTful

SUPPRIMER - Cela serait utilisé pour supprimer tous les employés utilisant les services RESTful

IV. Principes et contraintes de RESTFul


L'architecture REST est basée sur quelques caractéristiques qui sont développées ci-dessous. Tout
service Web RESTful doit respecter les caractéristiques ci-dessous pour être appelé RESTful. Ces
caractéristiques sont également connues sous le nom de principes de conception qui doivent être
suivis lorsque vous travaillez avec des services basés sur RESTful.

1. Client-Serveur RESTful

C'est l'exigence la plus fondamentale d'une architecture basée sur REST. Cela signifie que le serveur
disposera d'un service Web RESTful qui fournira les fonctionnalités requises au client. Le client envoie
une requête au service Web sur le serveur. Le serveur rejetterait la demande ou se conformerait et
fournirait une réponse adéquate au client.

2. Apatride

Le concept d'état sans état signifie qu'il appartient au client de s'assurer que toutes les informations
requises sont fournies au serveur. Ceci est nécessaire pour que le serveur puisse traiter la réponse de
manière appropriée. Le serveur ne doit conserver aucune sorte d'informations entre les demandes
du client. C'est une séquence de questions-réponses indépendante très simple. Le client pose une
question, le serveur y répond de manière appropriée. Le client posera une autre question. Le serveur
ne se souviendra pas du scénario question-réponse précédent et devra répondre à la nouvelle
question de manière indépendante.

3. Cache

Le concept de Cache est d'aider à résoudre le problème des apatrides qui a été décrit dans le dernier
point. Étant donné que chaque demande client du serveur est de nature indépendante, le client peut
parfois redemander la même demande au serveur. C'est même s'il l'avait déjà demandé dans le
passé. Cette requête ira au serveur, et le serveur donnera une réponse. Cela augmente le trafic sur le
réseau. Le cache est un concept implémenté sur le client pour stocker les requêtes qui ont déjà été
envoyées au serveur. Donc, si la même demande est donnée par le client, au lieu d'aller au serveur, il
irait dans le cache et obtiendrait les informations requises. Cela permet d'économiser la quantité de
trafic réseau aller-retour du client au serveur.
4. Système en couches

Le concept d'un système en couches est que toute couche supplémentaire telle qu'une couche
middleware peut être insérée entre le client et le serveur réel hébergeant le service Web RESTFul (la
couche middleware est l'endroit où tout le logique métier est créé. Cela peut être un service
supplémentaire créé avec lequel le client peut interagir avant d'appeler le service Web.). Mais
l'introduction de cette couche doit être transparente afin qu'elle ne perturbe pas l'interaction entre
le client et le serveur.

V. Architecture de service web Rest

VI. Avantages Rest

Facile à comprendre et à implémenter (Framework dans plusieurs

Langages : Java – Python - PHP).


Un client HTTP suffit pour accéder à un service RESTful.
Interopérabilité des systèmes.
Architecture scalable : Possibilité de répartir les requêtes sur plusieurs serveurs.
L'utilisation de formats standards comme JSON ou XML.

VII. Inconvénients Rest


Sécurité est inexistante – Utilisation d’HTTPS + Authentification.
Le client doit conserver des données localement (stateless).
Consommation en bande passante.

VII. Comparaison Rest et Soap


Conclusion
Le transfert d'état de représentation (REST) est un style d'architecture logicielle qui utilise un
sous-ensemble de HTTP. Il est couramment utilisé pour créer des applications interactives qui
utilisent des services Web. Un service Web qui suit ces instructions est appelé RESTful .
Permettre leur lecture et leur modification avec un protocole sans état et un ensemble
d'opérations prédéfinies.

Vous aimerez peut-être aussi