Aplikační programovací rozhraní (API) umožňuje programátorům přístup k funkcím publikovaných softwarových modulů a služeb. Rozhraní API definuje datové struktury a volání podprogramů, které lze použít k rozšíření stávajících aplikací o nové funkce a vytváření úplně nových aplikací nad dalšími softwarovými komponentami. Některé z těchto rozhraní API podporují programování sítě .
Programování sítí je druh vývoje softwaru pro aplikace, které se připojují a komunikují prostřednictvím počítačových sítí včetně Internetu. Síťové API poskytují vstupní body pro protokoly a knihovny znovu použitelné. API sítě podporují webové prohlížeče, webové databáze a mnoho mobilních aplikací. Jsou široce podporovány v mnoha různých programovacích jazycích a operačních systémech.
Programování zásuvek
Tradiční síťové programování následovalo model klient-server . Primární rozhraní API používané pro vytváření sítí klient-server byly implementovány do soketových knihoven zabudovaných do operačních systémů. Zásuvky Berkeley a API rozhraní Windows Sockets (Winsock) byly dvěma hlavními standardy pro programování socketů po mnoho let.
Vzdálené volání procedur
RPC API rozšiřují základní techniky síťové programování tím, že přidávají možnosti aplikací vyvolávat funkce na vzdálených zařízeních místo toho, aby jim právě posílaly zprávy. S výbuchem růstu na WWW , XML-RPC se objevil jako jeden populární mechanismus pro RPC.
Jednoduchý objektový přístupový protokol (SOAP)
SOAP byl vyvinut koncem devadesátých let jako síťový protokol s využitím XML jako formátu zpráv a HTTP jako přenosu. SOAP generoval věrné sledování programátorů webových služeb a stal se široce používán pro podnikové aplikace.
Reprezentační státní převod (REST)
REST je další programovací model, který také podporuje webové služby, které se objevily na scéně v poslední době. Stejně jako protokol SOAP, rozhraní API REST používají protokol HTTP, ale namísto protokolu XML se aplikace REST často rozhodují místo toho používat Javascript Object Notation (JSON). REST a SOAP se velmi liší ve svých přístupech k řízení státu a bezpečnosti, což jsou klíčové důvody pro síťové programátory. Mobilní aplikace mohou nebo nemusí využívat rozhraní API sítě, ale ty, které často používají službu REST.
Budoucnost rozhraní API
SOAP i REST se i nadále aktivně využívají pro vývoj nových webových služeb. Jelikož je mnohem novější technologie než SOAP, REST se s větší pravděpodobností vyvíjí a produkuje další výpadky vývoje API.
Operační systémy se také vyvíjely tak, aby podporovaly mnoho nových technologií Network API. V moderních operačních systémech, jako je Windows 10, jsou například sokety jádrovým rozhraním API, HTTP a další dodatečné podpěry navržené pro síťové programování RESTful style.
Jak se často vyskytuje v oblasti počítačů, novější technologie mají tendenci se vyvíjet mnohem rychleji než staré, které se stanou zastaralými. Podívejte se na zajímavý vývoj nových aplikací API, zejména v oblastech cloud computingu a internetu věcí (IoT) , kde se charakteristiky zařízení a jejich modely použití liší od tradičních síťových programovacích prostředí.