API selitettynä (erilaisilla ja jopa erikoisilla) esimerkeillä
Application Programming Interface, eli tuttavallisemmin API tai ohjelmointirajapinta on itselle tuttu työelämän kautta, mutta mitä se oikeastaan tarkoittaa ja mitä sillä tehdään? Termi on monelle tuttu, jopa siinä määrin, ettei sen merkitystä enää tässä vaiheessa kehtaa kysyä. Kysymisen sijaan siitä voi kirjoittaa blogitekstin. Tadaa!
Wikipedia selittää API:n seuraavasti: ”Ohjelmointirajapinta (engl. Application programming interface, API) on määritelmä, jonka mukaan eri ohjelmat voivat tehdä pyyntöjä ja vaihtaa tietoja eli keskustella keskenään. Esimerkki rajapinnasta on käyttöjärjestelmän rajapinta, jolla ohjelmat voivat käyttää keskusmuistia sekä tiedostoja.”
Voisiko tämän kuitenkin selittää jotenkin maanläheisemmin?
Törmäsin tähän esimerkkiin API:sta Taija Björklundin blogissa ja mielestäni se oli hyvinkin osuva ja selkeä. Alla olevassa Tweetissä API on selitetty niin, että kuvitellaan ravintolaa.
Jos menet ravintolaan asiakkaana, et saa mennä keittiöön vaan sinun täytyy tietää mitä on tarjolla. Sitä varten sinulla on ruokalista, josta valitset ruoka-annoksen ja annat tarjoilijalle tilauksen. Tarjoilija toimittaa tilauksen keittiölle, joka sitten valmistaa ja pyydetyn ruoka-annoksen. Tarjoilija voi ainoastaan toimittaa sen minkä keittiö pystyy valmistamaan.
Kuinka tämä sitten liittyy API:in? Tämä tarkoittaa, että tarjoilija on API ja sinä olet henkilö, joka pyytää palvelua. Toisin sanoen sinä olet API asiakas tai kuluttaja. Ruokalista on dokumentaatio, joka kertoo sinulle mitä voit pyytää API:lta. Keittiö on esimerkiksi serveri, joka käsittää vain tietyntyyppistä dataa – sitä mitä omistaja on aineksia ostanut ja mitä kokki on päättänyt, että tarjotaan sekä mitä kokki osaa valmistaa.
Taija Björklund antaa myös toisen esimerkin, miten API:ta voisi selittää. Tässä käytetään esimerkkinä kenkäkauppaa. Sellaista kenkäkauppaa, jossa esillä on vain yksi koko per malli. Sinun täytyy siis pyytää myyjältä sinun kokoista kenkää, jonka jälkeen myyjä tarkistaa varastosta jos heiltä löytyy pyytämääsi kokoa. Asiakasta, eli sinua ei päästetä varastoon. Tarkistuksen tehtyään myyjä joko tuo sinun pyytämän kengän tai ilmoittaa ettei sitä löydy. Tätä API tekee myös, ilmoittaa virheestä, tuotetta ei löydy.
Jarkko Moilanen selittää API:n siltoina. Joen molemmin puolin on teitä ja jotta autot voivat ylittää joen toiselle puolelle, tarvitaan silta. Jos sinulla on silta, joudut ehkä rajoittamaan liikenteen määrää sillalla niin, että päästät sillan yli vain tietyn määrän autoja tunnissa. Ja koska sillan rakentaminen on kallista, saatat haluta ottaa sillan ylityksestä tullimaksua. Tämä koskee myös API:a. Sinun täytyy kontrolloida dataliikennettä jotta serveri ei jumitu ja haluat mahdollisesti myös ansaita rahaa API:si liikenteestä.
Lähteet: https://fi.wikipedia.org/wiki/Ohjelmointirajapinta
https://medium.com/apinf/apis-for-non-techies-like-myself-259f60042ba
Tweetti: https://twitter.com/AarthiD/status/413766666145644544
Kuva: Imagentle // shutterstock.com
















