Interprétation de la définition et de la philosophie de REST

Interprétation de la définition et de la philosophie de REST

  

REST est un sujet de controverse parmi les amateurs de service Web, car il est considéré comme se présenter à l'opposé de ce que les services Web et SOA essayons de réaliser. Le problème avec cette pensée est que le repos n'est pas en contradiction avec la définition abstraite de l'architecture SOA et services Web. REST est en contradiction avec des technologies telles que SOAP, WSDL et WS-* cahier des charges. Les renseignements suivants donnent une définition rapide de repos: REST est sur la conception de bases de données et le savon est sur le design de l'API. La définition en elle-même est sujet à controverse, comme le fait souvent observer que SOAP peut être utilisé pour créer un document des services basedWeb. Toutefois, ils ratent le fait que le repos ne se réfère pas aux données envoyées entre le client et le serveur. Elle se réfère à la manière de traiter et envoyer ou recevoir les données. Disons que vous écrivez un service Web SOAP, ce qui signifie que vous serez la conception d'un document WSDL. WSDL elle-même implique la définition d'un point d'accès avec des opérations, ou dans la programmation concerne la langue, les API. Les API de mai appuyer le transfert de documents, mais les opérations WSDL sont API. Ce n'est pas une mauvaise chose, juste un point de référence pour dire que SOAP est d'environ API. REST consiste à utiliser le protocole HTTP pour manipuler état indiqué par une ressource. Le langage de programmation SQL est utilisée pour manipuler des données relationnelles. Dans le langage SQL, les verbes, comme INSERT, SELECT, UPDATE, DELETE et effectuer des actions sur les données. REST utilise ces verbes, mais ils sont les verbes HTTP: PUT, POST, GET, et DELETE. Tout ce que vous devez faire pour les données peuvent être exprimées dans ces verbes, peu importe si vous utilisez HTTP ou SQL. Une autre différence entre la conception et l'API de base de données de conception est que, avec la conception des bases, vous travaillez avec des ensembles.

Les ensembles de mai, aucun fait n'a, un ou plusieurs éléments. Le comte ne fait rien. Avec les API, le nombre d'éléments qui importe, car vous avez besoin de créer explicitement des API qui manipulent soit aucun, un ou plusieurs éléments. Aucune de ces comparaisons ont pour but de dire que l'un est bon et l'autre est mauvaise. Au lieu de cela, ils ont pour but d'illustrer le fait que REST et SOAP sont très différents dans leurs approches. Tout cela ressemble à la théorie de gestes de la main, donc le meilleur moyen d'expliquer la théorie est de mettre en place un service utilisant REST. L'application simulateur exemple commence par une approche traditionnelle de l'API, convertit la demande en une approche REST préliminaire, et transforme alors la solution préliminaire sur une solution complète-REST à part entière. La solution REST préliminaire est illustré de démontrer que toutes les solutions reposent tirer parti de toutes les fonctionnalités de repos. Le simple calculatrice ne supporte que la mémoire et l'addition de deux nombres. Le serveur ajoute les deux nombres et génère un résultat. Pour ajouter un nouvel ensemble de nombres, vous devez cliquer sur le bouton Précédent et entrer deux numéros différents. Dans une perspective de transformation, représente le flux entre appeler la page HTML, l'envoi des données vers le serveur, et de générer ensuite le résultat. Dans une application Web traditionnelle, lorsque l'utilisateur clique sur le bouton Envoyer, les données du formulaire HTML (c'est à dire la contenu des deux boîtes de texte) sont recueillis et envoyés au serveur en utilisant un HTTP POST. Le serveur lit et traite les données pour générer la réponse sous la forme d'une page HTML.

Les résultats de ce poste sont fixes. Cela signifie que n'importe quelle page HTML contenant un formulaire HTML, vous pouvez appeler le serveur-generation page côté, mais le résultat est prédéfini. Dans l'exemple, le résultat doit être une page HTML qui peuvent être générés dans une page HTML. Le problème est que pour produire un résultat correct, le serveur doit prendre en compte les feuilles de style ainsi que de rechercher d'autres-and-feel attributs. Si vous pensez cela, l'objectif général du côté serveur POST est de générer un résultat à une requête. Bien sûr, le serveur peut utiliser certaines techniques pour générer les données correctes dans le contexte correct. Cela a conduit à des cadres sophistiqués qui tentent de «régler» le problème de l'affichage du contenu. C'est ce qui rend l'Ajax d'un tel argument de poids lors du développement d'applications Web. Ajax se concentre sur l'envoi et la réception du contenu nécessaire, non pas les bits supplémentaires qui n'ont rien à faire avec le contenu. Lorsque vous utilisez l'Ajax, la page initiale est encore téléchargé, mais la nature des changements HTTP POST. Le même HTTP POST est envoyée, mais la réponse ne doit pas comprendre les codes HTML nécessaires pour créer une page HTML complète. Lors de l'utilisation Ajax, les changements HTTP POST en appel de service AWeb qui demande des morceaux de contenu pour l'injection. La demande change quirky Web revenir à un traditionnel client / serveur, où vous pouvez interroger et de récupérer des morceaux de contenu spécifiques.

