Verkkokaupan valikoiman syventäminen ja saatavuuden lisääminen
Kari, Niiles (2022)
Kari, Niiles
2022
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-2022120225878
https://urn.fi/URN:NBN:fi:amk-2022120225878
Tiivistelmä
Opinnäytetyön tavoitteena oli toteuttaa toimeksiantajan määrittelemä projekti. Projektissa tarkoituksena oli perustaa uusia teknisiä komponentteja uusilta toimittajilta sekä lisätä jo aiemmin perustetuille komponenteille tarvittaessa nämä uudet toimittajat. Samalla oli tarkoitus tutkia, voisiko näiden komponenttien perustaminen onnistua automaattisesti. Uusien komponenttien tuli perustua niin, että ne näkyisivät toimeksiantajan verkkokaupassa oikealla tavalla, tiettyjen hakuehtojen toteutuessa. Uusien toimittajien tuli näkyä verkkokaupassa omina varastoinaan, jossa näkyisi tarvittaessa toimittajan tuotekohtainen varastotilanne.
Tavoitteissa onnistuminen edellytti uuden palvelinohjelmiston kehittämistä sekä sen yhdistämistä useampaan eri palvelimilla toimiviin tietokantoihin. Lisäksi oli luotava toimeksiantajan jo olemassa olevaan tietokantapalvelimeen uusi tietokanta. Tähän tietokantaan oli pystyttävä hakemaan tietoa useammalta, eri palvelimilla toimivalta tietokannalta dataa, ja tallentaa data sille luoduille tietokantatauluille. Tämän datan noutamisen tuli tapahtua joka päivä aina tiettyyn kellonaikaan.
Palvelinohjelmiston toteutus haluttiin suorittaa käyttämällä Dockeria ja hyödyntämällä sen tarjoamat mahdollisuudet julkaisun helpottamisessa ja skaalautumisessa. Palvelinohjelmistoa täytyi pystyä muokkaamaan nopeasti ja uuden version julkaisun tuli onnistua helposti. Palvelinohjelmiston täytyi pystyä vikatilanteen takia sammuessaan, käynnistyä uudelleen. Ohjelmiston täytyi pystyä lähettämään tietoa eri muodoissa ja tallentamaan dataa siihen yhdistettyihin tietokantoihin tarvittaessa.
Opinnäytetyön tietoperustaosiossa käsitellään lyhyesti toimeksiantajan valikoimaa sekä komponenttien tarvitseman tiedon sisältöä. Lisäksi käydään läpi tarkemmin projektin sisältö ja mitä toiveita toimeksiantaja on projektille antanut. Samalla tarkastellaan valittuja teknologioita ja esitellään ne niiltä osin, kun niitä on projektin toteutuksessa käytetty.
Empiirisessä osuudessa käydään läpi luodun tietokannan toteutusta, linkitettyjä palvelimia sekä tietokannan ajastettuja tehtäviä, jotka suorittavat tallennettuja proseduureja. Palvelinohjelmiston toteutuksen osalta näytetään, miten tietokantayhteydet on luotu ja mitä konfiguraatioita on tarvittu useamman eri tietokannan yhdistämiseksi osaksi palvelinohjelmistoa. Lopputuloksena syntyy Linux palvelimessa toimivan Docker Enginen päälle rakennettu, omassa verkossaan toimiva kahden palvelinohjelmiston ja välityspalvelimen sisältämät Docker-kontit.
Viimeisessä osuudessa pohditaan tavoitteissa onnistumista ja miten tämän projektin lopputuloksena syntynyttä ohjelmistoa voisi kehittää ja hyödyntää toimeksiantajan muissa tulevissa projekteissa.
Tavoitteissa onnistuminen edellytti uuden palvelinohjelmiston kehittämistä sekä sen yhdistämistä useampaan eri palvelimilla toimiviin tietokantoihin. Lisäksi oli luotava toimeksiantajan jo olemassa olevaan tietokantapalvelimeen uusi tietokanta. Tähän tietokantaan oli pystyttävä hakemaan tietoa useammalta, eri palvelimilla toimivalta tietokannalta dataa, ja tallentaa data sille luoduille tietokantatauluille. Tämän datan noutamisen tuli tapahtua joka päivä aina tiettyyn kellonaikaan.
Palvelinohjelmiston toteutus haluttiin suorittaa käyttämällä Dockeria ja hyödyntämällä sen tarjoamat mahdollisuudet julkaisun helpottamisessa ja skaalautumisessa. Palvelinohjelmistoa täytyi pystyä muokkaamaan nopeasti ja uuden version julkaisun tuli onnistua helposti. Palvelinohjelmiston täytyi pystyä vikatilanteen takia sammuessaan, käynnistyä uudelleen. Ohjelmiston täytyi pystyä lähettämään tietoa eri muodoissa ja tallentamaan dataa siihen yhdistettyihin tietokantoihin tarvittaessa.
Opinnäytetyön tietoperustaosiossa käsitellään lyhyesti toimeksiantajan valikoimaa sekä komponenttien tarvitseman tiedon sisältöä. Lisäksi käydään läpi tarkemmin projektin sisältö ja mitä toiveita toimeksiantaja on projektille antanut. Samalla tarkastellaan valittuja teknologioita ja esitellään ne niiltä osin, kun niitä on projektin toteutuksessa käytetty.
Empiirisessä osuudessa käydään läpi luodun tietokannan toteutusta, linkitettyjä palvelimia sekä tietokannan ajastettuja tehtäviä, jotka suorittavat tallennettuja proseduureja. Palvelinohjelmiston toteutuksen osalta näytetään, miten tietokantayhteydet on luotu ja mitä konfiguraatioita on tarvittu useamman eri tietokannan yhdistämiseksi osaksi palvelinohjelmistoa. Lopputuloksena syntyy Linux palvelimessa toimivan Docker Enginen päälle rakennettu, omassa verkossaan toimiva kahden palvelinohjelmiston ja välityspalvelimen sisältämät Docker-kontit.
Viimeisessä osuudessa pohditaan tavoitteissa onnistumista ja miten tämän projektin lopputuloksena syntynyttä ohjelmistoa voisi kehittää ja hyödyntää toimeksiantajan muissa tulevissa projekteissa.