Czym jest API?
- Słownik IAM
- Czym jest API?
API (Application Programming Interface) to interfejs programowania aplikacji. Jest to zestaw protokołów i procedur, które umożliwiają systemom i aplikacjom komunikowanie się ze sobą bez konieczności znajomości sposobu ich implementacji przez programistów lub użytkowników końcowych. Dzięki temu programiści mogą tworzyć komponenty oprogramowania do wielokrotnego użytku.
Programiści często korzystają z interfejsów API, aby uzyskać dostęp do funkcji udostępnianych przez istniejącą usługę lub aplikację. Na przykład, interfejs API może umożliwiać aplikacji pogodowej dostęp do najnowszych danych pogodowych od dostawcy usług pogodowych. Interfejs API określa format żądania, którego aplikacja musi użyć do pobrania danych, a także format danych, które zostaną zwrócone przez serwis pogodowy.
Jak działają interfejsy API?
Interfejsy API działają poprzez określenie zestawu zasad i protokołów komunikacji pomiędzy komponentami oprogramowania. Zazwyczaj zawierają one specyfikacje procedur, struktur danych, klas obiektów i zmiennych. Oto ogólny przegląd tego, jak działają interfejsy API:
Klient tworzy żądanie. Klient (czyli system lub aplikacja) wysyła do serwera API żądanie określające żądaną operację, np. „pobierz dane” lub „utwórz nowy zasób”. Żądanie zawiera wszelkie niezbędne parametry i informacje uwierzytelniające.
Serwer API przetwarza żądanie. Serwer API odbiera żądanie i przetwarza je, używając aplikacji bazowej i danych do wykonania określonej operacji.
Serwer API zwraca odpowiedź. Serwer API wysyła odpowiedź do klienta, wskazując, czy operacja zakończyła się sukcesem, a jeśli tak, dostarczając odpowiednie dane. Odpowiedź zostanie sformatowana zgodnie ze specyfikacją interfejsu API.
Klient przetwarza odpowiedź. Klient otrzymuje odpowiedź z interfejsu API i przetwarza dane zgodnie z potrzebami, na przykład wyświetlając je użytkownikowi.
W ten sposób interfejsy API umożliwiają komponentom oprogramowania komunikowanie się ze sobą i wymianę danych oraz funkcjonalności. Interfejs API definiuje zasady i protokoły komunikacji, dzięki czemu różne systemy i aplikacje mogą ze sobą prowadzić interakcje, nawet jeśli zostały opracowane przez różne organizacje lub osoby, na różnych platformach, przy użyciu różnych języków programowania.
Jakie są typy interfejsów API?
Oto najczęściej spotykane typy interfejsów API:
Otwarte interfejsy API, znane także jako zewnętrzne lub publiczne interfejsy API, są dostępne dla programistów i innych użytkowników z minimalnymi ograniczeniami. Publiczne interfejsy API mogą wymagać rejestracji, zatwierdzenia aplikacji lub klucza API, aby zapobiec nadużyciom.
Wewnętrzne interfejsy API, znane także jako prywatne interfejsy API, służą do współdzielenia zasobów i danych w obrębie firmy lub pomiędzy różnymi systemami lub aplikacjami należącymi do tej samej organizacji. Wewnętrzne interfejsy API są dostępne tylko dla użytkowników w ramach danej organizacji i są ukryte przed użytkownikami zewnętrznymi.
Partnerskie interfejsy API są podobne do otwartych interfejsów API, ale są przeznaczone do użytku przez określony zbiór zaufanych partnerów. Dostęp do tych interfejsów API jest zazwyczaj ograniczony i wymaga wcześniejszego zatwierdzenia.
Złożone interfejsy API łączą różne typy interfejsów API w celu obsługi szczególnie złożonych przypadków użycia. Umożliwiają one programistom pobieranie danych z wielu źródeł za pomocą jednego wywołania API, upraszczając proces dostępu do danych.
Interfejsy API REST (Representational State Transfer API) wykorzystują żądania HTTP do uzyskiwania, umieszczania, wysyłania i usuwania danych. REST to styl architektoniczny, który wykorzystuje proste, lekkie i elastyczne mechanizmy do wymiany danych pomiędzy różnymi systemami. Interfejsy API REST są zwykle używane w aplikacjach i usługach internetowych.
Interfejsy API SOAP (Simple Object Access Protocol API) to oparte na standardach podejście do usług internetowych, które pozwala różnym systemom komunikować się przez Internet. Protokół SOAP wykorzystuje język XML do formatowania wiadomości i wykorzystuje inne standardy internetowe do transportu, w tym HTTP i SMTP.
XML-RPC i JSON-RPC są interfejsami API zdalnego wywoływania procedur (RPC), które wykorzystują odpowiednio XML i JSON jako formaty danych. Te interfejsy API pozwalają systemom komunikować się i wywoływać procedury na zdalnych systemach, zwykle za pośrednictwem protokołu HTTP.
Interfejs API GraphQL, który został opracowany przez Facebooka, jest nowym standardem API do tworzenia i wykorzystywania interfejsów API. Stanowi on bardziej wydajną, potężną i elastyczną alternatywę dla tradycyjnych interfejsów REST API. Interfejsy API GraphQL pozwalają aplikacjom klienckim określić strukturę danych, których potrzebują, a serwer zwraca tylko żądane dane.
Każdy typ interfejsu API ma swoje mocne i słabe strony, przez co lepiej nadaje się do różnych przypadków użycia. Wybór odpowiedniego typu interfejsu API dla danego projektu zależy od takich czynników, jak wielkość i złożoność projektu, zamierzona grupa odbiorców i typ danych, do których uzyskuje się dostęp.
Co jest przykładem interfejsu API?
Interfejsy API są wszędzie! Oto zaledwie kilka przykładów.
Interfejs API Map Google umożliwia programistom dodawanie funkcji Map Google do własnych witryn i aplikacji. Sklepy detaliczne często używają interfejsu API Map Google do pobierania danych do swoich katalogów sklepów internetowych.
Sprzedawcy detaliczni korzystają z interfejsu API serwisu PayPal, aby umożliwić swoim klientom dokonywanie płatności przy użyciu systemu PayPal.
Innym przykładem jest interfejs API Twittera, który zapewnia programistom dostęp do danych i funkcji Twittera w ich własnych aplikacjach. Interfejs API Twittera umożliwia programistom pobieranie tweetów, publikowanie tweetów i wykonywanie innych czynności, takich jak wyszukiwanie tweetów i obserwowanie użytkowników.
Witryny turystyczne intensywnie wykorzystują interfejsy API, aby umożliwić odwiedzającym osobom wyszukiwanie i rezerwację lotów, noclegów i innych usług związanych z podróżami.