Ceci est une question de plusieurs parties. Je viens de regarder une présentation très intéressante sur YQL par le développeur principal (diplômé de mon programme MS). Bien que c'était très convaincant et que je suis impatient de l'essayer, je me demande si quelqu'un connaît des cadres alternatifs pour interroger plusieurs API de service Web pour les faire apparaître sans couture, le but apparent de YQL? P>
La stratégie de Yahoo a été de créer des définitions de schéma XML qui lient des paramètres de service Web donné dans leurs paramètres de requête de table Open YQL, que je pense est très intelligent. Existe-t-il un outil qui tente (peut-être que je suis naïf ici) d'automatiser la découverte des paramètres en disant une API de repos? Je suis conscient qu'avec des API de savon, car il existe une WSDL publiée, elle facilite l'automatisation, mais il n'y a pas encore de moyen de le faire avec repos? Est-ce que quelqu'un essaie d'essayer? P>
3 Réponses :
Oui, les gens tentent de produire des description langagnes pour se reposer. L'effort le plus populaire est Wadl. Il y a beaucoup de questions sur Wadl ici. Est-ce que c'est une bonne idée? À mon avis non. P>
Le reste n'a pas besoin d'un modèle de découverte au-delà de ce qu'il a déjà avec HyperMedia, car il tente de résoudre un problème à une autre couche architecturale différente de celle des services Web. Services Web fournit des données sur le modèle logique / domaine d'entreprise d'une application. Le repos consiste à fournir du contenu et du comportement à une couche de présentation. P>
Que diriez-vous d'une analogie? Pensez aux différents d'un objet et d'une structure en C ++. Une structure n'est que des données simples que certains processus client vont manipuler. C'est ce que fait un service Web, il renvoie une partie de données, une structure. Bien sûr, il a fait un tas de traitement latéral du serveur pour produire le résultat, mais le résultat final est un bloc de données. Une interface de repos offre un objet. C'est-il contient les deux données et les méthodes pouvant être utilisées pour manipuler cet objet. Par définition, si vous comprenez l'interface uniforme et que vous comprenez le type de support retourné, vous savez déjà ce que vous pouvez faire avec la réponse. Les mécanismes de découverte sont redondants. P>
Si vous trouvez cela difficile à croire, les réflexions sur le Web. Comment un navigateur Web découvre-t-il des pages Web? Le Web n'a pas de mécanisme de découverte formalisé, et pourtant, il existe un monde d'informations que nous pouvons découvrir avec un navigateur Web. P>
Je ne suis pas d'accord avec cette réponse, je ne pense pas que le repos ne limite que de délivrer du contenu (et un comportement) à une "couche de présentation". Et j'envisageais un comportement contraignant de mauvaise pratique.
@ELLOCOCOCOCOCO Si vous me faites comprendre que les contraintes de repos sont violées par «comportement contraignant au repos» et les effets du système négatif de ces violations, je pourrai peut-être comprendre pourquoi vous considérez une «mauvaise pratique».
Comprenez-vous le français? fr.wikipedia.org/wiki/representival_state_transfert dans la livraison "Comportement" Je suppose que vous parlez de la 6ème (contrainte facultative) Code à la demande de services de repos. Si tel est le cas, cela est généralement considéré comme une mauvaise pratique car "un état devient dépendant du client et non du serveur qui contredit la règle 2." Si vous parlez de point 4.3 "Les réponses expliquent leur nature", même sur ce cas, nous avons besoin de plusieurs fois des services pour expliquer la nature des résultats avant d'exécuter la demande elle-même (systèmes de découverte d'adaptation / auto)
@Ellocococoloco Oui, je comprends le français. Non, je ne parle pas de morue. La présence de types de relation de liaison dans les réponses décrivent le comportement disponible et le mécanisme d'interaction. La présence d'un lien "Suivant" dans une réponse identifie un client s'il peut transmettre à la ressource "suivante" ou non. Ceci est une description du comportement potentiel.
Je pense que vous conférez de nombreuses logiques à ce qui est un service de repos, et vos idées sont dans une couche supérieure mais pas au repos lui-même. Rest.Elkstein.org a une bonne définition sur ce qui est le repos. «Le repos est une alternative légère aux mécanismes tels que RPC (appels de procédure à distance) et les services Web (savon, WSDL, et al.)» Je ne suis pas d'accord avec votre analogie sur les classes et les structures. Wadl (ou un autre) juste un moyen de définir des "contrats". Comme spécifié ici: Stackoverflow.com / Questions / 1312087 / ... , rien de plus. Salutations.
@Ellocococoloco Avez-vous lu ceci? ROY.GBIV.COM/untangled/2008/Rest- APIS-BE-BE-HYPERTEXT-PDIV EN Puis-je vous demander respectueusement de dépenser plus de temps à rechercher ce qui reste vraiment avant de commencer à éduquer les autres?
Je me soucie d'éduquer les autres, je donne juste mon opinion sur la base de l'expérience dans la vie réelle. J'ai laissé les vers de bibliothèques éduquer les autres, ils ont le temps de le faire et de les faire sentir intelligents. Je pense que la première thèse sur le repos a complètement glissé des mains de l'auteur, principalement parce que le terrible manque de détails pratiques dans de nombreux aspects (vous pouvez le voir dans le lien que vous avez généreusement affiché, pas une ligne unique de mise en œuvre pratique) "Si l'évolution serait n'ont suivi que des règles sans sentier et erreur que nous tenons à une branche d'arbre, certains où en Afrique vaut ou encore mieux ".)
@Ellocococoloco Ne laissez pas le fait que vous ne pouvez pas voir les implications pratiques des mots de Fielding vous laissez penser qu'ils n'existent pas. J'ai construit des systèmes à base de repos de production réels pendant 8 ans, en appliquant les contraintes de repos comme indiqué dans la thèse. Si vous n'avez aucun intérêt à éduquer les autres sur ce que vous avez appris, alors je vous suggère de garder vos opinions à vous-même. J'ai passé de nombreuses années ici pour essayer d'aider les gens à ne pas faire les mêmes erreurs que je l'ai faites et que je n'apprécie pas l'inférence que je le fais pour me sentir intelligent.
Il y a ce petit site web http://zachgrav.es/yql/tampaw/ qui En effet, découvre automatiquement les paramètres dans une API de repos et le transforme en une table compatible YQL. P>
Il y a deux façons de trouver des informations. Soit vous utilisez une langue de 100% sans ambiguïté ou vous utilisez une langue naturelle. Tout ce qui existe entre comme YQL est condamné à échouer car il ne fournit ni ne fonctionne bien qu'avec les exemples de ses auteurs. P>
J'ai blogué à ce sujet à http: //zscraper.wordpress .COM / 2012/05/30 / assez-avec-Crawling-2 . Ma position personnelle est que vous obtiendrez toujours les résultats les plus précis si vous faites d'abord vos devoirs, c'est-à-dire étudier le domaine cible et déterminez comment la mettre en question sans ambiguïté. P>
Pour répondre à votre question et vous donner une alternative - essayez bobik strong> . Il s'agit d'un service de raclage soutenu par des nuages que vous contrôlez via API de repos. Composez vos "requêtes" dans la syntaxe traditionnelle (Bobik prend en charge JavaScript, JQuery, XPath et CSS) et appelez BOBIK pour les exécuter à partir de tout environnement côté client (WebPages, applications mobiles ou votre serveur). P>
J'espère que cela aide. P>
Le site Web, utiliserbobik.com , n'existe plus. Je crois aussi que le service n'est plus disponible.
Je suis très sceptique qu'un outil de découverte automatique existe pour les API de repos depuis la même entité pouvant avoir de nombreuses représentations différentes. Et peut définir ad-hoc quel paramètre il accepte. Wadl tente de mieux rendre les choses, mais je pense que c'est mort dans l'eau car elle va à l'encontre de l'esprit minimaliste des développeurs de repos. Bonne question. +1