Le gestionnaire sait quelle mise en œuvre d'appeler en fonction des informations envoyées à l'URL. Elle appelle la méthode add pour l'addition, et il appelle la méthode de mémoire pour stocker ou de récupérer la mémoire. Dans le cas de la récupération de la mémoire, quelle pièce de la mémoire sont stockées ou récupérées est un paramètre. Les données qui est retourné est emballé comme un message SOAP. SOAP, contrairement à REST, offre des fonctionnalités multiples et des représentations dans une URL unique. Auparavant, il était indiqué que le repos est plus proche d'une base de données, et SOAP s'apparente plus à une API. Cela est compréhensible en raison de la façon dont chaque approche expose son URL, et les données qui sont envoyées et reçues. La sémantique de ce que les données et représente à l'adresse URL est très différente pour SOAP et REST. Dans une approche reste, si vous utilisez HTTP PUT pour enregistrer des données sur le serveur, puis vous assumez pour obtenir les mêmes données lors de l'appel HTTP GET. Dans une approche SOAP, si vous utilisez HTTP PUT, vous ne partez pas à obtenir les mêmes données lors de l'appel HTTP GET. En fait, en utilisant SOAP, vous n'avez aucune idée de ce que les données que vous obtiendrez, en raison SOAP exige un certain type de sémantique qui est associée avec HTTP PUT et GET avec un contrat défini dans un fichier WSDL. La différence entre une base de données et l'API approche devient plus claire en la matière évolue l'exemple de la calculatrice.

À l'origine, la demande reste étant utilisé un ensemble d'URL, mais les URL ont eu tort, car ils équipés d'une approche de l'API sur le dessus d'une approche des ressources. Par exemple, la mémoire du Web est / services/memory/1. L'URL semble correct, mais est en réalité complètement erronée. Comme l'URL est définie, l'emplacement mémoire / services/memory/1 est partagée par tout le monde. Pour faire la distinction entre les différents utilisateurs, la plupart des cadres d'application Web utilisent des cookies. Et les cookies, encore, sont la réponse complètement faux. Imaginez par écrit une demande lorsque vous enregistrez une certaine valeur que vous souhaitez partager avec quelqu'un d'autre. Si vous donnez à l'autre personne l'URL que vous avez utilisé pour stocker les données, cette personne n'a pas pu accéder aux données parce que son identifiant témoin ne serait pas compatible avec votre identificateur de cookie. Le problème est que l'état de la ressource telle que définie par le URL dépend de l'URL et un identificateur de cookie.

Ceci viole les principes REST. Principes reposent l'Etat que si la mémoire est stockée à l'URL / services/memory/1, puis le même état est récupéré peu importe qui accède à l'URL. Un cookie ne peut être utilisé à des fins d'autorisation. L'utilisation d'un cookie, un serveur peut déterminer si une demande est autorisé à voir la représentation de la ressource. La solution est de penser en termes de données et d'envisager l'identifiant de l'emplacement de mémoire comme un identifiant ligne arbitraire qui fait référence à un emplacement mémoire. Cela se traduit par l'ajout étant à la fois un calcul et une opération de mémoire. Lorsque vous rédigez votre demande propre repos, rappelez-vous les points suivants:

• REST consiste à gérer les données, et SOAP consiste à gérer les interfaces API.

• Reposez-vous a des contrats de dynamique et qu'il est, les ressources sont liées et décrit les liens et en utilisant les en-têtes HTTP du client. Par exemple, un client peut définir le marché à des données XML, et un autre peut définir le contrat devant être données HTML. L'adaptation du serveur à chaque envoi par une représentation appropriée d'une ressource.

• Reposez-vous a un ensemble prédéfini de la sémantique en utilisant HTTP GET, HTTP POST, les URL, les ressources, et des représentations.

• SOAP ne dispose pas d'un ensemble prédéfini de la sémantique ou de contrats, car ils sont définis par les méta-données (WSDL).

• REST gère les URL d'une manière dynamique, où les URL sont créées dynamiquement.

• URL dans une approche REST représentent des références à une ressource et non pas nécessairement un fichier sur un disque dur.

un article présenté par Sonja Lande


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article «Comprendre la définition et la philosophie de repos» a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 340 users browsing the articles directory