Web API - Web API

Web API je rozhraní pro programování aplikací pro buď webový server nebo na webovém prohlížeči . Jedná se o koncept webového vývoje , obvykle omezený na klientskou stranu webové aplikace (včetně všech používaných webových rámců ), a proto obvykle neobsahuje podrobnosti o implementaci webového serveru nebo prohlížeče, jako jsou SAPI nebo API, pokud nejsou veřejně přístupné pomocí dálkového ovladače. webová aplikace.

Na straně serveru

Straně serveru web API je programové rozhraní se skládá z jedné nebo více zveřejněných koncové body na definovanou požadavek-odezva systému zpráv, obvykle vyjádřená v JSON nebo XML , která je vystavena přes web-nejčastěji pomocí protokolu HTTP založené webový server. Mashups jsou webové aplikace, které kombinují použití více webových API na straně serveru. Webhooks jsou webová rozhraní API na straně serveru, která využívají vstup jako identifikátor URI ( Uniform Resource Identifier ), který je navržen pro použití jako vzdálený pojmenovaný kanál nebo typ zpětného volání , takže server funguje jako klient, který dereferuje poskytnutý URI a spustí událost na jiném serveru, který zpracovává tuto událost, čímž poskytuje typ IPC peer-to-peer .

Koncové body

Koncové body jsou důležitými aspekty interakce s webovými rozhraními API na straně serveru, protože určují, kde leží prostředky, ke kterým má přístup software třetích stran. Přístup je obvykle prostřednictvím identifikátoru URI, na který jsou zasílány požadavky HTTP a od kterého se tedy očekává odpověď. Webová rozhraní API mohou být veřejná nebo soukromá, přičemž druhá z nich vyžaduje přístupový token .

Koncové body musí být statické, jinak nelze zaručit správnou funkci softwaru, který s ním interaguje. Pokud se změní umístění zdroje (a s ním i koncový bod), pak se dříve napsaný software rozbije, protože požadovaný zdroj již nelze najít na stejném místě. Jelikož poskytovatelé API stále chtějí aktualizovat svá webová API, mnozí zavedli v URI systém verzí, který ukazuje na koncový bod, například API Clarifai : Koncový bod pro funkci značkování ve webovém API má následující URI: „https: //api.google.com/v1/tag/ ". Část „/v1/“ identifikátoru URI určuje přístup k první verzi webového rozhraní API. Pokud se Clarifai rozhodne aktualizovat na verzi dvě, může to udělat při zachování podpory softwaru třetí strany, který používá první verzi.

Zdroje versus služby

Web 2.0 Web API často používají strojové interakce, jako je REST a SOAP . Webová API RESTful jsou obvykle volně založená na metodách HTTP pro přístup ke zdrojům pomocí parametrů kódovaných URL a použití JSON nebo XML k přenosu dat. Naproti tomu SOAP protokoly jsou standardizovány podle W3C a zavázat k používání XML jako formát užitečného zatížení, typicky přes HTTP . Webová rozhraní API na bázi SOAP navíc využívají ověřování XML k zajištění strukturální integrity zpráv využitím schémat XML zřízených s dokumenty WSDL . Dokument WSDL přesně definuje zprávy XML a přenosové vazby webové služby .

Dokumentace

Webová API na straně serveru jsou rozhraní pro interakci vnějšího světa s obchodní logikou. Pro mnoho společností je tato vnitřní obchodní logika a s ní spojené duševní vlastnictví to, co je odlišuje od ostatních společností a potenciálně jim dává konkurenční výhodu. Nechtějí, aby byly tyto informace zveřejněny. Aby však bylo možné poskytovat vysoce kvalitní webové API, musí existovat dostatečná úroveň dokumentace. Jeden poskytovatel API, který nejen poskytuje dokumentaci, ale také na ni odkazuje ve svých chybových zprávách, je Twilio.

Nyní však existují adresáře oblíbených dokumentovaných webových API na straně serveru.

Růst a dopad

Počet dostupných webových API v posledních letech neustále roste, protože firmy si uvědomují příležitosti k růstu spojené s provozováním otevřené platformy, se kterou může komunikovat každý vývojář. ProgrammableWeb sleduje 9000 webových API, která byla k dispozici v roce 2013, oproti 105 v roce 2005.

Webová API se stala všudypřítomnou. Existuje několik hlavních softwarových aplikací/služeb, které nenabízejí nějakou formu webového API. Jednou z nejběžnějších forem interakce s těmito webovými API je vkládání externích zdrojů, jako jsou tweety, komentáře na Facebooku, videa z YouTube atd. Ve skutečnosti existují velmi úspěšné společnosti, jako je Disqus , jejichž hlavní službou je poskytování nástrojů, které lze integrovat , jako je systém komentářů bohatý na funkce. Jakákoli webová stránka z TOP 100 webových stránek zařazených do žebříčku Alexa Internet používá API a/nebo poskytuje vlastní API, což je velmi zřetelný ukazatel úžasného rozsahu a dopadu webových API jako celku.

Jak rostl počet dostupných webových API, byly vyvinuty open source nástroje, které poskytují propracovanější vyhledávání a objevování. APIs.json poskytuje strojově čitelný popis API a jeho operací a související projekt APIs.io nabízí prohledávatelný veřejný seznam API na základě formátu metadat APIs.json.

Podnikání

Komerční

Mnoho společností a organizací ve velké míře spoléhá na infrastrukturu svého webového rozhraní API, aby mohlo sloužit svým hlavním obchodním klientům. V roce 2014 obdržel Netflix přibližně 5 miliard požadavků API, většina z nich v rámci svého soukromého API.

Vládní

Mnoho vlád shromažďuje mnoho dat a některé vlády nyní otevírají přístup k těmto datům. Rozhraní, přes která jsou tato data obvykle zpřístupněna, jsou webová rozhraní API. Webová rozhraní API umožňují pohodlný přístup k datům, jako jsou „rozpočet, veřejné práce, kriminalita, právní a jiná agenturní data“, jakýkoli vývojář.

Strana klienta

Client-side web API je programové rozhraní pro rozšíření funkcionality v rámci webovém prohlížeči nebo jiného klienta HTTP. Původně se jednalo nejčastěji o nativní rozšíření plug-inů prohlížeče, ale většina novějších cílila na standardizované vazby JavaScriptu .

Mozilla Foundation vytvořil jejich specifikace WebAPI který je určen k pomoci nahradit nativní mobilní aplikace s HTML5 aplikací.

Google vytvořil jejich architekturu nativních klientů, která má pomoci nahradit nezabezpečené nativní plug-iny zabezpečenými nativními sandboxovanými rozšířeními a aplikacemi. Oni také tento přenosný pomocí upraveného kompilátoru LLVM AOT .

Viz také

Reference

Další čtení