Веб-API - Web API

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

Сторона сервера

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

Конечные точки

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

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

Ресурсы против услуг

Веб- 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.

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

Рост и влияние

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

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

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

Бизнес

Коммерческий

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

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

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

Сторона клиента

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

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

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

Смотрите также

использованная литература

дальнейшее чтение