В общем
- Уровень веб-службы способствует повторному использованию общих запросов данных для нескольких приложений.
- Веб-сервис может быть настроен с управлением версиями, что устраняет многие проблемы, возникающие при разработке на уровне приложений. Например, если я новичок в проекте, какое существующее приложение я использую в качестве хорошей модели для настройки моего приложения для использования существующих источников базы данных.
- Веб-служба эволюционировала, чтобы обеспечить гибкие возможности для отправки запросов и получения результатов ответа в общем формате, таком как JSON, с использованием простого URI, что означает, что клиентские приложения могут разрабатываться с использованием более общего стандарта, который поощряет надежные унифицированные интерфейсы.
Я только начинаю изучать ASP.NET Web Api и планирую сначала создать службы данных.
Недавно я сосредоточился на веб-приложениях .NET MVC с использованием структуры сущностей.
- Если вы уже используете MVC, Web Api также использует MVC с контроллером Api, поэтому процесс обучения для создания служб будет довольно безболезненным.
Недавно я оказался в затруднительном положении с веб-приложением MVC, которое я изначально создавал на основе хранимых процедур Oracle. Первоначальная версия как Oracle 9 или даже более ранняя, представляла еще одну проблему с Visual Studio 2012, продвигая более современный подход фабрики соединений с сборками времени загрузки, которые находили правильные файлы dll для использования на основе подключений веб-конфигурации и имен TNS.
Попытки подключиться к базе данных завершились неудачно с сообщением об ошибке «больше не поддерживается». Из любопытства я загрузил Oracle 12c и установил несколько соединений на уровне приложений, которые отлично работали с моими именами TNS и загружаемой dll сборки, и я смог без проблем работать с Oracle.
Были созданы некоторые веб-службы, которые работали с подключениями к более старой версии Oracle. Однако, к моему разочарованию, они были построены с использованием методов, которые были специально сопоставлены с выбранными таблицами. Придется написать свое.
Мне сказали, что группа, которая отвечала за поддержку баз данных Oracle, будет писать новые хранимые процедуры для замены старых, которые я использовал для абстрагирования клиентского интерфейса и уровней бизнес-логики.
Итак, моя первая мысль заключалась в том, что все общие запросы данных, такие как заполнение раскрывающегося списка или автоматическое завершение данными в масштабе предприятия, должны выполняться через службы данных, которые будут вызывать хранимые процедуры Oracle. Зачем повторять этот процесс для каждого приложения и заставлять каждого разработчика бороться с конфигурацией и сборкой версии / загрузки, проблемами TNS?
так....
- Для нескольких проблем с сервером баз данных, таких как использование хранимых процедур Oracle в приложении .NET MVC, которое обычно может использовать EF для использования данных SQL Server, почему бы не передать эти головные боли методам службы Web Api, где эти проблемы конфигурации могут быть изолированы.
- Опять же, взаимодействие с клиентом может быть выполнено с использованием JavaScript, JQuery и JSON, которые вы уже используете, если вы делаете это с помощью Web Api для выполнения запросов данных SQL Server.
Я разработчик приложений / аналитик, а не администратор баз данных, поэтому моя точка зрения основана на опыте бесконечного разочарования от необходимости постоянно изменять приложения по мере развития инструментов баз данных.