Общедоступный веб-API: что разработчики предпочитают использовать? - PullRequest
6 голосов
/ 21 марта 2010

У нас есть куча данных, которые мы хотели бы представить миру, размещенных на веб-сайте asp-net.mvc.Я хотел бы убедиться, что мы предоставляем его с использованием технологии, которую конечные разработчики могут легко внедрить и не привязанной к какой-либо конкретной платформе, а не с использованием технологии, которая непопулярна / несовместима с разработчиками.

Тип запросовмы ожидаем, что в основном получим результаты поиска (не так много параметров), но в таком случае мы хотели бы иметь возможность выполнять поиск в каталоге и тому подобное, что может быть более сложным.

Учитывая это,Каковы предпочтительные способы сделать это?

Ответы [ 4 ]

9 голосов
/ 21 марта 2010

Windows Communication Foundation может использоваться для создания как служб SOAP (отлично, если ваши потребители - предприятия, использующие Visual Studio / .NET или Java), так и служб REST (для людей на других платформах). Это предпочтительные способы раскрытия общедоступных API.

Если вам нужна максимальная экспозиция, вероятно, лучше всего использовать подход REST, так как его легче использовать из «веб» языков, таких как JavaScript. Microsoft располагает обширными ресурсами для создания API REST с использованием WCF.

Честно говоря, для тех запросов, которые, как вы говорите, вам нужно обработать, которые, кажется, ищут данных, а не изменяют это, разница почти тривиальна - вы Вы можете переключиться с SOAP на REST, просто изменив несколько атрибутов / параметров конфигурации, и вы можете технически даже разместить оба одновременно, используя очень мало дополнительного кода. Пока вы придерживаетесь WCF и не используете устаревшие технологии, такие как ASMX / WSE, все будет в порядке.

Причины использования REST:

  • Расходуется практически из любого места (включая JavaScript, программы чтения RSS и т. Д.);
  • Он популярен (используется Google, Twitter и т. Д.)
  • Поддерживает множество различных форматов данных (JSON, Atom и т. Д.)

Причины использования SOAP:

  • Стандартизированный протокол безопасности (шифрование, отказ от авторства и т. Д.)
  • Распределенные транзакции
  • Очередь сообщений

Это не исчерпывающий список, но он должен дать вам представление о том, для кого предназначены целевые рынки. Если вы размещаете очень открытый, общедоступный сайт, предназначенный для всех и каждого, используйте REST. Если служба является частью бизнес-системы и вам необходимо гарантировать надежность, безопасность и согласованность данных, вам следует использовать SOAP. Выберите подходящую технологию в зависимости от вашего целевого рынка.

8 голосов
/ 21 марта 2010

Создание API RESTful . Как разработчик, который часто использует веб-сервисы, я бы этого и ожидал.

Многие популярные сервисы (digg / twitter / netflix / google) переходят на REST более SOAP, поэтому вам будет разумно последовать их примеру.

1 голос
/ 23 марта 2010

Вы захотите проверить данные. Посмотрите на odata.org и live.visitmix.com/videos Это даст вам доступ к REST, поддержку метаданных, как в SOAP, совместимость со всем офисным стеком, и если вы используете службы данных WCF, вы можете реализовать его за считанные часы, самое большее дни.

Взгляните на netflix.com, они все сделали правильно (ИМХО).

1 голос
/ 21 марта 2010

Если вы создаете REST API, вам также следует создать файл WADL . Это WISDL для отдыха. Они еще не очень хорошо поддерживаются, но их не сложно создать, и они станут более полезными по мере увеличения поддержки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...