Tiedosto vai rajapinta?

Avointa dataa voi jakaa tiedostoina tai ohjelmointirajapintojen kautta. Datan jakamisen tapaan vaikuttaa erityisesti se, minkälaisia jakeluratkaisuja avattavan datan lähdejärjestelmässä on jo valmiiksi olemassa. Muita huomioonotettavia asioita ovat avattavan datan määrä ja päivitystiheys. Mikäli mahdollista niin data on hyvä avata useammassa eri muodossa eli esimerkiksi rajapinnan lisäksi data on tarjolla myös ladattavana tiedostona.

Kuva: Tussitaikurit.

Datan avaaminen tiedostona

Datan avaaminen tiedostomuodossa tulee kyseeseen erityisesti silloin, kun data on kooltaan pieni ja sitä päivitetään harvoin. Tällaisia datoja ovat esimerkiksi kyselytutkimusten vastaukset. Data tulisi jakaa tiedostomuodossa (esimerkiksi CSV), joka mahdollistaa ohjelmistoriippumattoman datan uudelleenkäsittelyn.

Datan avaaminen ohjelmointirajapinnan (API) kautta

Mikäli avattava data päivittyy usein tai sitä on valtavia määriä, on data järkevämpi jakaa tiedoston sijaan ohjelmointirajapinnan eli API:n (Application Programming Interface) kautta. Ohjelmointirajapinta tarjoaa dataa tai toimintoa koneluettavassa, dokumentoidussa muodossa siten, että jokin toinen ohjelmisto, sovellus tai järjestelmä voi sitä ohjelmallisesti hyödyntää.

Ohjelmointirajapinnan rakentaminen tietojärjestelmään edellyttää ohjelmointityötä. Vanhoihin ja suljettuihin tietojärjestelmiin voi olla vaikeaa tai jopa mahdotonta tehdä rajapintaa jälkikäteen. Datan avaaminen ja rajapinnat tulisikin huomioida jo uuden tietojärjestelmän suunnitteluvaiheessa.

Suomen kuuden suurimman kaupungin kokemukset yhtenäisten ohjelmointirajapintojen rakentamisesta on koottu esitesarjaksi.

Kun ohjelmointirajapinta on saatu järjestelmään tehtyä, on datan päivittäminen ja ylläpito helpompaa kuin tiedostona avatun datan. Rajapinnasta saatava data on lähtökohtaisesti yhtä ajantasaista kuin tietojärjestelmässä oleva data, eikä erillistä päivitysrutiinia tarvitse muistaa.

Ohjelmointirajapinnan päälle voi rakentaa sovelluksia, joten se palvelee sovelluskehittäjiä ja edistää datan hyödyntämistä. Rajapintojen kautta voi valita vain osa datasta hyödynnettäväksi, kun taas tiedosto pitää ladata kokonaisuudessaan.