Przejdź do zawartości

Web API

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Maleed (dyskusja | edycje) o 09:41, 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 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

  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.).