Les Éléments de l’architecture REST : Les représentations de ressources
Pour capturer l’état courant ou prévu d’une ressource, les composants REST effectuent des actions sur la ressource en utilisant “une représentation”. Cette dernière est une séquence d’octets et un ensemble de méta données pour décrire ces octets. communément, une représentation est appelée document, fichier, message http etc.
Sommaire
Représentation
Une représentation est donc un ensemble de données, méta données décrivant les données, et parfois méta données décrivant les méta données (vérification d’intégrité des messages par exemple.).
Les méta données sont sous forme de pairs clef-valeur, la clef correspond a de l’information sur la structure des valeurs et leur sémantique.Les messages de retour incluent des méta données décrivant la représentation et des méta données décrivant la ressource (indépendants de la représentation courante)
Données de Contrôle
Les données de contrôle (Control-data) servent plutôt aux composants, comme l’action faite ou l’objet de la réponse. Ils sont aussi utilisées pour parametriser les requêtes et overrider le comportement par défaut de certains éléments de connectivité. Par exemple, Le comportement du cache peut etre modifié par des données de contrôle inclues dans la requête et la reponse. Aussi, dépendamment du message de données de contrôle, une représentation peut indiquer l’état courant de la ressource sollicitée.
Si l’ensemble de valeurs d’une ressource a un instant donné consiste en des représentations différentes, la négociation de contenu (Content negociation) peut être utilisée pour sélectionner la meilleure représentation a être inclue dans le message.
Media type
Le format d’une représentation, connu sous le nom de “media type”. Une représentation peut être inclue dans un message et traitée par le destinataire conformément aux données de contrôle du message et la nature du media type. Certains media-types ont pour objectif le traitement automatique, tandisque d’autres sont destinés a être visualisés par un utilisateur. La conception du media-type peut donc avoir un impact direct sur la performance percue par un utilisateur dans un système distribué. Un format de données qui met l’information de visualisation la plus importante en avant, de telle sorte que l’information puisse être visualisée au fur et a mesure que les données sont reçues, resulte en une meileure performance (de la perception utilisateur) qu’un format qui doit être entièrement reçu avant le début du traitement.
Conclusion
Plusieurs sources (tutoriaux, frameworks etc.) font une correspondance directe entre les donnée transférées, les ressources et les données de persistance. Par ailleurs, Si vous voulez vous proclamer RESTful, ces trois couches doivent être clairement séparées dans votre application / Service. Aussi, les notions de données de contrôle et des méta données doivent être correctement gérées.
Ainsi, dans ces trois articles a la sauce théorique, nous avons couvert les éléments de données dans l’architecture REST, soit les ressources et les représentations. Dans mes prochains articles, j’essayerai de présenter des exemples concrets qui exposent l’ensemble de ces notions et plus.