Przejdź do zawartości

Web API

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Jaszczuroczłek (dyskusja | edycje) o 10:21, 15 cze 2019. Może się ona znacząco różnić od aktualnej wersji.

WebAPI (z ang. Web Application Programming Interfaces, pol. API Webowe, API Internetowe lub interfejsy Webowe) – rodzaj sieciowego interfejsu programowania aplikacji (ang. network-based API), w którym wykorzystuje się architekturę i protokoły sieci Web (w szczególności protokół HTTP) do komunikacji między aplikacjami znajdującymi się na oddzielnych urządzeniach w sieci.

API Webowe może przyjmować różne formy, takie jak wywoływanie zdalnych procedur (wraz ze zwrotnym przesyłaniem wyników ich pracy), transfer bieżącego stanu zasobów reprezentowanych w sieci i inne.

Cechą odróżniającą API Webowe od tradycyjnej interakcji w sieci WWW jest to, że użytkownikiem interfejsów nie jest bezpośrednio korzystający w przeglądarki internetowej człowiek, a aplikacja. Zbiór usług WebAPI pozwala tworzyć bardziej złożone programy, w których zasób zdalny (obecny na serwerze) jest dostępny z podobną łatwością jak zasób lokalny[1].

Historia

Technikami które poprzedziły rozwój API Webowych jest opracowany w roku 1988 system RPC (ang. remote procedure call) oraz zaproponowany w latach '90, system CORBA. Model RPC pozwalał na wywoływanie procedur zdalnych, tak jakby to były elementy biblioteki programistycznej dostępnej lokalnie. CORBA rozwinął RPC o takie elementy jak obiektową realizację interfejsu programistycznego API, oraz możliwość łączenia systemów działających pod kontrolą różnych systemów operacyjnych i pisanych w różnych językach (dzięki abstrakcyjnemu interfejsowi zdefiniowanemu w języku IDL). W roku 1999 przedstawiono dwa systemy, które realizowały podobne funkcje, lecz z użyciem technik Webu: XML-RPC oraz protokół SOAP, które – zwłaszcza SOAP i powiązane techniki – rozpowszechniły się pod angielską nazwą Web Services. Protokoły Web Services uchodziły za dosyć ciężkie i wymagające w implementacji, stąd zaproponowano szereg podejść do realizacji usług sieciowych, które pozwalały na prostą interakcję między klientem a serwerem z użyciem identyfikatorów URI i podstawowych funkcji protokołu HTTP. Około roku 2000 został zaproponowany styl architektury oprogramowania REST, i to on jest obecnie najpopularniejszym sposobem realizacji API Webowych[2].

Zastosowania

Obecnie API Webowe stosowane są w wielu dziedzinach i do różnych celów. Przykładowo, serwis ProgrammableWeb (popularny portal Webowy zbierający publiczne API Webowe[3]) wyróżnia ponad 400 kategorii API[4], w tym m.in.:

  • API związane z mapami (ang. mapping); liczba API powiązanych z tą kategorią: 5661,
  • API związane z serwisami społecznościowymi (ang. social); 4796 API,
  • API związane z finansowymi (ang. financial); 4187 API,
  • API związane z handlem elektronicznym (ang. eCommerce); 4160 API,
  • API związane z usługami mobilnymi (ang. mobile); 3932 API,
  • API związane z wymianą komunikatów (ang. messaging); 3800 API,
  • API związane z usługami chmurowymi (ang. cloud); 3708 API.

Przypisy

  1. Daniel Jacobson, Dan Woods, Greg Brail: Interfejs API: Strategia programisty. Gliwice: Helion, 2015. (pol.).
  2. Jacek Kopecký, Paul Fremantle, Rich Boakes. A history and future of Web APIs. „Information Technology”. 56 (3), s. 90-97, 2013. Walter de Gruyter. DOI: https://doi.org/10.1515/itit-2013-1035. ISSN 1611-2776. [dostęp 2019-06-07]. (ang.). 
  3. Strona domowa projektu ProgrammableWeb
  4. APIs by Category [online], ProgrammableWeb [dostęp 2019-06-15] (ang.).