API jest akronimem od Application Programming Interface, czyli pośrednika oprogramowania, który pozwala dwóm aplikacjom rozmawiać ze sobą. Za każdym razem, gdy używasz aplikacji takiej jak Facebook, wysyłasz wiadomość błyskawiczną lub sprawdzasz pogodę w swoim telefonie, używasz API.
Czym dokładnie jest API? Dowiedz się sam z tego pomocnego filmu wideo od MuleSoft, ekspertów API.
Jaki jest przykład API?
Kiedy używasz aplikacji na telefonie komórkowym, aplikacja łączy się z Internetem i wysyła dane do serwera. Serwer następnie pobiera te dane, interpretuje je, wykonuje niezbędne czynności i wysyła je z powrotem do Twojego telefonu. Aplikacja następnie interpretuje te dane i prezentuje Ci informacje, które chciałeś uzyskać w czytelny sposób. To właśnie jest API – wszystko to dzieje się za pośrednictwem API.
Aby lepiej to wyjaśnić, weźmy znany przykład.
Wyobraź sobie, że siedzisz przy stole w restauracji z menu do wyboru. Kuchnia jest tą częścią „systemu”, która przygotuje Twoje zamówienie. Brakuje jednak krytycznego ogniwa, które przekazałoby Twoje zamówienie do kuchni i dostarczyło jedzenie z powrotem do Twojego stolika. Tu właśnie pojawia się kelner lub API. Kelner jest posłańcem – lub API – który odbiera Twoje żądanie lub zamówienie i mówi kuchni – systemowi – co ma robić. Następnie kelner dostarcza odpowiedź z powrotem do Ciebie; w tym przypadku jest to jedzenie.
Tutaj znajduje się przykład API z prawdziwego życia. Możesz być zaznajomiony z procesem wyszukiwania lotów online. Podobnie jak w restauracji, masz do wyboru wiele opcji, w tym różne miasta, daty wylotu i powrotu oraz wiele innych. Wyobraźmy sobie, że rezerwujesz lot na stronie linii lotniczych. Wybierasz miasto i datę wylotu, miasto i datę powrotu, klasę kabiny oraz inne zmienne. Aby zarezerwować lot, wchodzisz w interakcję z witryną linii lotniczej, aby uzyskać dostęp do ich bazy danych i sprawdzić, czy są dostępne miejsca w tych datach i jakie mogą być koszty.
Jednakże, co jeśli nie korzystasz z witryny linii lotniczej – kanału, który ma bezpośredni dostęp do informacji? Co, jeśli korzystasz z usługi turystycznej online, takiej jak Kayak lub Expedia, która zbiera informacje z wielu baz danych linii lotniczych?
Usługa turystyczna, w tym przypadku, współdziała z API linii lotniczych. API jest interfejsem, który, jak twój pomocny kelner, może być poproszony przez tę usługę podróży online o uzyskanie informacji z bazy danych linii lotniczych w celu zarezerwowania miejsc, opcji bagażu itp. API następnie bierze odpowiedź linii lotniczych na żądanie i dostarcza ją z powrotem do usługi podróży online, która następnie pokazuje najbardziej aktualne, istotne informacje.
Co API również zapewnia jest warstwą bezpieczeństwa
Dane z twojego telefonu nigdy nie są w pełni narażone na serwerze, i podobnie serwer nigdy nie jest w pełni narażone na telefon. Zamiast tego, każdy komunikuje się z małymi pakietami danych, dzieląc się tylko tym, co jest niezbędne – jak zamawianie jedzenia na wynos. Ty mówisz restauracji, co chciałbyś zjeść, oni mówią Ci, czego potrzebują w zamian, a na koniec dostajesz swój posiłek.
API stały się tak cenne, że stanowią dużą część przychodów wielu firm. Największe firmy, takie jak Google, eBay, Salesforce.com, Amazon i Expedia to tylko kilka z firm, które zarabiają na swoich API. To, do czego odnosi się „gospodarka API”, to rynek interfejsów API.
Nowoczesne API
Przez lata, czym jest „API”, często opisywało każdy rodzaj ogólnego interfejsu łączności z aplikacją. Ostatnio jednak, nowoczesne API nabrało pewnych cech, które czynią je niezwykle wartościowymi i użytecznymi:
- Nowoczesne API trzymają się standardów (zazwyczaj HTTP i REST), które są przyjazne dla programistów, łatwo dostępne i szeroko rozumiane
- Traktowane są bardziej jak produkty niż kod. Są przeznaczone do konsumpcji dla konkretnych odbiorców (np, programistów mobilnych), są udokumentowane i wersjonowane w taki sposób, że użytkownicy mogą mieć pewne oczekiwania co do ich utrzymania i cyklu życia.
- Ponieważ są one znacznie bardziej ustandaryzowane, mają znacznie silniejszą dyscyplinę w zakresie bezpieczeństwa i zarządzania, a także są monitorowane i zarządzane pod kątem wydajności i skali
- Jak każdy inny element oprogramowania, nowoczesne API ma swój własny cykl życia rozwoju oprogramowania (SDLC) projektowania, testowania, budowania, zarządzania i wersjonowania. Ponadto, nowoczesne interfejsy API są dobrze udokumentowane do konsumpcji i wersjonowania.
Aby dowiedzieć się więcej o interfejsach API i jak zaprojektować doskonały interfejs API, pobierz eBook Undisturbed REST: A Guide to Designing the Perfect API.