Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Web API является интерфейс прикладного программирования для либо веб - сервер или веб - браузер . Это концепция веб-разработки , обычно ограниченная клиентской стороной веб-приложения (включая любые используемые веб-фреймворки ), и, таким образом, обычно не включает детали реализации веб-сервера или браузера, такие как SAPI или API, если они не являются общедоступными для удаленного доступа. веб приложение.

Сторона сервера [ править ]

На стороне сервера Web API представляет собой программный интерфейс , состоящий из одного или нескольких конечных точек публично подвергается к определенному запрос-ответ системы передачи сообщений, как правило , выражается в JSON или XML , который подвергается воздействию через веб-наиболее часто с помощью HTTP - основанное веб сервер. Мэшапы - это веб-приложения, сочетающие в себе использование нескольких серверных веб-API. [1] [2] [3] Веб-перехватчики - это серверные веб-API, которые принимают входные данные в виде универсального идентификатора ресурса (URI), который предназначен для использования в качестве удаленного именованного канала или типаобратный вызов , при котором сервер действует как клиент для разыменования предоставленного URI и инициирования события на другом сервере, который обрабатывает это событие, тем самым обеспечивая тип однорангового IPC .

Конечные точки [ править ]

Конечные точки являются важными аспектами взаимодействия с серверными веб-API, поскольку они определяют, где находятся ресурсы, к которым может получить доступ стороннее программное обеспечение. Обычно доступ осуществляется через URI, по которому отправляются HTTP-запросы и от которого, таким образом, ожидается ответ.

Конечные точки должны быть статичными, иначе нельзя гарантировать правильное функционирование программного обеспечения, с которым они взаимодействуют. Если местоположение ресурса изменится (а вместе с ним и конечная точка), то ранее написанное программное обеспечение сломается, так как требуемый ресурс больше не может быть найден в том же месте. Поскольку поставщики API по-прежнему хотят обновлять свои веб-API, многие ввели систему управления версиями в URI, которая указывает на конечную точку, например Clarifai API: конечная точка для функции тегирования в веб-API имеет следующий URI: «https: //api.google.com/v1/tag/ ". Часть URI «/ v1 /» определяет доступ к первой версии веб-API. Если Clarifai решит выполнить обновление до второй версии, они смогут это сделать, сохранив при этом поддержку стороннего программного обеспечения, использующего первую версию. [4]

Ресурсы против услуг [ править ]

Веб- API Web 2.0 часто используют машинные взаимодействия, такие как REST и SOAP . Веб-API RESTful обычно основаны на методах HTTP для доступа к ресурсам через параметры в кодировке URL и использовании JSON или XML для передачи данных. Напротив, протоколы SOAP стандартизированы W3C и предписывают использование XML в качестве формата полезной нагрузки, обычно через HTTP . Кроме того, веб-интерфейсы API на основе SOAP используют проверку XML для обеспечения структурной целостности сообщения, используя схемы XML, предоставленные с помощью WSDL.документы. Документ WSDL точно определяет сообщения XML и транспортные привязки веб-службы .

Документация [ править ]

Серверные веб-API - это интерфейсы для внешнего мира для взаимодействия с бизнес-логикой. Для многих компаний эта внутренняя бизнес-логика и связанная с ней интеллектуальная собственность - это то, что отличает их от других компаний и потенциально дает им конкурентное преимущество. Они не хотят, чтобы эта информация разглашалась. Однако для того, чтобы предоставить веб-API высокого качества, необходим достаточный уровень документации. Один из поставщиков API, который не только предоставляет документацию, но и ссылается на нее в сообщениях об ошибках, - это Twilio. [5]

Однако сейчас существуют каталоги популярных задокументированных серверных веб-API. [6]

Рост и влияние [ править ]

Количество доступных веб-API постоянно росло за последние годы, поскольку компании осознают возможности роста, связанные с запуском открытой платформы, с которой может взаимодействовать любой разработчик. ProgrammableWeb отслеживает 9000 веб-API, которые были доступны в 2013 году, по сравнению со 105 в 2005 году. [7]

Веб-API стали повсеместными. Есть несколько основных программных приложений / сервисов, которые не предлагают какую-либо форму веб-API. Одна из наиболее распространенных форм взаимодействия с этими веб-API - встраивание внешних ресурсов, таких как твиты, комментарии Facebook, видео на YouTube и т. Д. На самом деле есть очень успешные компании, такие как Disqus , основная услуга которых заключается в предоставлении встраиваемых инструментов. , например, многофункциональная система комментариев. [8] Любой веб-сайт из 100 лучших веб-сайтов, занесенных в рейтинг Alexa Internet, использует API-интерфейсы и / или предоставляет свои собственные API-интерфейсы, что является отличным показателем огромного масштаба и влияния веб-API в целом. [9]

