#40 – Näin uusi maksupalvelulaki vaikutti softakehittämiseen OP:lla

Jaksossa 40 Kristian haastattelee OP:n Senior DevOps Specialist Markus Lindqvistiä, joka on ollut mukana kehittämässä uusiutuneeseen maksupalvelulakiin liittyviä notifikaatioita ja API-rajapintoja.

Tässä jaksossa Kristian ja Markus keskustelevat muun muassa siitä,

  • millaisia vaikutuksia uudella maksupalvelulailla oli OP:n softakehitykseen,
  • miten reaaliaikaisten maksutapahtumailmoitusten kehittäminen ratkaistiin ja
  • millaista ajatustavan muutosta softaprojektin aikana piti tehdä.

Katso tästä, mitä edellinen jakso käsitteli >>

Uusi maksupalvelulaki vauhditti reaaliaikaisten maksuilmoitusten kehittämistä

OP:n asiakkaat olivat jo jonkin aikaa toivoneet reaaliaikaisia ilmoituksia tekemistään maksuista, ja OP:lla oli päätetty vastata tähän toiveeseen. Uuden toiminnallisuuden suunnittelutyö oli saatu jo alkuun, kunnes syksyllä 2019 finanssialalle tuli voimaan uusi maksupalvelulaki “Payment Services Directive 2” eli tutummin PSD2. Sen tarkoituksena oli parantaa kuluttajien tietoturvaa, vähentää väärinkäytöksiä ja edistää kilpailua pankkitoimialalla.

OP:lle uusi maksupalvelulaki tarkoitti, että jatkossa pankin asiakkaiden pitäisi saada tieto onnistuneista maksutapahtumista. Se auttaisi havaitsemaan mahdollisia väärinkäyttötapauksia jo alkumetreillä. Niinpä uusi määräys osui sopivaan saumaan ja vauhditti jo käynnistynyttä suunnittelutyötä entisestään.

Markuksen tiimi ryhtyi kehittämään systeemiä, jonka avulla asiakas saisi reaaliaikaisesti ilmoituksen maksutapahtumista kännykkäänsä. Äkkiseltään ajateltuna se kuulostaa helpolta tehtävältä, mutta ei suinkaan luonnistunut ihan vain sormia napsauttamalla.

“Voisi sanoa, että pankki on rakennettu hyvin ikääntyneen teknologian päälle”, Markus kertoo ja täsmentää, että taustalla oli mainframe-teknologiaa ja isoja tietokantoja. Siksi projektissa piti kehittää taustajärjestelmiä, joilla saatiin siirrettyä kortti- ja tilijärjestelmistä tietoa modernimpiin järjestelmiin reaaliaikaisesti.

Lisäksi piti huomioida, että OP:lla on miljoonia asiakkaita ja asiakkaiden korteilla on keskimäärin yksi maksutapahtuma per viikonpäivä. Jo lyhyellä laskutoimituksella huomaa, että datan määrä oli massiivinen.

Miten reaaliaikaisten notifikaatioiden kehittämistä lähdettiin ratkomaan?

Projektissa oli huomioitava, että tarvittava lähtödata puskee useista järjestelmistä. OP:lle oli jo valittu reaaliaikaiseksi stream-teknologiaksi Apachen Kafka, johon saa tuotua dataa yhtä aikaa monista eri lähteistä. Sen suurena etuna oli, ettei monien eri järjestelmien välille tarvinnut tehdä integraatioita, vaan ilmoitukset maksutapahtumista integroituivat niin kutsuttuihin viestijonoihin. Taustajärjestelmät puolestaan saatiin yhdistymään viestijonoihin.

Datan käsittelyyn Markuksen tiimi tutki useita erilaisia vaihtoehtoja ja teknologioita. Aluksi testattiin AWS EMR-klustereita Scala-teknologialla. Heti sen perään kokeiltiin Node.js -pohjaisia kontteja AWS:ään. Jälkimmäinen vaihtoehto osoittautui lopulta helpommaksi tavaksi jatkokehityksen kannalta. Markuksella onkin käytännöllinen vinkki teknologiavalintojen tekemiseen, minkä hän jakaa mielellään muillekin:

“Kannattaa miettiä, että jos tiimiin tulisi uusi kehittäjä, mistä teknologiavalinnasta hän yllättyisi vähiten. Sen perusteella moni kallistuu Java- tai Node.js -ratkaisuihin ja kontti- tai lambda-pohjaisiin ajoalustoihin”, Markus tuumii.

Kehitetty softa mahdollisimman nopeasti testiin ja tuotantoon

Markuksen tiimin piti projektin aikana muuttaa myös aiempaa ajattelutapaansa. Sen sijaan, että softa rakennettaisiin testiympäristössä täydelliseksi, otettiin OP:lla tavoitteeksi saada koko setti testi- ja tuotantoympäristöihin mahdollisimman aikaisessa vaiheessa.

Todellisen käyttötapauksen avulla pystyttiin testaamaan kätevästi myös järjestelmien välisten integraatioiden yhteensopivuus ja toiminta. Näin tuotanto- ja testiympäristöjen eroavaisuuksiin törmättiin jo varhaisessa vaiheessa ja niitä päästiin ratkomaan ketterästi, asiakkaita vaivaamatta.

“Integraatiotestauksen jälkeen on helpompi laajentaa ja julkaista uusia ominaisuuksia asiakkaille”, Markus sanoo.

Ilmoitukset maksutapahtumista ovat parhaillaan OP:n sisäisessä pilottikäytössä, ja tulevaisuudessa asiakkaat pystyvät itse havainnoimaan mahdollisia tilien väärinkäytöksiä. Markus kiittelee, että ilmoitukset lisäävät myös käyttäjän kontrollin tunnetta, kun seuranta on saatu reaaliaikaiseksi.

Kuuntele Markuksen ja Kristianin keskustelu kokonaisuudessaan Spotifysta >>

Jakson sisältö

  • Millaisia vaikutuksia uudella maksupalvelulailla oli OP:n softakehitykseen?
  • Miten reaaliaikaisten notifikaatioiden kehittämistä lähdettiin ratkomaan?
  • Miltä ratkaisu näyttää teknisesti?
  • Mitä eroa viestiarkkitehtuurin perustuvalla mallilla on verrattuna REST-rajapintaan?
  • Ajatustavan muutos softakehityksessä

Jakson kesto: 14:58 min

Jatketaan keskustelua sosiaalisessa mediassa! Verkostoidu Markuksen ja Kristianin kanssa

Twitterissä: @markuslindqv ja @kluoma  

LinkedInissä: Markus Lindqvist & Kristian Luoma