Viime kesänä kulunvalvonnan ratkaisuihin erikoistuneella Visyllä tehtiin päätös olemassa olevan web-sovelluksen nykyaikaistamisesta. Sen ensimmäinen versio oli julkaistu jo lähes 20 vuotta sitten, kun yrityksen liiketoiminta lähti laajentumaan.
Visyllä ohjelmistosuunnittelijana työskentelevä Petri Sarpola kertoo, että vielä 1990-luvun lopussa Visyn asiakkaat olivat pääasiassa teollisuudesta, eikä kulunvalvonnalla ollut nykyisen kaltaista roolia sen tarjonnassa. Tilanne muuttui, kun New Yorkissa tapahtui terrori-isku syyskuussa 2001.
– Kulunvalvontatoiminta lähti kehittymään, kun terrori-iskun jälkeen satamissa tuli voimaan kansainvälinen ISPS-koodi, joka vaatii kaikkien satama-alueelle tulevien henkilöiden ja ajoneuvojen tunnistamista. Solmimme silloin monta uutta asiakkuutta ja nykyisin kaikki Suomen merkittävimmät satamat ovat asiakkaitamme, Sarpola sanoo.
Hän kertoo, että modernisointiprojekti käynnistettiin, koska sovellus ei enää vastannut loppukäyttäjien tarpeisiin.
– Olimme vuosien saatossa pyrkineet tuomaan sovellukseen mahdollisimman paljon nykyaikaista teknologiaa, mutta viime vuodet sitä oli pidetty toimintakykyisenä lähinnä tekohengittämällä. Alkuperäinen sovellus oli rakennettu ilman suurempaa näkemystä siitä, miten ala tulee vuosien saatossa kehittymään. Koimme, että uudistustyöhön tarttuminen oli ainoa järkevä ratkaisu, hän kertoo.
Sovelluksen modernisointi päätettiin antaa ulkopuolisen tahon tehtäväksi ja lopulta työn toteuttajaksi valikoitui Codeo, josta tehtävään tarttuivat Juha Rinne ja Tuomas Kujala. He jakavat Sarpolan näkemyksen elinkaarensa ehtoopuolelle ehtineestä sovelluksesta.
– Teknisessä mielessä sovellus oli toki toimiva ja sitä pystyi käyttämään. Modernisoinnin myötä sen elinkaari pitenee, jatkokehittäminen tulee helpommaksi ja loppuasiakas pääsee eri toiminnallisuuksiin joustavammin käsiksi. Vanha tekninen pohja lisäsi myös riskiä tietoturvaongelmien ilmaantumiseen, Rinne sanoo.
Vanhasta sovelluksesta jäi vain tietokanta
Sarpola kertoo yhteistyön käynnistyneen loppukesästä 2019. Visyllä oltiin alusta asti valmiita antamaan suhteellisen vapaat kädet työn toteuttamiseen.
– Halusimme, että lopputuloksena syntyisi nykyaikaisilla tekniikoilla toteutettu alusta, jota voimme jatkossa kehittää itsenäisesti ja jolle pystymme rakentamaan myös uusia sovelluksia, hän muistelee projektin alkua.
”Halusimme, että lopputuloksena syntyisi nykyaikaisilla tekniikoilla toteutettu alusta, jota voimme jatkossa kehittää itsenäisesti”
Kujalan ja Rinteen ensimmäinen tehtävä olikin miettiä teknologiat, joilla vaatimuksen mukainen sovellus toteutetaan. Vanhasta sovelluksesta jäi käyttöön vain Oracle-tietokanta.
Kujala kertoo, ettei hänellä ja Rinteellä aluksi ollut teknologiavalintoihin vahvaa suosikkia, mutta lopulta sovelluksen backend päätettiin toteuttaa Java Spring Bootilla ja frontend tämän hetken suosituimpiin JavaScript-kirjastoihin kuuluvilla Reactilla ja Reduxilla. Hän sanoo, että teknologiavalintoja tehdessä kannattaa kuitenkin miettiä muutakin kuin sen hetken kuumimpia trendejä.
– Visyllä oli vahvaa Java-osaamista, joten pidimme parhaana vaihtoehtona tukeutua heille tuttuun kieleen, joka on myös laajasti tunnettu ja vakaa. Tuttu ja turvallinen teknologia voi joskus tuntua tylsältä valinnalta, mutta usein sen avulla saadaan luotua pitkäikäisin tuote. Mikäli asiakkaalla itsellään on rajattu osaaminen, on valittava sellainen teknologia, jonka osaajista ei ole markkinoilla pulaa, Kujala painottaa.
Kun kehitystyö lopulta starttasi, se sujui Sarpolan mukaan nopeammin kuin Visyllä oltiin osattu odottaa.
– Yhteistyön alkaessa meillä oli mielessä muutama toiminnallisuus, joiden valmistuessa asiakastestaus aloitettaisiin. Kehitystyö kuitenkin kulki eteenpäin sellaista vauhtia, että pystyimme laajentamaan toteutettavien toimintojen määrää huomattavasti.
Työpöytäohjelmistojen käyttö vähenee
Koko kolmikko kuvailee lopputuloksena syntynyttä uutta kulunvalvontasovellusta käyttökokemukseltaan miellyttäväksi. Kujala kertoo, että toiminnallisuuksia keskitettiin uudelleenkäytettäviin komponentteihin ja käyttöliittymästä on karsittu liialliset klikkailupolut.
– Sovellus suunniteltiin responsiiviseksi, jotta käyttäjä pystyy operoimaan käyttöliittymällä samalla, kun tietoja haetaan tietokannasta, hän sanoo.
Sarpolan mielestä suurin parannus on se, että tietyt loppukäyttäjäryhmät, kuten luvittajat, voivat siirtyä kokonaan pois työasemaohjelmistojen käytöstä. Se helpottaa myös it-tuen työtä.
– Tukipalvelujen ja ylläpidon työkuorma helpottuu, kun sovelluksen päivitykset hoituvat keskitetysti. Teollisuudessa työasemien päivitysten automatisointi on haastavaa, koska siellä noudatetaan tarkkaa käyttäjäpolitiikkaa, eikä kuka tahansa voi tehdä päivityksiä. Silloin jonkun it-osastolta on kierrettävä kaikki työasemat läpi.
”Tukipalvelujen ja ylläpidon työkuorma helpottuu, kun sovelluksen päivitykset hoituvat keskitetysti.”
Myös Visyn myyjien työ tulee tehostumaan.
– On mukavaa, kun voi helposti esitellä järjestelmää missä tahansa paikassa, jossa on verkkoyhteys, Sarpola jatkaa.
Haastatteluhetkellä hän ja muutama muu visyläinen ovat jo päässeet tutustumaan sovellukseen niin loppukäyttäjän kuin ohjelmistokehittäjän näkökulmasta. Sarpola kertoo, että myös vähemmän web-ohjelmointikokemusta omaavat testaajat ovat päässeet hyvin sisälle lähdekoodiin ja pystyneet tekemään siihen muutoksia. Hänen mukaansa se on selkeä merkki onnistuneesta lopputuloksesta.
– Tällä hetkellä olemme erittäin tyytyväisiä lopputulokseen. Jos kaksi kaveria ilman web-ohjelmointikokemusta voi hypätä mukaan kehitystiimiin näin nopeasti, se kertoo projektin lähdekoodin ja dokumentaation olevan hyvin rakennettu.