Веб-сервис обычно предлагает WSDL, из которого вы можете автоматически создавать клиентские заглушки. Веб-сервисы основаны на протоколе SOAP . ASP.NET Web API - это новая платформа Microsoft, которая помогает создавать интерфейсы на основе REST . Ответом может быть либо JSON, либо XML, но невозможно автоматически сгенерировать клиентов, потому что Web API не предлагает описание сервиса, такое как WSDL от Web Services. Так что от ваших требований зависит, какой из методов вы хотите использовать. Возможно, даже WCF лучше соответствует вашим требованиям, просто посмотрите документацию MSDN.
Зачем? из этого изображения кажется, что веб-сервисы SOAP нельзя использовать на смартфонах ... или даже на настольных ПК? действительно? кто-то заставляет вас читать JSON вместо XML на этих платформах?
AndreaCi
если вы читаете xml, это не означает, что базовая служба SOAP REST также поддерживает значение с разделением по командам (CSV), нотацию объектов JavaScript (JSON) и действительно простую синдикацию (RSS).
Adiii
7
Веб-сервис, если вы хотите, это веб-API. В частности, веб-API обычно означает веб-службу RESTful (на основе HTTP), а веб-служба обычно означает SOAP + WSDL (+ HTTP или SMTP или JMS ...).
Как правило, веб-службы RESTful противоположны веб-службам (WSDL, SOAP), но недавно был введен термин веб-службы RESTful (с заглавной буквой W), что означает RESTful + WSDL + SOAP.
Веб-сервис абсолютно такой же, как и веб-API, только более ограниченный с точки зрения основного формата данных. Оба используют протокол HTTP и оба позволяют создавать сервисы RESTful. И не забудьте о других протоколах, таких как JSON-RPC - возможно, они подходят лучше.
Не "абсолютно то же самое", если есть ограничения сейчас, не так ли?
Оджонугва Джуд Очалифу
0
В контексте ASP.Net веб-API - это контроллер, базовый класс которого - ApiController и не использует представления. Веб-сервис - это класс, производный от WebService и имеющий автоматическую генерацию WSDL. По умолчанию это API- интерфейс SOAP, но вы также можете использовать JSON, добавив ScriptServiceAttribute .
Единственное отличие состоит в том, что веб-сервис облегчает взаимодействие двух компьютеров по сети. API действует как интерфейс между двумя различными приложениями, так что они могут общаться друг с другом .
API - это метод, с помощью которого сторонние поставщики могут писать программы, которые легко взаимодействуют с другими программами. Веб-служба имеет интерфейс, который отображается в машинно-обрабатываемом формате, обычно указанном в языке описания веб-служб (WSDL).
Все веб-сервисы являются API-интерфейсами, но не все API-интерфейсы являются веб-сервисами.
Веб-сервис - это просто API, завернутый в HTTP.
Это здесь статья дает хорошие знания о веб - службы и API.
Ну, TMK может быть прав в мире Microsoft, но в мире всего программного обеспечения, включая Java / Python / и т. Д., Я считаю, что нет никакой разницы. Это одно и то же.
Веб-сервисы - это стандарт, определенный 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-запрос.
Веб-сервис - это стандарт, определенный W3C, хорошо документированным сервисом для стороннего программного обеспечения для взаимодействия через XML (WSDL / UDDI). Web API - это API через HTTP, плохо документированный, имеет собственный стандарт. А API в целом - это то, что может или не может иметь доступ в Интернет для связи с другими приложениями, и может иметь другие протоколы, например, API для системных вызовов для связи с вашим терминалом / cmd в ОС.
Имам Букс
-3
Две вещи очень просты для понимания,
API: это слой приложения, который может обслуживать другой запрос приложения локально.
Веб-сервис: API, который может обслуживать запросы и отвечать по сети, удаленной системе через Интернет или Интернет.
Примечание. Все веб-службы - это 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 против веб-службы 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 / и т. Д., Я считаю, что нет никакой разницы. Это одно и то же.
источник
Разница между веб-сервисом и веб-API хорошо объяснена здесь:
/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 - это веб-службы.
источник