web-dev-qa-db-fra.com

Chemin facile à REST sur SQL Server?

Au travail, l'une de nos bases de données principales est en cours d'exécution sur MS SQL Server. Je pense que c'est 2008.

Je le frappe actuellement via UNIXODBC et Freetds d'un hôte Linux. Malheureusement, les Unixodubc/Freetds ne sont pas soutenus par nos administrateurs, de sorte que cela me tombe sur moi. Pour une stratégie à long terme, je veux vous déplacer =ODBC et basculer sur http, à l'aide de SOAP ou REST Appels . L'installation est beaucoup plus facile avec HTTP et la plupart des langues le comprennent, au moins Perl, Python et Ruby, que je développe dans.

Nous avons une quantité décente de SOAP appels configurés sur la base de données pour certains Java processus, afin que nous puissions probablement passer à cette place assez facilement. Nous étions discuter REST aussi, que j'aime aussi parce que c'est un poids plus léger. Notre dBAS n'a pas de REST Interfaces installés, alors je me demandais s'il y avait un plug-in ou un outil pour SQL Server qui peut faire de simples REST Mappings des tables pour nous faire sauter un démarrage. J'ai envisagé d'écrire quelque chose dans Sinatra de Ruby, mais ce serait une dernière chose à mon assiette.

J'ai cherché "SQL Server + Rest", mais il est assez évident que les Googles feront la mauvaise chose avec le mot "repos" et, en conséquence, n'ont rien trouvé de valeur. Donc, si vous avez une expérience avec quelque chose qui fournit REST et sentit que c'était un bon outil puis le casillon.

7
the Tin Man

Si vous êtes sur SQL Server 2008 R2, je vous recommande de jeter un coup d'œil au Open Data Protocol (également appelé ODATA). Microsoft a un peu FAQ sur elle également, et il y a un Java Bibliothèque client disponible.

Regardez également SQLrest , qui expose des bases de données relationnelles à l'aide de services Web et fonctionne avec la plupart des bases de données disposant d'un pilote JDBC.

5
goric

Fond
[.____] de Wikipedia API reposante

Le repos a été initialement décrit dans le contexte de HTTP, mais ne se limite pas à ce protocole. Les architectures reposantes peuvent être basées sur d'autres protocoles de couche d'application si elles fournissent déjà un vocabulaire riche et uniforme pour les applications basées sur le transfert d'un état de représentation significatif. Les applications reposantes maximisent l'utilisation de l'interface préexistante, bien définie et d'autres capacités intégrées fournies par le protocole réseau choisi et minimisent l'ajout de nouvelles fonctionnalités spécifiques à l'application.

De l'article MSDN anti-motifs à éviter dans les applications N-TIER

Le reste ou le transfert d'état de représentation est un type de service Web qui gagne rapidement en popularité. Vous pouvez donc vous demander quelle est la différence entre services reposants et services Web personnalisés, et pourquoi vous pourriez choisir un type sur l'autre. La différence de clé entre les deux types est que REST Services est centrée sur les ressources tandis que les services personnalisés sont centrés sur le fonctionnement. Avec repos, vous divisez vos données en ressources, donnez à chaque ressource une URL et mettez en œuvre Opérations standard sur ces ressources permettant la création, la récupération, la mise à jour et la suppression (CRUD). Avec des services personnalisés, vous pouvez mettre en œuvre une méthode arbitraire, ce qui signifie que l'accent est mis sur les opérations plutôt que les ressources et ces opérations peuvent être adaptées. aux besoins spécifiques de votre application.
...
[.____] Si vous pouvez correspondre à votre service dans les contraintes de repos, cela vous achètera beaucoup d'avantages. Les services de données ADO.NET en combinaison avec le cadre d'entité facilitent la création de services reposants et de clients à travailler avec eux. Le cadre peut fournir automatiquement plus de fonctionnalités aux services reposants car les services sont contraints de suivre un modèle spécifique.

Mise en œuvre

  • Services de données WCF "Services de données ADO.NET expose les données, représentées comme des objets de modèle de données d'entité (EDM), via des services Web accessibles sur http. Les données peuvent être adressées. en utilisant un rayon de repos "

    Ce document explique comment créer et utiliser des services de données Microsoft® Ado.net et discute de divers détails autour des formats URI et de charge utile. Ce document est conçu comme une introduction aux services de données Ado.net et couvre ainsi les aspects essentiels de la technologie, différant des discussions sur des sujets plus avancés aux documents de compagnie.

    L'objectif de Microsoft® Ado.net Data Services est d'activer les applications d'exposer des données sous forme de service de données pouvant être consommé par des clients Web au sein des réseaux d'entreprise et sur Internet. Un service de données est accessible via des demandes HTTP régulières, à l'aide de verbes HTTP standard tels que GET, POST, Mettez et Supprimer pour effectuer des opérations de CRUD contre le service. Le format de charge utile utilisée par le service est contrôlable par l'application, mais toutes les options sont simples, des formats ouverts tels que JSON et ATOM/APP.

    L'utilisation de technologies respectueuses de la bande Web fabriquez des services de données ADO.NET idéales comme une back-back-terminale pour les applications de style Ajax, des applications interactives riches et d'autres applications qui doivent fonctionner contre des données stockées sur le Web.

  • ou pour une version entièrement personnalisée, examinez: Canonical REST Service d'entité "démontre un REST Service construit avec WCF 4 qui respecte pleinement Spécifications HTTP pour l'utilisation de GET, Mettez, post, Supprimer et inclut des tests d'unité pour tester la conformité "

2
Andrew Bickerton