В чем разница между веб-сервисом и API? Разница больше, чем протокол, используемый для передачи данных? Спасибо.
В чем разница между веб-сервисом и API? Разница больше, чем протокол, используемый для передачи данных? Спасибо.
Ответы:
API (интерфейс прикладного программирования) - это средство, с помощью которого третьи стороны могут писать код, который взаимодействует с другим кодом. Веб-сервис - это тип API, который почти всегда работает по HTTP (хотя некоторые, например SOAP, могут использовать альтернативные транспорты, например SMTP). Официальное определение W3C говорится , что Web - сервисы не обязательно использовать HTTP, но это почти всегда так , и, как правило , предполагается , если не указано иное.
В частности, примеры веб-служб см. В разделах SOAP , REST и XML-RPC . Пример API другого типа, написанного на C для использования на локальном компьютере, см. В API ядра Linux .
Что касается протокола, API веб-службы почти всегда использует HTTP (отсюда и веб-часть) и определенно включает в себя связь по сети. API в целом могут использовать любые средства связи, которые они пожелают. API ядра Linux, например, использует прерывания для вызова системных вызовов, составляющих его API, для вызовов из пространства пользователя.
По сути, веб-сервис - это метод связи между двумя машинами, в то время как API - это открытый уровень, позволяющий программировать против чего-либо.
У вас вполне может быть API, и основным методом взаимодействия с этим API является веб-сервис.
Технические определения (любезно предоставленные Википедией):
Интерфейс прикладного программирования (API) - это набор подпрограмм, структур данных, классов объектов и / или протоколов, предоставляемых библиотеками и / или службами операционной системы для поддержки построения приложений.
Веб-служба (также веб-служба) определяется W3C как «программная система, предназначенная для поддержки взаимодействия компьютеров между компьютерами по сети».
В общем смысле вебсервис IS API через HTTP. Они часто используют JSON или XML, но есть и другие подходы.
API - это опубликованный интерфейс, который определяет, как компонент A взаимодействует с компонентом B.
Например, Doubleclick имеет опубликованный Java API, который позволяет пользователям опрашивать таблицы базы данных, чтобы получить информацию об их рекламной кампании в Интернете.
например, вызов GetNumberClicks (имя пользователя)
Чтобы реализовать API, вы должны добавить файл DoubleClick .jar в путь к классам. Звонок местный.
Веб-сервис - это форма API, в которой интерфейс определяется с помощью WSDL. Это позволяет удаленно вызывать интерфейс через HTTP.
Если бы Doubleclick реализовал их интерфейс как веб-сервис, они использовали бы что-то вроде Axis2, работающее внутри Tomcat.
Удаленный пользователь будет вызывать веб-сервис
например, вызов GetNumberClicksWebService (имя пользователя)
и сервис GetNumberClicksWebService будет вызывать GetNumberClicks локально.
API (интерфейс прикладного программирования), полная форма которого сама по себе предполагает, что это интерфейс, который позволяет вам программировать для вашего приложения с помощью или поддержкой какого-либо другого интерфейса приложения, который предоставляет некоторую функциональность, полезную для вашего приложения.
Например, для отображения обновленных курсов обмена валют на вашем веб-сайте потребуется сторонний интерфейс для программирования, если только вы не планируете иметь собственную базу данных с курсами валют и регулярно обновлять их. Этот набор функций доступен, когда он уже доступен кому-то другому, и когда он хочет поделиться им с другими, у него должна быть конечная точка для связи с другими, кто заинтересован в таких взаимодействиях, чтобы они развернули его в сети посредством веб-интерфейса. Сервисы. Эта конечная точка - не что иное, как интерфейс их приложения, который вы можете программировать, следовательно, API.
Думайте о веб-сервисе как о веб-интерфейсе. В настоящее время API - это такой общий термин, поэтому веб-сервис - это интерфейс с функциональностью, обычно связанной с бизнесом, которую вы можете получить из сети по различным протоколам.
Проверь это http://en.wikipedia.org/wiki/Web_service
Как упоминалось в ссылке, Web API - это разработка веб-сервисов, которая, скорее всего, относится к Web 2.0, тогда как сервисы на основе SOAP заменяются коммуникациями на основе REST. Обратите внимание, что для служб REST не требуются определения API-интерфейса служб XML, SOAP или WSDL, поэтому они существенно отличаются от традиционных веб-служб.
Другой пример: API карты Google против веб-службы API направления Google, в то время как первый обслуживает (доставляет) на сайт файл javascript (который затем может использоваться как API для создания новых функций), второй - веб-сервис Rest, доставляющий данные ( в формате json или xml), который можно обрабатывать (но не использовать в смысле API).