API je zkratka pro Application Programming Interface, což je softwarový prostředník, který umožňuje dvěma aplikacím vzájemně komunikovat. Pokaždé, když používáte aplikaci, jako je Facebook, posíláte rychlou zprávu nebo kontrolujete počasí na telefonu, používáte rozhraní API.
Vývojáři používají rozhraní API pro programování aplikací, aby skryli složitost, uspořádali kódy a navrhli opakovaně použitelné komponenty.
Co je příklad rozhraní API?
Při používání aplikace v mobilním telefonu se aplikace připojuje k internetu a odesílá data na server. Server pak tato data načte, interpretuje, provede potřebné akce a odešle je zpět do telefonu. Aplikace pak tato data opět interpretuje a předloží vám požadované informace v čitelné podobě. Právě to je rozhraní API – vše se děje prostřednictvím rozhraní API.
Abychom to lépe vysvětlili, uveďme si známý příklad.
Představte si, že sedíte u stolu v restauraci a máte na výběr z nabídky, kterou si můžete objednat. Kuchyně je část „systému“, která připraví vaši objednávku. Chybí však kritické spojení, které by vaši objednávku sdělilo kuchyni a doručilo jídlo zpět k vašemu stolu. Zde přichází na řadu číšník nebo API. Číšník je posel – nebo API – který přijme váš požadavek nebo objednávku a řekne kuchyni – systému – co má udělat. Poté vám číšník doručí odpověď; v tomto případě je to jídlo.
Zde je skutečný příklad rozhraní API. Možná znáte proces vyhledávání letů online. Stejně jako v restauraci máte na výběr z různých možností, včetně různých měst, dat odletu a návratu a dalších. Představme si, že si rezervujete let na webových stránkách letecké společnosti. Vyberete si město a datum odletu, město a datum návratu, třídu kabiny a také další proměnné. Abyste si mohli let rezervovat, komunikujete s webovými stránkami letecké společnosti, abyste získali přístup do jejich databáze a zjistili, zda jsou v daných termínech volná místa a jaké mohou být náklady.
Co když však nepoužíváte webové stránky letecké společnosti – kanál, který má přímý přístup k informacím? Co když používáte online cestovní službu, jako je Kayak nebo Expedia, která shromažďuje informace z řady databází leteckých společností?
Cestovní služba v tomto případě komunikuje s rozhraním API letecké společnosti. Rozhraní API je rozhraní, které může být podobně jako váš ochotný číšník touto online cestovní službou požádáno o získání informací z databáze letecké společnosti, aby bylo možné rezervovat místa, možnosti zavazadel atd. Rozhraní API pak převezme odpověď letecké společnosti na váš požadavek a předá ji zpět online cestovní službě, která vám pak zobrazí nejaktuálnější a relevantní informace.
Proč potřebujeme API?
Ať už spravujete stávající nástroje, nebo navrhujete nové, můžete použít rozhraní pro programování aplikací, které vám tento proces zjednoduší. Mezi hlavní výhody rozhraní API patří následující:
Zlepšení spolupráce
Průměrný podnik používá téměř 1 200 cloudových aplikací (odkaz se nachází mimo IBM), z nichž mnohé jsou vzájemně nepropojené. Rozhraní API umožňují integraci, takže tyto platformy a aplikace spolu mohou bezproblémově komunikovat. Díky této integraci mohou podniky automatizovat pracovní postupy a zlepšit spolupráci na pracovišti. Bez rozhraní API by mnoha podnikům chyběla konektivita a trpěly by informačními sily, která by ohrožovala produktivitu a výkonnost.
Snadnější inovace
Rozhraní API nabízejí flexibilitu a umožňují společnostem navázat spojení s novými obchodními partnery, nabízet nové služby stávajícímu trhu a nakonec získat přístup na nové trhy, které mohou přinést obrovské zisky a podpořit digitální transformaci. Například společnost Stripe začínala jako API s pouhými sedmi řádky kódu. Od té doby společnost navázala partnerství s mnoha největšími podniky na světě, diverzifikovala svou nabídku na půjčky a firemní karty a nedávno byla oceněna na 36 miliard USD (odkaz se nachází mimo IBM).
Zpeněžení dat
Mnoho společností se rozhodlo nabízet rozhraní API zdarma, alespoň zpočátku, aby si mohly kolem své značky vytvořit publikum vývojářů a navázat vztahy s potenciálními obchodními partnery. Pokud však rozhraní API poskytuje přístup k cenným digitálním aktivům, lze jej zpeněžit prodejem přístupu (tento postup se označuje jako ekonomika API). Když společnost AccuWeather (odkaz sídlí mimo IBM) spustila svůj samoobslužný portál pro vývojáře, aby mohla prodávat širokou škálu balíčků API, trvalo jí pouhých 10 měsíců, než přilákala 24 000 vývojářů, prodala 11 000 klíčů API a vybudovala přitom prosperující komunitu.
Přidaná bezpečnost
Jak bylo uvedeno výše, rozhraní API vytváří další vrstvu ochrany mezi vašimi daty a serverem. Vývojáři mohou dále posílit zabezpečení rozhraní API používáním ověřovacích tokenů, podpisů a šifrování TLS (Transport Layer Security); implementací bran API pro správu a ověřování provozu; a praktickou efektivní správou rozhraní API.
Rozhraní API a zabezpečení
Data z vašeho telefonu nejsou nikdy plně zpřístupněna serveru a stejně tak server není nikdy plně zpřístupněn vašemu telefonu. Místo toho spolu komunikují pomocí malých datových paketů a sdílejí jen to, co je nezbytné, například objednávku jídla s sebou. Vy řeknete restauraci, co byste chtěli jíst, ona vám na oplátku řekne, co potřebuje, a nakonec dostanete jídlo.
Rozhraní API se stalo tak cenným, že tvoří velkou část příjmů mnoha podniků. Velké společnosti jako Google, eBay, Salesforce.com, Amazon a Expedia jsou jen některé z těch, které na svých rozhraních API vydělávají. Pod pojmem „ekonomika API“ se rozumí tento trh s rozhraními API.
Moderní rozhraní API
V průběhu let se pojmem „API“ často označoval jakýkoli druh obecného rozhraní pro připojení k aplikaci. V poslední době však moderní API získalo některé vlastnosti, které je činí mimořádně cennými a užitečnými:
- Moderní rozhraní API se řídí standardy (typicky HTTP a REST), které jsou přívětivé pro vývojáře, snadno dostupné a široce srozumitelné.
- Zachází se s nimi spíše jako s produkty než s kódem. Jsou určena ke spotřebě pro specifické publikum (např. mobilní vývojáře), jsou dokumentována a verzována tak, aby uživatelé mohli mít určitá očekávání ohledně jejich údržby a životního cyklu.
- Protože jsou mnohem více standardizované, mají mnohem silnější disciplínu pro zabezpečení a správu, stejně jako jsou monitorovány a spravovány z hlediska výkonu a rozsahu.
- Stejně jako jakýkoli jiný produkovaný software má i moderní API svůj vlastní životní cyklus vývoje softwaru (SDLC), který zahrnuje návrh, testování, vytváření, správu a verzování. Moderní rozhraní API jsou také dobře dokumentována pro spotřebu a verzování.