Веб-API - Web API
А Веб-API является интерфейс прикладного программирования для любого веб сервер или веб-браузер. Это Веб-разработка концепция, обычно ограниченная веб приложение на стороне клиента (включая любые веб-фреймворки используется), и поэтому обычно не включает детали реализации веб-сервера или браузера, такие как SAPI или API, если они не доступны для общего доступа удаленным веб-приложением.
Сторона сервера
А на стороне сервера веб-API - это программный интерфейс состоящий из одной или нескольких общедоступных конечных точек для определенного ответ на запрос система сообщений, обычно выражаемая в JSON или же XML, который предоставляется через Интернет - чаще всего с помощью HTTP веб-сервер на базе. Мэшапы находятся веб-приложения которые сочетают в себе использование нескольких серверных веб-API.[1][2][3] Вебхуки - это серверные веб-API, которые принимают ввод как Единый идентификатор ресурса (URI), который предназначен для использования как удаленный именованный канал или тип Перезвоните таким образом, что сервер действует как клиент для разыменования предоставленного URI и инициирует событие на другом сервере, который обрабатывает это событие, таким образом обеспечивая тип одноранговой сети МПК.
Конечные точки
Конечные точки являются важными аспектами взаимодействия с серверными веб-API, поскольку они определяют, где находятся ресурсы, к которым может получить доступ стороннее программное обеспечение. Обычно доступ осуществляется через URI, по которому отправляются HTTP-запросы и от которого, таким образом, ожидается ответ.
Конечные точки должны быть статичными, иначе нельзя гарантировать правильное функционирование программного обеспечения, с которым они взаимодействуют. Если местоположение ресурса изменится (а вместе с ним и конечная точка), тогда ранее написанное программное обеспечение сломается, так как требуемый ресурс больше не может быть найден в том же месте. Поскольку поставщики API по-прежнему хотят обновлять свои веб-API, многие ввели систему управления версиями в URI, которая указывает на конечную точку, например Clarifai API: конечная точка для функции тегирования в веб-API имеет следующий URI: «https: //api.google.com/v1/tag/ ". Часть URI «/ v1 /» определяет доступ к первой версии веб-API. Если Clarifai решит выполнить обновление до второй версии, они смогут сделать это, сохранив при этом поддержку стороннего программного обеспечения, использующего первую версию.[4]
Ресурсы против услуг
Веб 2.0 Веб-API часто используют машинные взаимодействия, такие как ОТДЫХ и МЫЛО. Веб-API RESTful обычно слабо основаны на HTTP методы доступа к ресурсам через параметры в кодировке URL и использование JSON или же XML для передачи данных. Напротив, МЫЛО протоколы стандартизированы W3C и санкционировать использование XML как формат полезной нагрузки, обычно более HTTP. Более того, МЫЛО веб-API на основе использования Проверка 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 Интернет ранжированные веб-сайты используют 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] быть доступным любому разработчику в удобной форме.
Сторона клиента
А сторона клиента веб-API - это программный интерфейс для расширения функциональности в веб-браузер или другой HTTP-клиент. Первоначально они чаще всего были в форме родного плагин расширения браузера однако большинство новых нацелены на стандартизацию JavaScript привязки.
В Фонд Mozilla создали свою спецификацию WebAPI, которая призвана помочь заменить собственные мобильные приложения на HTML5 Приложения.[14][15]
Google создали свои Собственный клиент архитектура, призванная помочь заменить небезопасные собственные плагины безопасными встроенными в песочнице расширения и приложения. Они также сделали это портативным, используя модифицированный LLVM Компилятор AOT.
Смотрите также
- Интерфейс прикладного программирования
- Динамическая веб-страница
- Обзор языков описания RESTful API
- ОТДЫХ
- веб-сервис
Рекомендации
- ^ «Что такое мэшап? - Определение с сайта WhatIs.com». WhatIs.com. Получено 2015-11-04.
- ^ "Панель инструментов Mashup". ProgrammableWeb.com. 2009 г.
- ^ «Онлайн-платформа для веб-API и гибридных сервисов». Интернет-вычисления IEEE. 12 (5). Сентябрь – октябрь 2008 г. Дои:10.1109 / MIC.2008.92.
- ^ «Clarifai API: крупномасштабное визуальное распознавание». developer.clarifai.com. Получено 2015-11-04.
- ^ Маллой, Брайан. Дизайн веб-API - создание интерфейсов, которые нравятся разработчикам (PDF). апиги. п. 11.
- ^ "Каталог API". ПрограммируемыйWeb. Получено 2015-11-03.
- ^ «9000 API: мобильные устройства становятся серьезными». ПрограммируемыйWeb. Получено 2015-11-03.
- ^ «Disqus - Интернет-сообщество сообществ». Disqus. Получено 2015-11-04.
- ^ «Топ-500 глобальных сайтов Alexa». www.alexa.com. Получено 2015-11-04.
- ^ "APIs.json". apisjson.org. Получено 2016-03-14.
- ^ «APIs.io - поисковая система API». apis.io. Получено 2016-03-14.Так что сделайте это понятным и поделитесь своими знаниями.
- ^ «10 лучших уроков, извлеченных из Netflix API - OSCON 2014, слайд 73». 2014-07-24. Цитировать журнал требует
| журнал =
(помощь) - ^ «Tech Trends 2015, API-экономика». Издательство Deloitte University Press. Получено 2015-11-03.
- ^ Новости WebMonkey
- ^ Вики-сайт Mozilla WebAPI
дальнейшее чтение
- Джейкобсон, Дэниел; Вудс, Дэн; Брайл, Грег (ноябрь 2011 г.). API руководство по стратегии. Севастополь, Калифорния: O'Reilly Media. ISBN 978-1-4493-0892-6.
- Маллой, Брайан. Дизайн веб-API - создание интерфейсов, которые нравятся разработчикам (PDF). Апиги.
- «Веб-API». Гугл Хром.
- «Справочник по веб-API - справочник по веб-технологиям». Сеть разработчиков Mozilla.
- «Демонстрация веб-API». Демонстрация веб-API.