Čas na spletu teče hitreje kot v resničnem življenju - figurativno, seveda. Dnevno se srečujemo z izrazi, ki nam niso poznani in po tihem upamo, da so za nas nepomembni in da jih uporabljajo le razvijalci oziroma računalničarji. Ampak potem kaj hitro ugotovimo, da se že naši znanci pogovarjajo o njih ali pa o storitvah, ki so z njimi povezane.
Že tako imamo polno glavo informacij, ki nas na dnevni bazi bombardirajo z vseh strani, sedaj pa moramo ugrizniti še v kislo jabolko novitet. Ampak brez skrbi! Prav zato, da bi bile novitete lažje prebavljive, smo na zelo preprost in razumljiv način opisali kratico API. Ko boste prebrali spodnji članek, boste spoznali način delovanja in vse prednosti, ki jih API kratica prinaša.
API? Kakšno čudo je to?
Kratic v računalništvu je danes res ogromno in vseh nikoli ne bomo poznali. Za kratico API ste morda že slišali, če pa vam je popolna neznanka pa nikar ne skrbite, ker vam bomo v tem članku objasnili prav vse, kar bi želeli vedeti. Kratica je sestavljena iz angleških besed in sicer pomeni Application Programming Interface oziroma v prevodu: aplikacijski programski vmesnik.
API deluje kot nekakšen »telefon« za sporazumevanje dveh aplikacij oziroma je to direktna povezava med njima. Kadarkoli uporabljamo kakšno aplikacijo kot je npr. Facebook, ko pošiljamo sporočila preko Messengerja ali preglejujemo novice na našem računalniku oziroma telefonu, uporabljamo API storitev.
Kakšen je primer uporabe API-ja?
Aplikacije na naših računalnikih ali telefonih so povezane s spletom oziroma (strežniki), ki operirajo z ogromnimi količinami podatkov. Strežnik je dobil ime prav po svoji nalogi in sicer, da ob pridobljenih ukazih iz naše naprave ustrezno odreagira in nam postreže s podatki, ki jih iščemo. Če npr. iščemo letalske karte preko spletne strani ali aplikacije, se naše zahteve o datumu in kraju leta pošljejo do strežnika, ki razpolaga s podatki o letalskih letih, ta v svoji bazi podatkov poišče želeni termin in destinacijo in nam podatek skupaj s ceno in drugimi informacijami posreduje (postreže) nazaj. Komunikacijo oziroma »pogovor«, ki smo ga vzpostavili med našo napravo in strežnikom se imenuje API.
Ali lahko z API-jem dostopam do strežniških podatkov in ali lahko strežnik dostopa do mojih podatkov?
Ne, API je točno določen ukaz, ki ga želimo izvesti preko aplikacije. Kljub temu, da je to komunikacijski kanal oziroma »telefon« med dvema napravama, si napravi med seboj ne delita vseh »skrivnosti«. To je varnostna povezava, sestavljena iz velikega nabora številk in črk, ki napravama omogoča omejeno komunikacijo o točno določenih iskalnih pojmih. Približno tako kot, če smo gost v gostilni, kjer natakarju naročimo točno določeno jed. To pomeni, da nam bo ta prinesel, kar želimo in nič več. Tako deluje API.
Kdaj je potrebna previdnost?
API ključe ločimo na javne in zasebne. Najlažje bi ponazorili takšen primer z dostavo pošte na naš domači naslov. Da ne puščamo stanovanja neprestano odklenjenega, če bi pismonoša dostavljal pismo ali paket, smo pred naš dom namestili poštni nabiralnik. V tega lahko pošto odda vsak, kar bi v prevodu v računalniški jezik pomenilo, da gre za javni API ključ. Medtem pa do našega stanovanja ne more dostopati nihče, saj ključa naših vhodnih vrat ne delimo naokoli, kar bi v računalniškem jeziku pomenilo, da gre za zasebni API ključ. Četudi bi pismonoši zaupali in pustili naš ključ v vhodnih vratih, pa bi tega lahko zlorabil tudi kakšen nepridiprav. Vsaka aplikacija, ki vam izda vaš lastni API ključ vas bo najverjetneje pozvala, da si ga varno shranite in ga ne delite z nikomer. Pri javnem API ključu pa je naš namen ta, da smo dostopni javnosti in da nas ljudje lahko kontaktirajo.
Ali je podatek o moji lokaciji tudi del API-ja?
Občasno naletimo na kakšno aplikacijo ali spletno stran, ki nas vpraša o podatku za lokacijo oziroma delitvi naše lokacije (API ključa) z razvijalcem oziroma podjetjem, ki si aplikacijo oziroma spletno stran lasti. To lahko sprejmemo ali zavrnemo. V nekaterih primerih aplikacija ne bo delovala, če bomo dostop do naše naprave zavrnili, saj je lokacija naše naprave (telefona ali računalnika) ključnega pomena za komunikacijo s strežnikom. Primer je recimo, da uporabljamo aplikacijo za iskanje pametnega obeska, ki ga imamo na avtomobilskih ključih. V kolikor dostop aplikaciji do obeska zavrnemo, slednjega ne bomo mogli najti.
Če sprejmemo takšno (API ključ) zahtevo proizvajalca, bo ta lahko dostopal do točno določenega podatka na našem telefonu, ki je največkrat del platforme, ki jo uporabljamo (Windows, Android, Linux, Mac …) in pomaga razvijalcem pri implementaciji novih rešitev. Ne morejo pa dostopati do našega trdega diska, kjer imamo shranjene slike, videe, glasbo, gesla ipd.
Kaj je Googlov API za zemljevide?
Google je v zadnjih letih postal vodilni pri logističnih rešitvah svojih storitev za spletne strani. Ena takšnih je tudi »Google Maps« oziroma zemljevid, ki nam lahko pomaga pri nakupovanju oziroma določanju lokacije prevzemnih mest. Recimo, da nakupujemo na spletni trgovini, ki poleg dostave s Pošto Slovenije ponuja tudi alternativne načine dostave na bencinske servise, v PS Paketomat ali paketnik Direct4ME. Vse omenjene storitve so dostopne preko API ključa, ki je vdelan v to spletno stran preko vtičnika in ji omogoča, da komunicira z Googlovo storitvijo. Ta kupcu na vdelanem Google Zemljevidu prikaže dostopne točke, kjer je možno izvedeni nakup prevzeti.
Na zgoraj omenjeni način spletna stran hitreje deluje, saj zemljevid ni projektni del spletne strani, ki bi potreboval ločeno razvojno ekipo za izdelavo, ampak je le povezava do druge spletne strani, ki ima storitev že dodelano in pripravljeno za uporabo – t.i. slika v sliki oziroma storitev v storitvi.
Je API prihodnost povezovanja storitev s storitvami?
Ni nobenega dvoma. Vedno manj bo lastnega razvoja spletnih storitev, ki temelji na zapletenih, dolgotrajnih in dragih procesih. Za spletne trgovine na primer je to vsekakor velik plus, saj lahko sestavijo svojo ponudbo iz različnih API ključev, ki kupcu pomagajo do boljše nakupovalne izkušnje. Kupec preko vdelanega API ključa izbere mesto dostave oziroma prevzema pošiljke, izvede plačilo preko kreditne kartice, si ogleda YouTube video, odda svoje mnenje s pomočjo predhodno odprtega računa (npr. Google ali Facebook), uporabi koledar za planiranje dogodkov in še mnogo več.