Quelles sont les meilleures utilisations des services REST?
Je sais que des sites comme Facebook sont maintenant à l'aide des services REST, mais je me demande d'autres applications qui utilisent le REPOS et si il existe des situations particulières lors de l'utilisation de REPOS est plus justifiée que les autres méthodes.
source d'informationauteur Mr. Will
Vous devez vous connecter pour publier un commentaire.
RESTE n'est pas à propos de CRUD services de données. Oui, vous pouvez utiliser le RESTE pour faire un CRUD comme les services, mais qui est comme de dire que les Expressions Régulières sont pour l'analyse des adresses e-mail.
Ici est la meilleure présentation que j'ai vu à date sur le REPOS par rapport à SAVON/RPC débat.
RESTE est beaucoup plus porté vers la résolution de l'distribué client/serveur d'interaction que c'est à propos de la gestion de serveur à serveur d'interactions. Le REPOS est au sujet d'obtenir le contenu en face de l'utilisateur, de sorte qu'ils peuvent choisir quoi faire avec elle. Le REPOS n'est pas sur la création d'un protocole Http couche d'accès aux données de découpler la logique de l'application à partir de sa banque de données.
Atome Pub est un bon REPOS de la mise en œuvre. Netflix API est l'un des meilleurs commerciaux des api REST. L'API Twitter échoue la plupart du Reposante contraintes.
Si vous souhaitez des informations précises à propos de REPOS pour aller à ces endroits:
N'écoutez pas les gros fournisseurs sur le sujet qu'ils sont plus intéressés à faire de leurs produits, mot à la mode compatible.
Suivi:
Il ya quelques raisons qui, je crois, RESTE interfaces sont plus adaptés pour les client/serveur interactions de serveur à serveur d'interactions. C'est juste mon avis et je n'essaie pas de prétendre que cette perspective est tenu par quelqu'un d'autre que moi!
Nombreux à 1 ratio
Les avantages de la mise en cache et un serveur sans état (stateless devenir beaucoup plus évident lorsque vous êtes à la prise en charge de plusieurs clients accèdent à un serveur unique. Un serveur-serveur de communication est souvent 1-1 rarement et qui a un grand nombre de serveurs de communication avec un serveur unique.
Couplage lâche
RESTE est tout au sujet de couplage lâche. L'idée est que vous pouvez continuer à faire évoluer le serveur sans avoir à mettre à jour les clients. Si vous envisagez de mettre en œuvre un service REST sur le serveur qui sera appelée par le serveur B qui est dans la même pièce alors les avantages de la liberté de manœuvre sont réduites. Il ne va pas vous tuer pour mettre à jour un morceau de logiciel sur les deux machines.
Hypermédia
L'hypermédia contrainte est de donner aux utilisateurs des choix basés sur l'actuel état de l'application. RESTE interfaces ad-hoc pour l'exploration d'un lien de système. Server-serveur de communication a tendance à se concentrer sur la réalisation d'une tâche spécifique. par exemple, le Processus de ce lot de données. Déclencher ces événements en se basant sur un calendrier. Intrinsèquement il n'y a pas d'utilisateur assis là, à prendre des décisions quant à la voie à suivre. Le chemin a été prédéterminé sur la base de paramètres et de conditions.
De Performance
Dans un serveur-serveur de communication scénario, il peut être critique pour atteindre un débit maximal. Un protocole binaire peut être plus approprié que Http. La latence peut être critique dans un serveur à un autre type de communication. Dans un environnement client-serveur où l'une des extrémités est piloté par un humain les exigences de performance sont très différents et je crois que le RESTE les contraintes sont les plus adaptés à ce type d'interaction.
Interopérabilité
RESTE recommande l'utilisation de types de médias comme HTTP charges. Cela les encourage à fait fortuite de ré-utiliser les services fournis. Je pense qu'il y a beaucoup plus de possibilités de ré-utiliser les services qui sont destinés à une utilisation par des applications de client que ceux destinés à d'autres serveurs.
Lors de la conception d'interfaces REST j'aime à penser que le consommateur du service est un morceau de logiciel qui est sous le contrôle direct d'un utilisateur. Il n'est pas une coïncidence que d'un navigateur web est appelé un User-Agent.
SAVON est le plus populaire alternative de se REPOSER, et j'ai trouvé quelques bons liens décrivant leurs différences et à utiliser:
L'essentiel, c'est que le REPOS est beaucoup plus simple que ses alternatives (en particulier SAVON), et doit être utilisé lorsque tous vous avez besoin est une fonctionnalité de base (create/read/update/delete), et votre service est apatride.
Si vous voulez un exemple d'application qui utilise le REPOS, CouchDB. (Je ne peux pas penser à tout autre sur le dessus de ma tête.) En plus de cela, de nombreux sites web utilisent, tels que Flickr, del.icio.nous, Bloglines, et Technorati.
Il y a de nombreux exemples. GData et l'Atome Pub Protocole sont sans doute le plus beau. Twitter semble avoir une belle API REST aussi. Amazon S3, le service est également très "RESTful". Malheureusement, de nombreux services qui prétendent être paisible violent les principes de base de REPOS définis par Roy Fielding dans son thèse qui décrit le style architectural REST.
RESTE est d'un style architectural, et non pas un ensemble défini dans la norme ou de la mise en œuvre. De ce fait, il est plus difficile de dire ce qui est et n'est pas un service REST, c'est pourquoi vous entendrez souvent parler de "repos".
RESTE peut être d'une grande (et simple) alternative à SAVON, XMLRPC, et, dans certains cas, des choses comme DCOM et CORBA. Il peut être un moyen très simple pour faciliter la base de calcul distribué et un moyen simple d'exposer une API... surtout en raison de la face qu'il s'intègre bien dans le omniprésent HTTP.
Il y a BEAUCOUP de REPOS interfaces: flickret Google Api de données viennent à l'esprit comme deux grands exemples.
RESTE est idéal pour de simples données d'interaction et apatrides connexions (similaire à HTTP lui-même). Le SAVON est une alternative, et est souvent utilisé pour plus de connexions complexes. Le REPOS est très populaire ces jours-ci et est un bon endroit pour commencer si vous êtes seulement à apprendre pourquoi vous voulez avoir une interface de données. La conception d'interfaces REST est facile à apprendre et a de faibles barrières à l'entrée.
Vous devriez considérer ce que vos clients veulent! La construction d'un grand service SOAP que personne ne veut consommer sera un gaspillage de votre temps. De même, si vos utilisateurs potentiels sont imprégnés de SAVON, puis peut-être que ce que vous devriez leur donner.
Si vous ne savez pas ce que veulent vos utilisateurs, de considérer le sentiment de l'industrie. La plupart des entreprises qui exposent une API publique ces jours-ci d'exposer une API REST. J'aime vraiment la façon dont Foursquare a documenté la leur: https://developer.foursquare.com/overview/
RESTE est efficace si votre but ultime des données sont les opérations CRUD, généralement au sein d'une INTERFACE web, généralement avec de l'AJAX, Flash, Silverlight genre d'expériences, lorsque la sécurité, le cryptage, les transactions ne sont pas le problème, cependant, si vos exigences comprend toute entreprise comme les caractéristiques mentionnées avant (Transactions, le Chiffrement, l'Interopérabilité ... etc) le SAVON est la solution.