Representational State Transfer

Representational State Transfer

REST (Representational State Transfer) est une manière de construire une application pour les systèmes distribués comme le World Wide Web. Le terme a été inventé par Roy Fielding en 2000.

REST nest pas un protocole ou un format, cest un style darchitecture, cest le style architectural original du Web.

Dans cette architecture, un composant lit ou modifie une ressource en utilisant une représentation de cette ressource. Une ressource est une chose nommable, qui peut évoluer avec le temps. Une représentation est une séquence doctets, éventuellement accompagnée de métadonnées (séquence de nom/valeur). Un composant est un acteur, il est relié à dautres composants et à des ressources par des canaux, qui permettent des interactions sans états[1].

Lapplication de cette architecture au Web se comprend sur quelques principes simples :

  • lURI est important : connaître lURI doit suffire pour nommer et identifier une ressource[2] ;
  • HTTP fournit toutes les opérations nécessaires (GET, POST, PUT et DELETE, essentiellement) ;
  • chaque opération est auto-suffisante : il ny a pas détat ;
  • utilisation des standards hypermedia : HTML ou XML qui permettent de faire des liens vers dautres ressources et dassurer ainsi la navigation dans lapplication REST sont souvent utilisés. Néanmoins, lutilisation dautres formats comme JSON ou autres est possible.

Sommaire

Description de REST

Ce style architectural nest pas limité à la réalisation dapplication pour un utilisateur humain. Il est de plus en plus utilisé pour la réalisation darchitectures orientées services utilisant des services Web destinés à la communication entre machines. REST se pose en alternative au style architectural RPC et à la plupart des cas dutilisation de SOAP (bien que lon puisse imaginer des architectures orientées services de style REST mais utilisant la technologie SOAP), alternative censée être plus simple à mettre en œuvre. Les systèmes qui suivent les principes REST de Fielding sont souvent appelés RESTful.

Il met en avant la différence entre létat du client (navigateur, ou bibliothèque cliente du web service), et létat de lapplication (ou état des ressources maintenues par le serveur).

Même si les réponses aux requêtes sont, comme pour SOAP et XML-RPC, souvent en XML, cela na rien dobligatoire. Des réponses JSON ou en objets Java sérialisés sont parfaitement acceptables.

Avantages

La thèse de Roy Fielding précise les avantages de ce style architectural par rapport à dautres styles darchitectures dapplications web. Citons entre autres :

  • Lapplication est plus simple à entretenir, car les liens sont mieux structurés, et de façon universelle ; les liens sont le moteur de létat de lapplication.
  • Labsence de gestion détat du client sur le serveur conduit à une consommation de mémoire inférieure, une plus grande simplicité et donc à une capacité plus grande de répondre à un grand nombre de requêtes simultanées.
  • Labsence de gestion détat du client sur le serveur permet une répartition des requêtes sur plusieurs serveurs : une session client nest pas à maintenir sur un serveur en particulier (via une sticky session dun loadbalancer), ou à propager sur tous les serveurs (avec des problématiques de fraîcheur de session). Cela permet aussi une meilleure évolutivité et tolérance aux pannes (un serveur peut être ajouté facilement pour augmenter la capacité de traitement, ou pour en remplacer un autre).
  • Lutilisation du protocole HTTP en tirant partie de son enveloppe et ses entêtes, à lopposé de SOAP qui ne présuppose pas un protocole : SOAP réinvente un protocole via une enveloppe, des entêtes et un document, à lintérieur du protocole réseau lhébergeant (la plupart du temps HTTP). il ne bénéficie donc pas des caractéristiques HTTP, gérée par linfrastructure réseau (notamment les proxy supportant le cache côté serveur pour des performances plus importantes).
  • Lutilisation dURI comme représentant dune ressource, permet la mise en place de serveurs cache.

Inconvénients

