Blogi

Konepellin alla – 112 Suomi -sovelluksen pilviratkaisu taipuu moneen myös tulevaisuudessa

Kirjoittanut Jermu Pöllänen | Project Manager | 10.1.2018 22:00

Kun 112 Suomi -sovelluksen suunnittelu ja toteutus vuonna 2015 alkoi, ratkaistavana oli monia haasteita niin puhelimien käyttöjärjestelmien kuin tietoturvankin näkökulmasta. Jermu Pöllänen avasi konepellin ja kertoo, miten sovellus oikein toteutettiin.

Yksi hätäkeskusten keskeisimmistä haasteista on aina ollut hädässä olijan paikantaminen. Tämän vuoksi Hätäkeskuslaitos tilasi 2015 ELS-hätäkeskustietojärjestelmään rajapintamuutoksen, joka mahdollistaisi älypuhelinsovelluksen kautta saatavan paikkatiedon vastaanottamisen ELS-hätäkeskustietojärjestelmään. Rajapintamuutos ja ELS-järjestelmän modifiointi toteutettiin ELS-järjestelmän jatkokehityssopimuksen perusteella.

Digian toteuttama hätäpuhelun soittamiseen tarkoitettu 112-sovellus on kerännyt tähän päivään mennessä yli miljoona latausta. Sovellus on äärimmäisen yksinkertainen yhden napin sovellus: sen kautta puhelin soittaa hätäkeskukseen ja lähettää heidän järjestelmäänsä soittajan sijaintitiedon.

Äkkiseltään voisi tuntua siltä, että yhden koordinaattiparin lähettäminen puhelimesta yhdellä napinpainalluksella hätäkeskukseen ei olisi mikään monimutkainen toimenpide. Asia ei kuitenkaan ollut niin yksinkertainen.

Kolme eri mobiilialustaa

Soittajan sijainnin määrittämiseksi olisi ollut helpointa käyttää GSM-tukiverkon paikannusta, mutta tämä paikannus on sen verran epätarkka, että paikannus haluttiin tehdä satelliittipaikannuksella. Tämä tarkoitti sitä, että soittajan piti määrittää sijaintinsa ja lähettää sijaintitietonsa puhelimesta puhelun aikana.

Koska 2015 Suomessa oli poikkeuksellisen suuri Nokia-puhelinkanta, sovellus piti toteuttaa ja julkaista samanaikaisesti kolmelle mobiilialustalle: iPhone, Android ja Windows Phone. Sovelluksen tuli olla jokaisella alustalla niin helppokäyttöinen, että sen käyttäminen onnistuisi ilman ongelmia myös pieniltä lapsilta ja vanhuksilta. Jo pelkästään käyttöjärjestelmäkohtaiset rajoitteet aiheuttivat lukuisia haasteita esimerkiksi virrankulutuksessa ja paikkatiedon jatkuvassa määrittämisessä puhelun aikana (määritys piti olla jatkuva, koska soittaja saattaa olla liikkeessä).

Sijaintitiedon määrittämiseen liittyvien haasteiden lisäksi sijaintitieto tuli saada toimitettua Hätäkeskuksen järjestelmiin vaarantamatta soittajan henkilötietosuojaa sekä Hätäkeskuksen tietoturvaa. Sen johdosta suora yhteys puhelimesta Hätäkeskuksen järjestelmään ei tullut kysymykseenkään. Lisäksi ratkaisussa piti huomioida erilaisia viranomaismääräyksiä toteutukseen ja arkkitehtuuriin liittyen.

Lisähaasteita toi niinkin yksinkertainen asia kuin sijaintitiedon yhdistäminen puhelun soittajan puhelinnumeroon. Hätäkeskus kyllä pystyi näkemään soittajan puhelinnumeron, mutta mikään sovellus ei pysty puhelimesta kaivamaan puhelinnumeroa ulos 100% luotettavasti. Siksi sovellusta ensimmäistä kertaa avattaessa kysytään käyttäjän puhelinnumeroa.

Tietoturvallinen ratkaisu löytyi pilvestä

Mobiilipuolen ratkaisu syntyi iPhonelle ja Androidille varsin helposti, mutta Windows Phone –sovellus oli melko haastava toteutettavaksi. Sovellus kun piti saada päivittämään soittajan sijaintia sekä hitaalla kävelyvauhdilla että nopealla moottoritiellä autoa ajettaessa, ja Windows Phonen tapa määrittää sijaintia ei ole tähän kovin optimaalinen.

Arkkitehtuuriratkaisussa päätettiin rakentaa julkiseen pilveen välityspalvelin hyödyntäen modernia mikropalveluarkkitehtuuria ja konttiteknologiaa. Ratkaisussa puhelin lähettäisi sijaintitietonsa ja puhelinnumeronsa pilvipalveluun, josta Hätäkeskuksen järjestelmä noutaisi sijaintitiedon yhdistämällä soittajan puhelinnumeron perusteella. Ratkaisuun päädyttiin pitkälti tietoturvan, skaalautuvuuden sekä lukuisten jatkokehitysmahdollisuuksien takia. Ratkaisussa sijaintitietoja säilytetään palvelussa vain vuorokauden ajan, jonka jälkeen ne poistetaan, jotta palvelua ei voisi nimittää henkilörekisteriksi.

Kun siis sovelluksella soitetaan Hätäkeskukseen, se lähettää sijaintitietoa jatkuvasti pilvipalvelimelle, josta Hätäkeskuksen järjestelmät noutavat sen, jolloin hakurajapinta pystyttiin eristämään talletusrajapinnasta. Hakurajapintaan voitiin tietoturvan varmistamiseksi samalla toteuttaa vahvat tunnistautumisrutiinit sekä rajaukset siten, että hakurajapintaan voitiin ottaa yhteyttä vain Hätäkeskuksen järjestelmistä. Sijaintitiedon saatuaan hätäkeskuksen järjestelmät pystyivät suoraan näkemään karttanäytöltä soittajan sijainnin sekä halutessaan päivittää soittajan sijaintia automaattisesti, mikäli tämä on liikkeessä.

Monipuolisia laajennusmahdollisuuksia

Ratkaisun toteuttaminen pilvipalveluna toi mukanaan lukuisia potentiaalisia laajennuksia, joista osa on jo käytössä. Pilvipalveluun tallennettua sijaintitietoa voi nimittäin helposti jakaa muihin (viranomais)järjestelmiin vaikka puhelun aikana. Tällä hetkellä tämä on toteutettu Poliisin kenttäjärjestelmään, jonne reaaliaikaisesti päivittyvä sijaintitieto voidaan Hätäkeskuksen toimesta lähettää. Arkkitehtuuri mahdollistaa tulevaisuudessa esimerkiksi hätäpuhelun soittamisen sovelluksen kautta ulkomailla ja sijainnin välittämisen pilvipalvelusta kyseisen maan hätäkeskusjärjestelmälle.

Muita tulevaisuudessa käyttöönotettavia palveluita ovat esimerkiksi onnettomuuspaikalta lähetettävät kuvat ja videot, joiden toteutusta välityspalvelimelle mikropalveluarkkitehtuuri tukee erinomaisesti. Toinen merkittävä suunnitelmissa oleva kehityskohde on sovelluksen kautta puhelimeen lähetetyt push-notifikaatiot, joilla voidaan varoittaa esimerkiksi taajama-alueella liikkuvasta karhusta kaikkiin lähialueella oleviin puhelimiin.

Tutustu Hätäkeskuslaitoksen asiakastarinaan >