О сетевых API (интерфейсы прикладного программирования)

Интерфейс прикладного программирования (API) позволяет программистам получать доступ к функциональности опубликованных программных модулей и сервисов в Интернете. API играют важную роль в разработке приложений и сетевом программировании. Узнайте больше о том, что такое API и почему разработчики его используют.

Что такое API?

API определяет структуры данных и вызовы подпрограмм, которые расширяют существующие приложения новыми функциями. Они также используются для создания новых приложений поверх других программных компонентов. В Интернете API позволяют интегрировать приложения с такими сервисами, как Google Maps и Facebook.

Некоторые API специально поддерживают сетевое программирование. Сетевое программирование — это тип разработки программного обеспечения для приложений, которые подключаются и взаимодействуют через компьютерные сети, включая Интернет. Сетевые API предоставляют точки входа в протоколы и библиотеки программного обеспечения многократного использования. Сетевые API поддерживают веб-браузеры, веб-базы данных и многие мобильные приложения. Они широко поддерживаются во многих языках программирования и операционных системах.

API и Socket Программирование

Традиционное сетевое программирование следовало модели клиент-сервер. Основные API, используемые для клиент-серверных сетей, были реализованы в библиотеках сокетов, встроенных в операционные системы. Например, API сокетов Berkeley и Windows Sockets (Winsock) долгие годы были двумя основными стандартами программирования сокетов.

Удаленные вызовы процедур 

API-интерфейсы RPC расширяют базовые методы сетевого программирования, добавляя возможность для приложений вызывать функции на удаленных устройствах, а не просто отправлять им сообщения. С ростом популярности в Интернете XML-RPC стал популярным механизмом для RPC.

Простой протокол доступа к объектам (SOAP)

SOAP был разработан в конце 1990-х годов как сетевой протокол с использованием XML в качестве формата сообщений и протокола передачи гипертекста (HTTP) в качестве транспорта. SOAP создал лояльных последователей программистов веб-сервисов и стал широко использоваться для корпоративных приложений.

Представительный государственный трансферт (REST)

REST — это еще одна модель программирования, которая также поддерживает веб-сервисы. Как и SOAP, API-интерфейсы REST используют HTTP, но вместо XML приложения REST часто вместо этого используют объектную нотацию Javascript (JSON). REST и SOAP сильно различаются в своих подходах к управлению состоянием и безопасности, что является ключевыми соображениями для сетевых программистов. Мобильные приложения могут использовать или не использовать сетевые API, но те, которые часто используют REST.

Будущее API

И SOAP, и REST продолжают активно использоваться для разработки новых веб-сервисов. Будучи гораздо более новой технологией, чем SOAP, REST, скорее всего, будет развиваться и создавать другие результаты разработки API.

Операционные системы также эволюционировали для поддержки многих новых технологий сетевого API. В современных операционных системах, таких как, например, Windows 10, сокеты продолжают оставаться основным API, а HTTP и другая дополнительная поддержка находятся на вершине для сетевого программирования в стиле RESTful.

Как это часто бывает в компьютерных областях, новые технологии, как правило, внедряются гораздо быстрее, чем устаревшие. Ищите интересные новые разработки API, особенно в облачных вычислениях и Интернете вещей (IoT), где характеристики устройств и модели их использования отличаются от традиционных сред сетевого программирования.

Ссылка на основную публикацию