Sähköposti-integraation uudistaminen
Laiho, Henri (2019)
Laiho, Henri
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201905108946
https://urn.fi/URN:NBN:fi:amk-201905108946
Tiivistelmä
Opinnäytetyön tarkoituksena oli kehittää toimeksiantajan sähköposti-integraatiolle uusi versio. Uudistettua versiota tarvittiin, koska vanhan sähköposti-integraation teknologiat ja työkalut olivat vanhentuneita eivätkä olleet ajan tasalla. Tästä johtuivat hankaluudet ylläpidossa ja sähköposti-integraation kehittämisessä.
Vanhempien versioiden ongelmakohtia miettien laadittiin vaatimukset uudelle versiolle. Vaatimusten pohjalta valittiin käytettävät teknologiat ja työkalut. Valinnoissa painotettiin ensisijaisesti soveltuvuutta vaatimuksiin. Toissijaisesti painotettiin toimeksiantajan työntekijöiden aiempaa kokemusta ja arvioitiin kunkin valinnan ylläpidon tasoa. Ylläpidon tasoon vaikuttivat uusien versioiden julkaisutahti, GitHubissa avoinna olevien ongelmien määrä ja niiden yritysten määrä, jotka ilmoittivat julkisesti käyttävänsä kyseistä teknologiaa ja työkalua.
Keskeisenä tuotoksena syntyi uusi versio sähköposti-integraatiosta. Sen toteuttamiseen valittiin node.js, TypeScript ja RabbitMQ. Node.js valittiin, koska asynkroninen ohjelmointi on sillä vaivatonta. Ylläpidettävyyden ja paremman kehittäjäkokemuksen vuoksi valittiin TypeScript JavaScriptin sijaan. TypeScriptin tuomat tyypitykset tekivät sähköposti-integraation kehittämisestä varmempaa. RabbitMQ valittiin, jotta voitiin luopua tietokannan käyttämisestä viestijonona, mikä mahdollisti uuden version monet ominaisuudet, kuten sähköpostiviestien rinnakkaisen käsittelyn ja yksittäisten osa-alueiden uudelleen yrittämisen virhetilanteiden sattuessa.
Uuden version kehittäminen sujui hyvin. Teknologia- ja työkaluvalinnat osoittautuivat onnistuneiksi. Niiden ansiosta kehittäminen oli sujuvaa ja kehittäjäkokemus hyvä. Uuden version jatkokehittäminen on vanhaa huomattavasti helpompaa ja varmempaa. RabbitMQ:n käyttäminen sähköpostiviestien käsittelyssä osoittautui toimivaksi ratkaisuksi.
Vanhempien versioiden ongelmakohtia miettien laadittiin vaatimukset uudelle versiolle. Vaatimusten pohjalta valittiin käytettävät teknologiat ja työkalut. Valinnoissa painotettiin ensisijaisesti soveltuvuutta vaatimuksiin. Toissijaisesti painotettiin toimeksiantajan työntekijöiden aiempaa kokemusta ja arvioitiin kunkin valinnan ylläpidon tasoa. Ylläpidon tasoon vaikuttivat uusien versioiden julkaisutahti, GitHubissa avoinna olevien ongelmien määrä ja niiden yritysten määrä, jotka ilmoittivat julkisesti käyttävänsä kyseistä teknologiaa ja työkalua.
Keskeisenä tuotoksena syntyi uusi versio sähköposti-integraatiosta. Sen toteuttamiseen valittiin node.js, TypeScript ja RabbitMQ. Node.js valittiin, koska asynkroninen ohjelmointi on sillä vaivatonta. Ylläpidettävyyden ja paremman kehittäjäkokemuksen vuoksi valittiin TypeScript JavaScriptin sijaan. TypeScriptin tuomat tyypitykset tekivät sähköposti-integraation kehittämisestä varmempaa. RabbitMQ valittiin, jotta voitiin luopua tietokannan käyttämisestä viestijonona, mikä mahdollisti uuden version monet ominaisuudet, kuten sähköpostiviestien rinnakkaisen käsittelyn ja yksittäisten osa-alueiden uudelleen yrittämisen virhetilanteiden sattuessa.
Uuden version kehittäminen sujui hyvin. Teknologia- ja työkaluvalinnat osoittautuivat onnistuneiksi. Niiden ansiosta kehittäminen oli sujuvaa ja kehittäjäkokemus hyvä. Uuden version jatkokehittäminen on vanhaa huomattavasti helpompaa ja varmempaa. RabbitMQ:n käyttäminen sähköpostiviestien käsittelyssä osoittautui toimivaksi ratkaisuksi.