Tieteen tietotekniikan keskuksen ja Nitorin kehittämä REMS-järjestelmä auttaa tutkijoita työssään

19.8.2020 klo 13.36

Nitor kehittää yhdessä Tieteen tietotekniikan keskuksen (CSC) kanssa tieteellisten aineistojen hallintaan tarkoitettua REMS-järjestelmää. Järjestelmän avulla erilaisiin aineistoihin voidaan hakea ja jakaa käyttövaltuuksia eri organisaatioissa toimiville tutkijoille. Ratkaisu on toteutettu ketterästi Clojure-kielellä ja julkaistu avoimena lähdekoodina. Jo vuodesta 2017 CSC:n puitesopimustoimittajana ollut Nitor voitti kilpailutuksen REMS-järjestelmän jatkokehityksestä myös vuosille 2020 – 2022.

CSC-main.jpg

Tieteen tietotekniikan keskus eli CSC on suomalainen valtion ja korkeakoulujen omistama tietotekniikan osaamiskeskus. CSC tuottaa kansainvälisesti korkeatasoisia ICT-asiantuntijapalveluita ja on tunnettu esimerkiksi laskentapalveluistaan ja supertietokoneistaan. Nitor on yhdessä CSC:n kanssa uudistamassa keskuksen REMS-järjestelmää, jota hyödyntävät esimerkiksi Findata sekä THL:n biopankki.

Mikä on tutkijoiden käyttämä REMS-järjestelmä?

REMS eli Resource Entitlement Management System -järjestelmä on toteutettu osana kansainvälistä ELIXIR-hanketta, joka kokoaa yhteen euroopanlaajuisesti bio- ja terveystieteiden aineistoja ja työkaluja. Hankkeen tavoitteena on luoda tutkimusinfrastruktuuri, jonka avulla tutkijat voivat helpommin löytää ja analysoida aineistoja sekä jakaa tietotaitoaan toteuttaen alan parhaita käytäntöjä. REMS mahdollistaa eri organisaatioiden tutkijoille pääsyn aineistoihin, ja hakuprosessi voidaan hoitaa kokonaan palvelun sisällä.

Clojure-ohjelmointikielellä rakennettu REMS on avoimen lähdekoodin tuote, jossa päätoteuttajina toimivat CSC ja Nitor. Nitorilta ovat alusta asti olleet mukana kokeneet ohjelmistoarkkitehtimme Markku Rontu ja Joel Kaasinen, joille sekä Clojure että avoin lähdekoodi merkitsevät paljon.

“Julkisten järjestelmien on mielestäni tärkeää olla avointa lähdekoodia. On myös hienoa päästä näyttämään esimerkkiä laajasta Clojurella tehdystä järjestelmästä sekä auttaa muita kehittämällä avoimen lähdekoodin komponentteja. Monesta muusta modernista kielestä poiketen Clojure on rakennettu alunperin raskaaseen tuotantokäyttöön ja soveltuu tämän kaltaisen systeemin ohjelmointiin hyvin“, kertoo Markku.

REMS sisältää käyttöliittymän, jolla käyttölupahakemus kiertää hakijalta hyväksyttäväksi aineiston omistajalle tai hänen edustajalleen. Lisäksi se tarjoaa laajan rajapinnan, joka jakaa hakemusten ja myönnettyjen käyttöoikeuksien tiedot sekä toimii integraatiopisteenä muihin luvitus- tai käsittelyjärjestelmiin. REMS on joustavasti sovellettavissa vastaamaan sitä käyttävän organisaation tarpeisiin. Järjestelmää hyödyntää esimerkiksi tietolupaviranomainen Findata sekä Terveyden- ja hyvinvoinnin laitoksen (THL) biopankki.

Ketterällä tiimillä toteutettu ratkaisu mukautuu eri käyttäjien tarpeisiin

CSC:n ja Nitorin intohimoisesti Clojureen suhtautuvat asiantuntijat rakensivat yhdessä järjestelmän, joka muokkautuu eri käyttäjäorganisaatioiden tarpeisiin. Uuden järjestelmän soveltuvuus validoitiin proof-of-concept -toteutuksella, jonka päälle on rakennettu pala kerrallaan uusia ominaisuuksia käyttäjäorganisaatioiden tarpeiden mukaan. Ensimmäisenä REMSin otti käyttöön Kielipankki, jossa järjestelmä on ollut tuotannossa vuodesta 2018.

“Uudet käyttäjäorganisaatiot tuovat aina uusia tarpeita järjestelmälle, mikä voi olla isokin haaste. Projektiimme onkin mahtunut muutama laaja uudelleenkirjoitus, kuten esimerkiksi käsittelymallin merkittävä yksinkertaistaminen. Puhdas funktionaalinen koodi, automaattisten testien hyvä kattavuus sekä Clojure-kielen ilmaisuvoima ovat kuitenkin pitäneet koodimassan kurissa”, Markku kertoo.

Jo vuodesta 2017 REMS-järjestelmän toimittajana ollut Nitor voitti kilpailutuksen järjestelmän jatkokehityksestä myös vuosille 2020 – 2022. Keväällä 2020 alkanut etätyösuositus ei hidastanut ketterin periaattein toimivaa tiimiä.

“Projektin onnistuminen on lähes aina toimivan tiimityön tulosta. Olemme esimerkiksi toimineet alusta lähtien etätiiminä CSC-kehittäjien kanssa. Se sopii hyvin avoimen lähdekoodin projektiin ja on tietenkin helpottanut yleistä siirtymistä etätyöhön. Lisäksi kokonaisuuden hallintaan ja uusien tarpeiden sovittamiseen tarvitaan hyvää tuoteohjausta, josta kuuluu iso kiitos CSC tuoteomistajille. Jatkuva oppiminenkin on olennaista – sattumoisin myös teknologiavalintamme tapahtui alunperin Joelin pitämän Clojure-ohjelmointikurssin käyneen tuoteomistajan innoittamana!“, Markku kertoo.