En général
- Le niveau de service Web favorise la réutilisation des demandes de données courantes pour plusieurs applications
- Le service Web peut être configuré avec une gestion des versions qui évite de nombreux problèmes liés au développement au niveau de l'application. Par exemple, si je suis nouveau dans un projet, quelle application existante dois-je utiliser comme bon modèle pour configurer mon application afin d'utiliser les sources de base de données existantes.
- Le service Web a évolué pour permettre des options flexibles pour envoyer des demandes et obtenir des résultats de réponse dans un format commun tel que JSON en utilisant un simple URI, ce qui signifie que les applications clientes peuvent être développées à l'aide d'une norme plus courante qui encourage des interfaces uniformes fiables.
Je suis juste en train de commencer avec ASP.NET Web Api et je prévois de créer d'abord des services de données.
Je me suis récemment concentré sur les applications Web .NET MVC avec l'utilisation du framework d'entité.
- Si vous utilisez déjà MVC, l'API Web utilise également MVC avec le contrôleur Api, de sorte que la courbe d'apprentissage pour créer les services est assez simple.
Je me suis récemment retrouvé dans une situation frustrante avec une application Web MVC que je construisais à l'origine sur la base de procédures stockées Oracle. La version originale comme Oracle 9 ou même antérieure qui présentait un autre problème avec Visual Studio 2012 poussant une approche de fabrique de connexions plus moderne avec des assemblys de temps de chargement trouvant les bons fichiers dll à utiliser en fonction des connexions de configuration Web et des noms TNS.
Les tentatives de connexion à la base de données ont échoué avec des messages d'erreur «non pris en charge». Par curiosité, j'ai téléchargé Oracle 12c et établi des connexions au niveau de l'application qui fonctionnaient bien avec mes noms TNS et la DLL d'assemblage de charge et j'ai pu travailler avec Oracle sans problème.
Certains services Web créés fonctionnaient avec des connexions à l'ancienne version d'Oracle. Ils ont été construits avec des méthodes spécifiquement mappées sur des tables sélectionnées, à ma grande déception. Je devrais écrire le mien.
On m'a dit que le groupe responsable de la maintenance des bases de données Oracle écrirait de nouvelles procédures stockées pour remplacer les anciennes que j'utilisais pour résumer l'interface client et les couches de logique métier.
Donc, mes premières réflexions ont été que toutes les demandes de données courantes telles que le remplissage de la liste déroulante ou l'auto-complétion avec des données à l'échelle de l'entreprise soient effectuées via des services de données qui appelleraient les procédures stockées Oracle. Pourquoi répéter ce processus sur chaque application et que chaque développeur se débat avec la configuration et l'assemblage de version / charge, les problèmes de TNS?
alors....
- Pour plusieurs problèmes de serveur de base de données, tels que l'utilisation de procédures stockées Oracle dans une application .NET MVC qui pourrait généralement utiliser EF pour l'utilisation des données SQL Server, pourquoi ne pas transmettre ces maux de tête aux méthodes de service Web Api où ces problèmes de configuration peuvent être isolés.
- Encore une fois, l'interfaçage client peut être effectué à l'aide de JavaScript, JQuery et JSON que vous utilisez déjà si vous le faites à l'aide de Web Api pour effectuer des demandes de données SQL Server.
Je suis un développeur / analyste d'applications et non un DBA, donc mon point de vue est basé sur l'expérience avec la frustration sans fin de devoir constamment modifier les applications lorsque les outils de base de données évoluent.