ERLEND
Erinevate Eesti riigi API-de kogumik

Erinevate Eesti riigi API-de kogumik

Erlend EelmetsWednesday 09 December 2020

Sissejuhatus

Maailm täis erinevaid avalikke API-sid. Võimalik on saada igasugust infot erinevatelt asutustelt ja erinevatest kohtadest masinloetavas formaadis. Alates börsi infost kuni erinevate kosmoseagentuuride foto kogudega. Tihtipeale on tehtud ära ka korralik arendustöö ja see info on kättesaadav SOAP, REST või siis kohati isegi Facebook-i poolses Graph standardiga. Eesti andmeid on aga olnud alati keeruline taga ajada. Tihti on vaja olnud kaevata või vaadata, kuidas veebileht ise suhtleb serveriga, et leida see masinloetav ots, millest saab kinni haarata.

Andmehulgad

Mis see on? Mis seal on? - On olemas avalik kogu nendest API-dest. Üks keskne koht, kust neid saab leida. Eesti Avaandmete portaal. Selline algeline Bootsrap-i põhine kataloog. Sealt leiab erinevaid huvitavaid asju. Väga palju informatsiooni, mis erinevate asutuste sees liigub ja tundub inimestele tõenäoliselt vähe kasulik esmapilgul. Samas aga saab tark arendaja kombineerida erinevaid allikaid ning luua täiesti uusi võimekusi. Väga algelise näitena võid võtta töötukassa avalikud tööpakkumised ja alustada tööportaali. Võid kasutada kuritegude statistikat kinnisvara portaalis. Võtta erinevaid täielikke andmekogusid ning treenida huvitavaid masinõppe mudeleid tegema veidraid asju. Veebileht on sisuliselt kullakaevandus ettevõtlikule arendajale.

Näide

Hetkel kõige päevakohasem on vast COVID-19 seotud informatsioon. Selle käigus sai näha kuidas toimis API arendus süsteemis. Alguses tekkisid CSV tabeli failid, mis muutsid formaati iga hetk kui neid avaldati. Avaldamine ei olnud stabiilne ning mõni päev tuli info, mõni päev ei tulnud. Nüüdseks on süsteem stabiliseerunud ning on võimalik saada informatsioon JSON või CSV formaadis. Informatsioon avaldatakse järjekindlalt ja ühtses formaadis. Ehk siis kogu on masinloetav. Etteheide süsteemile oleks REST võimekuse puudumine. Kui kirjutad mobiiliäppi, mis näitaks koroonaviiruse levi kaardil. Sul aga ei ole mingit muud võimalust kui tõmmata alla kogu fail iga kord kui informatsiooni tahan. Fail on mitmetes megabaitides seega see ei ole praktiline lahendus. Seega tegelikkuses pead oma server sinna vahele panema, et lõppkasutaja ei pea iga kord kui äppi avab vähemalt 10-20MB infot alla laadima. COVID-19 äpp samas on tänaseks aga vaid näide. Google on keelustanud igasuguse koroonaäppide loomise väljaspool riigiameteid. Eks sellest USA fakenews poleemikast ei pääse keegi kui Ameerika firmad jooksutavad äppi poode. Isegi kui need toetuvad ainult ametlikele allikatele ja näitavad lihtsalt numbreid kaardil.

Etteheiteid

Portaalis puudub andmeallikate filtreerimine võimekuste järgi. Formaadid on üle platsi seinast-seina. Mõni loobib HTML faili, mida tuleb kraapida. Mõni on CSV tabel, mille formaat muutub. Mõne puhul saab JSON faili ja mõne puhul XML-i. Ei imestaks kui mõni jagab ainult tiguposti teel vaadates formaatide vikerkaart. Uuendamiste tihendus on kaheldav ja pole hästi monitooritud. Mõni andmehulk on täiesti surnud aga istub ikka nimekirjas. Pea kõigil puudub mingisugunegi võimekus API tarbija poolt sisu filtreerida. See tähendab, et alati tuleb panna kokku oma server andmehulga ja lõppkasutaja vahele, mis teeb selle filtreemistöö ära. See teeb lõppkokkuvõttes kogu asja keerukamaks kui vaja. Kui tahad kasutada neid andmeid kodulehtedel ja mobiili äppides siis on sul vaja oma serverit. Lõppkokkuvõttes ütleks, et hea algatus aga saab väga palju paremini teha.

Some more reading
Erinevate Eesti riigi API-de kogumik
Eesti maakondade GEOJSON lihtsateks kaartide valmistamiseks
How to write your own Clear History extension for Firefox or Chrome