По мере роста числа доступных веб-API были разработаны инструменты с открытым исходным кодом, обеспечивающие более сложный поиск и обнаружение. APIs.json предоставляет машиночитаемое описание API и его операций, а связанный проект APIs.io предлагает доступный для поиска общедоступный список API на основе формата метаданных APIs.json. [10] [11]

Бизнес [ править ]

Коммерческий [ править ]

Многие компании и организации в значительной степени полагаются на свою инфраструктуру веб-API для обслуживания своих основных бизнес-клиентов. В 2014 году Netflix получил около 5 миллиардов запросов API, большинство из которых в рамках их частного API. [12]

Правительственный [ править ]

Многие правительства собирают много данных, и некоторые правительства теперь открывают доступ к этим данным. Интерфейсы, через которые эти данные обычно становятся доступными, представляют собой веб-API. Веб-интерфейсы API позволяют любому разработчику получать доступ к таким данным, как «бюджет, общественные работы, преступления, правовые и другие ведомственные данные» [13], удобным способом.

Клиентская сторона [ править ]

На стороне клиента Web API представляет собой программный интерфейс для расширения функциональных возможностей в пределах веб - браузера или другого клиента HTTP. Первоначально это были наиболее часто в виде родного плагина расширений браузера однако большинство Поздних целевых стандартизированных JavaScript привязки.

Mozilla Foundation создал свою спецификацию WebAPI , который предназначен для помощи замены нативных мобильных приложений с HTML5 - приложениями. [14] [15]

Google создал свою архитектуру Native Client, которая призвана помочь заменить небезопасные собственные плагины безопасными собственными изолированными расширениями и приложениями. Они также сделали это портативным, используя модифицированный компилятор LLVM AOT .

См. Также [ править ]

  • Интерфейс прикладного программирования
  • Динамическая веб-страница
  • Обзор языков описания RESTful API
  • ОТДЫХ
  • веб-сервис

Ссылки [ править ]

  1. ^ «Что такое мэш-ап? - Определение с сайта WhatIs.com» . WhatIs.com . Проверено 4 ноября 2015 .
  2. ^ "Mashup Dashboard" . ProgrammableWeb.com. 2009 г.
  3. ^ «Онлайн-платформа для веб-API и гибридных сервисов». IEEE Internet Computing . 12 (5). Сентябрь – октябрь 2008 г. doi : 10.1109 / MIC.2008.92 .
  4. ^ «Clarifai API: крупномасштабное визуальное распознавание» . developer.clarifai.com . Проверено 4 ноября 2015 .
  5. ^ Маллой, Брайан. Дизайн веб-API - создание интерфейсов, которые нравятся разработчикам (PDF) . апиги. п. 11.
  6. ^ "Каталог API" . ПрограммируемыйWeb . Проверено 3 ноября 2015 .
  7. ^ «9000 API: мобильный становится серьезным» . ПрограммируемыйWeb . Проверено 3 ноября 2015 .
  8. ^ «Disqus - Интернет-сообщество сообществ» . Disqus . Проверено 4 ноября 2015 .
  9. ^ «Alexa Top 500 Global Sites» . www.alexa.com . Проверено 4 ноября 2015 .
  10. ^ "APIs.json" . apisjson.org . Проверено 14 марта 2016 .
  11. ^ "APIs.io - поисковая система API" . apis.io . Проверено 14 марта 2016 .Так что сделайте это понятным и поделитесь своими знаниями.
  12. ^ «10 лучших уроков, извлеченных из Netflix API - OSCON 2014, слайд 73» . 2014-07-24. Цитировать журнал требует |journal=( помощь )
  13. ^ «Tech Trends 2015, API-экономика» . Deloitte University Press . Проверено 3 ноября 2015 .
  14. ^ Новости WebMonkey
  15. ^ Mozilla WebAPI Wiki

Дальнейшее чтение [ править ]

  • Джейкобсон, Дэниел; Вудс, Дэн; Брайл, Грег (ноябрь 2011 г.). API-интерфейсы - руководство по стратегии . Севастополь, Калифорния: O'Reilly Media . ISBN 978-1-4493-0892-6.
  • Маллой, Брайан. Дизайн веб-API - создание интерфейсов, которые нравятся разработчикам (PDF) . Апиги.
  • «Веб-API» . Google Chrome .
  • «Справочник по веб-API - справочник по веб-технологиям» . Сеть разработчиков Mozilla .
  • «Демонстрация веб-API» . Демонстрация веб-API .