Les principaux inconvénients de REST sont la nécessité pour le client de conserver localement toutes les données nécessaires au bon déroulement dune requête, ce qui induit une consommation en bande passante réseau plus grande. Sil est possible de coupler une application web REST à un service extérieur assurant la permanence des données lors de la durée dune session, par exemple une base de données ou un cookie, on pourrait cependant considérer que lutilisation dun tel service pour gérer des données relatives à une session ouverte par le client serait en violation de la philosophie de REST. REST préfèrera lutilisation de tableaux codés en Javascript présents dans la mémoire du navigateur client.

Lutilisation dun formulaire HTML envoyant ses données avec une méthode comme DELETE ne peut être compris par la plupart des navigateurs. Pour pallier ce problème on émule ce comportement avec un champ caché qui transmettra le type de méthode denvoi des données à lapplication.

Par ailleurs beaucoup dapplications, bien que ne respectant pas scrupuleusement toutes les contraintes de larchitecture REST, sont largement inspirées par elle.

Bibliographie

  • RESTful Web Services, par Leonard Richardson et Sam Ruby, est un ouvrage en anglais sorti en mai 2007. Celui-ci a popularisé le style darchitecture REST[réf. souhaitée].

Voir aussi

Articles connexes

Liens externes

Notes et références

  1. (fr) Thèse de Roy T. Fielding - Traduction du Chapitre 5 : REST 5.2.1.1 Ressources et identifiants de ressource, 5.2.1.2 Représentations, 5.2.2 Connecteurs.
  2. (en) URI/Resource Relationships (Relations URI / Ressources), dans Architecture of the World Wide Web, W3C Recommendation 15 December 2004.



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Representational State Transfer de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • Representational State Transfer — (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. As such, it is not strictly a method for building what are sometimes called web services. The terms “representational state transfer” and… …   Wikipedia

  • Representational state transfer — REST (Representational State Transfer) est une manière de construire une application pour les systèmes distribués comme le World Wide Web. Le terme a été inventé par Roy Fielding en 2000. REST n est pas un protocole ou un format, c est un style d …   Wikipédia en Français

  • Representational State Transfer — Saltar a navegación, búsqueda La Transferencia de Estado Representacional (Representational State Transfer) o REST es una técnica de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web. El término se originó en el… …   Wikipedia Español

  • Representational State Transfer — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • Examples of Representational State Transfer — The following are public examples of Representational State Transfer interfaces.Since REST is defined very broadly, it is possible to claim an enormous number of RESTful applications on the Web (just about everything accessible through an HTTP… …   Wikipedia

  • State (disambiguation) — State or The State may refer to:Government* A sovereign political entity ** State ** Unitary state ** Nation state ** State (law), a well defined jurisdiction, with its own set of laws and courts. *State (country subdivision), a non sovereign… …   Wikipedia

  • Hypertext Transfer Protocol — HTTP Persistence · Compression · HTTPS Request methods OPTIONS · GET · HEAD · POST · PUT · DELETE · TRACE · CONNECT Header fields Cookie · ETag · Location · Referer DNT · …   Wikipedia

  • REST — Representational State Transfer REST (Representational State Transfer) est une manière de construire une application pour les systèmes distribués comme le World Wide Web. Le terme a été inventé par Roy Fielding en 2000. REST n est pas un… …   Wikipédia en Français

  • Rest — Representational State Transfer REST (Representational State Transfer) est une manière de construire une application pour les systèmes distribués comme le World Wide Web. Le terme a été inventé par Roy Fielding en 2000. REST n est pas un… …   Wikipédia en Français

  • REST — Representational State Transfer (Academic & Science » Physics) Representational State Transfer (Academic & Science » Physics) Representational State Transfer (Computing » Networking) * Restricted Environmental Stimulation Technique (Academic &… …   Abbreviations dictionary

Share the article and excerpts

Direct link
https://fr-academic.com/dic.nsf/frwiki/1426594 Do a right-click on the link above
and select “Copy Link”