10 ответов:
веб-служба обычно предлагает WSDL из которого можно автоматически создавать клиентские заглушки. Веб-службы основаны на протокол SOAP. Web API-это новая платформа Microsoft, которая поможет вам построить интерфейсы на основе REST. Ответ может быть либо JSON, либо XML, но нет способа автоматически генерировать клиентов, потому что веб-Api не предлагает описание службы, такое как WSDL из веб-служб. Так это зависит от ваших требований какой из методов вы хотите использовать. Возможно, даже WCF соответствует вашим требованиям лучше, просто посмотрите на документацию MSDN.
основное различие между веб-службами и веб-API
Веб-Сервиса:
1) это служба на основе SOAP и возвращает данные в формате XML.
2) он поддерживает только протокол HTTP.
3) он может быть размещен только на IIS.
4) он не является открытым исходным кодом, но может быть использован любым клиентом, который понимает XML.
5) для получения и отправки данных по сети требуется протокол SOAP, поэтому он не является легким архитектура.
Web API:
1) веб-API является службой на основе HTTP и возвращает данные JSON или XML по умолчанию.
2) он поддерживает протокол HTTP.
3) он может быть размещен в приложении или IIS.
4) это открытый исходный код, и он может быть использован любым клиентом, который понимает JSON или XML.
5) он имеет легкую архитектуру и хорош для устройств с ограниченной пропускной способностью, таких как мобильные устройства.
просто вставил резюме связанной статьи:
резюме:
все веб-службы являются API, но все API не являются веб-службами.
веб-службы могут выполнять не все операции, которые выполнял бы API.
веб-служба использует только три стиля использования: SOAP, REST и XML-RPC для связь в то время как API может использовать любой стиль для общения.
веб-служба всегда нуждается в сети для своей работы, тогда как API не нуждается в сети для своей работы.
API-интерфейс облегчает взаимодействие непосредственно с приложением, в то время как веб-сервис ...
Подробнее: разница между API и веб-службой / разница между / API и веб-службой http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
см. ссылку выше для полного ответа.
веб-служба, если вы хотите, является веб-API. Конкретно веб-API, как правило, означает спокойный (на основе протокола HTTP) веб-служб и веб-служб, как правило, означает мыло+язык WSDL (+HTTP или SMTP или ОМС..).
типично RESTful web services противопоставляются веб-службам (WSDL, SOAP), но недавно был введен термин RESTful Web services (с прописной буквой "W"), что означает RESTful+WSDL+SOAP..
проверьте эту диаграмму для различий между тремя концепция: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
надеюсь, что это помогает!
веб-сервис абсолютно такой же, как веб - API-просто немного более ограниченный с точки зрения базового формата данных. Оба используют протокол HTTP и оба позволяют создавать службы RESTful. И не забывайте о других протоколах, таких как JSON-RPC - возможно, они подходят лучше.
Ну, TMK может быть прав в мире Microsoft, но в мире всего программного обеспечения, включая Java/Python/etc, я считаю, что нет никакой разницы. Это одно и то же.
всех веб-сервисов есть API, но все API не веб-сервисов, API, который выставляется на web называют web-сервисов.
разница между веб-сервисом и веб-API хорошо объяснена здесь:
текст из ссылки:
веб-службы-это стандарт, определенный W3C, поэтому к ним можно получить доступ полуавтоматически или автоматически (WSDL / UDDI). Все это основано на XML, так что любой может назвать его. И каждый аспект обслуживания очень хорошо определенный. Существует стандарт описания параметров, стандарт передачи параметров, стандарт ответа, стандарт обнаружения и т. д. так далее. Вы, вероятно, могли бы написать книгу на 2000 страниц, которая описала бы стандарт. Есть даже некоторые "дополнительные" стандарты для выполнения "стандартных" вещей, таких как аутентификация.
несмотря на то, что автоматический вызов и обнаружение едва работают, потому что клиенты довольно бедны, и у вас нет реальной гарантии, что любая служба может быть вызвана из любого клиент.
Web API обычно выполняется как HTTP / REST, ничего не определено, вывод может быть, например. JSON / XML, вход может быть XML/JSON / или простые данные. Нет никаких стандартов для чего-либо => нет автоматического вызова и обнаружения. Вы можете предоставить некоторое описание в текстовом файле или PDF, вы можете вернуть данные в Windows-1250 вместо unicode и т. д. Для описания стандарта это будет брошюра на 2 страницы с некоторой простой информацией, и вы определите все остальное.
Web переключается к Web API / REST. Веб-службы на самом деле не лучше, чем веб-API. Очень сложно разрабатывать и они потребляют гораздо больше ресурсов (пропускная способность и оперативная память)... и из-за всех преобразований данных (запрос->XML->данные->ответ->XML->проверка->преобразование - >данные) очень медленно.
например. В WebAPI вы можете упаковать данные, отправить их сжатыми и un-compress+un-pack на клиенте. В SOAP вы можете только сжать HTML-запрос.
две вещи очень просты для понимания,
- API: это слой на приложение, которое может служить другим приложением запрос локально.
- webs Service: это API, который может обслуживать запрос и отвечать на запросы сетевая форма удаленной системы через интернет или интернет .
Примечание.: Все веб-службы-это API, но не все API - это веб-службы

Comments