Есть ли разница между веб-API и веб-сервисом ? Или они одно и то же?
Есть ли разница между веб-API и веб-сервисом ? Или они одно и то же?
Ответы:
Веб-сервис обычно предлагает WSDL, из которого вы можете автоматически создавать клиентские заглушки. Веб-сервисы основаны на протоколе SOAP . ASP.NET Web API - это новая платформа Microsoft, которая помогает создавать интерфейсы на основе REST . Ответом может быть либо JSON, либо XML, но невозможно автоматически сгенерировать клиентов, потому что Web API не предлагает описание сервиса, такое как WSDL от Web Services. Так что от ваших требований зависит, какой из методов вы хотите использовать. Возможно, даже WCF лучше соответствует вашим требованиям, просто посмотрите документацию MSDN.
Основное различие между веб-сервисами и веб-API
Веб-сервис:
1) Это сервис на основе SOAP, который возвращает данные в формате XML.
2) Поддерживается только протокол HTTP.
3) Это не открытый код, но может использоваться любым клиентом, который понимает XML.
5) Для получения и отправки данных по сети требуется протокол SOAP, поэтому это не легкая архитектура.
Веб-API:
1) Web 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 обычно означает веб-службу RESTful (на основе HTTP), а веб-служба обычно означает SOAP + WSDL (+ HTTP или SMTP или JMS ...).
Как правило, веб-службы RESTful противоположны веб-службам (WSDL, SOAP), но недавно был введен термин веб-службы RESTful (с заглавной буквой W), что означает RESTful + WSDL + SOAP.
Проверьте эту таблицу на предмет различий между тремя концепциями: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
Надеюсь, поможет!
Веб-сервис абсолютно такой же, как и веб-API, только более ограниченный с точки зрения основного формата данных. Оба используют протокол HTTP и оба позволяют создавать сервисы RESTful. И не забудьте о других протоколах, таких как JSON-RPC - возможно, они подходят лучше.
В контексте ASP.Net веб-API - это контроллер, базовый класс которого - ApiController и не использует представления. Веб-сервис - это класс, производный от WebService и имеющий автоматическую генерацию WSDL. По умолчанию это API- интерфейс SOAP, но вы также можете использовать JSON, добавив ScriptServiceAttribute .
API и веб-сервис служат средством общения.
Единственное отличие состоит в том, что веб-сервис облегчает взаимодействие двух компьютеров по сети. API действует как интерфейс между двумя различными приложениями, так что они могут общаться друг с другом . API - это метод, с помощью которого сторонние поставщики могут писать программы, которые легко взаимодействуют с другими программами. Веб-служба имеет интерфейс, который отображается в машинно-обрабатываемом формате, обычно указанном в языке описания веб-служб (WSDL).
Все веб-сервисы являются API-интерфейсами, но не все API-интерфейсы являются веб-сервисами.
Веб-сервис - это просто API, завернутый в HTTP.
Это здесь статья дает хорошие знания о веб - службы и API.
Ну, TMK может быть прав в мире Microsoft, но в мире всего программного обеспечения, включая Java / Python / и т. Д., Я считаю, что нет никакой разницы. Это одно и то же.
/software/38691/difference-between-web-api-and-web-service
Веб-сервисы - это стандарт, определенный W3C, поэтому к ним можно получить полуавтоматический или автоматический доступ (WSDL / UDDI). Все это основано на XML, так что каждый может его назвать. И каждый аспект сервиса очень четко определен. Есть стандарт описания параметров, стандарт передачи параметров, стандарт ответа, стандарт обнаружения и т. Д. И т. Д. Вы, вероятно, могли бы написать книгу на 2000 страниц, в которой описывался бы стандарт. Есть даже некоторые «дополнительные» стандарты для выполнения «стандартных» вещей, таких как аутентификация.
Несмотря на то, что автоматический вызов и обнаружение едва работает, потому что клиенты довольно бедны, и у вас нет реальной гарантии, что любая служба может быть вызвана с любого клиента.
Web API обычно выполняется как HTTP / REST, ничего не определено, вывод может быть, например, для. JSON / XML, входные данные могут быть XML / JSON / или обычные данные. Нет никаких стандартов для чего-либо => нет автоматического вызова и обнаружения. Вы можете предоставить некоторое описание в текстовом файле или PDF, вы можете вернуть данные в Windows-1250 вместо юникода и т. Д. Для описания стандарта это будет двухстраничная брошюра с простой информацией, и вы определите все остальное.
Интернет переключается на веб-API / REST. Веб-сервисы действительно не лучше, чем веб-API. Очень сложен в разработке и потребляет гораздо больше ресурсов (пропускной способности и оперативной памяти) ... и из-за всех преобразований данных (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) очень медленный.
Например. В WebAPI вы можете упаковать данные, отправить их в сжатом виде и распаковать + распаковать на клиенте. В SOAP вы могли только сжимать HTML-запрос.
Все WebServices - это API, но все API не являются WebServices, API, предоставляемый в Web, называется веб-сервисами.
Две вещи очень просты для понимания,
Примечание. Все веб-службы - это API, но не все API - это веб-службы.