Web API
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 chwili użycia interfejsu Webowego jego użytkownikiem nie jest korzystający w przeglądarki internetowej człowiek a inna aplikacja. W ten sposób zbiór usług WebAPI pozwala tworzyć programy, w których zasób zdalny (obecny na serwerze) jest użyty 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) - pozwalający na wywoływanie procedur zdalnych tak jakby to były elementy biblioteki programistycznej dostępnej lokalnie oraz, zaproponowany w latach '90, system CORBA, który wprowadzał kilka nowości do koncepcji RPC takich jak obiektowa realizacja 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 techniki z nim powiązane) rozpowszechniły się pod nazwą angielską 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); ilość API powiązanych z tą kategorią: 5661
- API związane z serwisami społecznościowymi (ang. social); ilość API powiązanych z tą kategorią: 4796
- API związane z finansowymi (ang. financial); ilość API powiązanych z tą kategorią: 4187
- API związane z handlem elektronicznym (ang. eCommerce); ilość API powiązanych z tą kategorią: 4160
- API związane z usługami mobilnymi (ang. mobile); ilość API powiązanych z tą kategorią: 3932
- API związane z wymianą komunikatów (ang. messaging); ilość API powiązanych z tą kategorią: 3800
- API związane z usługami chmurowymi (ang. cloud); ilość API powiązanych z tą kategorią: 3708
Przypisy
- ↑ Daniel Jacobson, Dan Woods, Greg Brail: Interfejs API: Strategia programisty. Gliwice: Helion, 2015. (pol.).
- ↑ 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.).
- ↑ Strona domowa projektu ProgrammableWeb
- ↑ APIs by Category [online], ProgrammableWeb [dostęp 2019-06-15] (ang.).