Miroslav Holec
Premium

Historie REST API

Miroslav Holec   24. března 2021

Tento článek je již zastaralý. Článek nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.

Pro pochopení historie REST API je nutné nejprve porozumět, co slovo REST znamená a jaký má vztah k API obecně. REST je zkratkou pro "Representational State Transfer". Pojem byl definovaný R. T. Fieldingem v roce 2000 v jeho disertační práci. Práce R. T. Fieldinga REST prezentuje jako architektonický styl využívající HTTP protokol, který se v době psaní práce (1996 až 2000) formoval. REST není vázán na API. Ve skutečnosti pojem "API" v disertační práci R. T. Fieldinga vůbec nenajdeme. REST se týká webu jako takového a definuje sadu architektonických omezení, které v konečném důsledku přináší vytvářenému řešení určité výhody. Architektonická omezení však nedefinují design URL ani žádné další konvence, které vývojáři často v souvislosti s RESTful API hledají.

REST a JSON

Popularitě REST API vděčí zejména formátu JSON, který získal oblibu s rostoucím počtem Single-Page aplikací a JavaScript aplikací obecně. Paradoxně REST je zcela nezávislý na přenosovém formátu a spojení REST + JSON je z historického hlediska jen náhodou a též zdrojem častých mýtů. Douglas Crockford je otcem první specifikace JSON formátu, RFC 4627 z roku 2006. Není však autorem formátu. Sám Douglas Crockford prohlásil, že JSON v určité podobě používali lidé v organizaci Netscape již v roce 1996. Dle Google Trends si formáty XML a JSON vyměnily své prvenství v průběhu roku 2013, tedy více než 12 let po vydání disertační práce R. T. Fieldinga. Od té doby lineárně rostla obliba JSON formátu a zároveň klesala přízeň k XML.

Historicky první API

Historicky první veřejná REST API jsou přisuzována organizacím SalesForce, EBay (2000), Amazon (2002) nebo Flickr (2004). Většina zdrojů připisuje zrození REST API k rokům 2000 až 2004. Vliv na popularitu REST API měly též sociální sítě Facebook a Twitter, které svým způsobem ukázaly potenciál API otevřených pro vývojáře. Od té doby počet veřejných API strmě roste. Největší výhodou REST API je dlouhodobě snadná implementace s využitím HTTP protokolu a tudíž i dostupnost na všech moderních i méně moderních platformách. Nevýhodou v porovnání s ustupujícími technologiemi, například SOAP, je zejména chybějící pokrytí standardem.

Specifikace REST API

Tony Tam v roce 2010 zahájil vývoj specifikace a nástrojů Swagger. Od svého počátku si kladl Swagger za cíl umožnit popis REST API pomocí jasně definované specifikace a tudíž i umožnit jednodušší strojové zpracování a automatizaci. V roce 2015 byl Swagger zakoupen společností SmartBear, která po několika měsících oznámila založení tzv. Open API iniciativy. Samotná specifikace změnila svůj název v roce 2016 na Open API Specification (OAS) a v červenci 2017 byla vydána v dosud poslední major verzi 3.0.0. K Open API iniciativě se přihlásilo mnoho významných technologických firem, včetně společnosti MuleSoft, jež byla hlavním přispěvovatelem konkurenční specifikace RAML. Též nadějná specifikace API Blueprint ztratila na trhu své postavení během dlouhotrvající akvizice českého startupu Apiary společností Oracle. OAS se stala shodou historických okolností nepsaným průmyslovým standardem pro specifikaci REST API.

V současné době jsou REST API významná nejen z hlediska výměny dat mezi informačními systémy, ale též jako backend většiny moderních aplikací, jejichž klientská část je postavená v nejrůznějších JavaScript frameworcích.

Zdroje

  • https://tools.ietf.org/html/rfc4627
  • https://www.toptal.com/web/json-vs-xml-part-1
  • https://trends.google.com/trends/explore?date=all&geo=US&q=json,xml
  • https://history.apievangelist.com
  • https://smartbear.com/news/news-releases/sponsorship-of-swagger
  • https://public-apis.io
  • https://rapidapi.com