Musiikkikatalogin siirtotyökalu
Koskinen, Pasi (2022)
Koskinen, Pasi
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-2022052010818
https://urn.fi/URN:NBN:fi:amk-2022052010818
Tiivistelmä
Työn toimeksiantajana oli Musicinfo Finland Oy, joka tarjoaa web-palvelua artisteille sekä levy-yhtiöille. Palvelun kautta asiakkaat voivat julkaista musiikkiaan Aasian musiikinjakelijoille. Kokonaisen musiikkikatalogin lisääminen palveluun on hyvin hidasta ja suuremmat levy-yhtiöt ovatkin ilmaisseet tarvetta ongelman ratkaisevalle työkalulle. Tilattu työ on Proof of Concept -toteutus musiikkikatalogin siirtotyökalu palvelusta, joka toimii pohjana tulevaisuuden kehitystyölle. Palvelulla tehtäviin toimintoihin asetettiin tavoitteita. Palveluun luodaan käyttäjänhallinta, joka sisältää sisäänkirjautumisen. Palvelun on kyettävä kommunikoimaan toimeksiantajan palvelun kanssa. Palvelun avulla pystytään lataamaan musiikkikatalogitiedosto levylle ja siitä pystytään lukemaan tietoa tietokantaan halutussa muodossa.
Työssä toteutettiin erillinen palvelu, jonka avulla käyttäjältä luetaan musiikkikatalogitiedosto. Tiedostosta luetaan tarvittavat tiedot ja tiedot siirretään halutussa formaatissa ja rakenteeseen tietokantaan. Palvelu rakennettiin web-palveluksi, käyttäen Python-kielellä toimivaa Django web-kehystä. Kehyksen sisäisiä toimintoja hyödyntämällä palveluun rakennettiin käyttäjänhallinta, web-käyttöliittymä käyttäjän syötteitä varten ja luotujen applikaatioiden välinen kommunikointi ja siirtyminen palvelun sisällä. Kehyksen mallien avulla luotiin taustalla toimiva tietokanta sekä kaikki tietokantaan tehtävät kyselyt ja tiedon tallentaminen. Taustalla toimiva tietokanta toteutettiin PostgreSQL-relaatiotietokantajärjestelmällä. Kommunikointi toimeksiantajan palvelun välillä toteutettiin hyödyntämällä OAuth 2-valtuutusprotokollaa, jonka avulla voidaan tehdä rajapintakutsuja toimeksiantajan palveluun. Ladatusta tiedostosta tiedon lukemiseen ja siirtämiseen tietokantaan hyödynnettiin Python-kielen Pandas-kirjastoa.
Palveluun toteutettiin kaikki työn tavoitteissa määritetyt toiminnot. Palvelun toteutus toimii hyvänä pohjana työkalun kehittämiselle tulevaisuudessa muokattavuutensa ja laajennettavuutensa ansiosta. Palvelua pystytään käyttämään erillisenä palveluna tai se pystytään integroimaan osaksi toimeksiantajan palvelua.
Työssä toteutettiin erillinen palvelu, jonka avulla käyttäjältä luetaan musiikkikatalogitiedosto. Tiedostosta luetaan tarvittavat tiedot ja tiedot siirretään halutussa formaatissa ja rakenteeseen tietokantaan. Palvelu rakennettiin web-palveluksi, käyttäen Python-kielellä toimivaa Django web-kehystä. Kehyksen sisäisiä toimintoja hyödyntämällä palveluun rakennettiin käyttäjänhallinta, web-käyttöliittymä käyttäjän syötteitä varten ja luotujen applikaatioiden välinen kommunikointi ja siirtyminen palvelun sisällä. Kehyksen mallien avulla luotiin taustalla toimiva tietokanta sekä kaikki tietokantaan tehtävät kyselyt ja tiedon tallentaminen. Taustalla toimiva tietokanta toteutettiin PostgreSQL-relaatiotietokantajärjestelmällä. Kommunikointi toimeksiantajan palvelun välillä toteutettiin hyödyntämällä OAuth 2-valtuutusprotokollaa, jonka avulla voidaan tehdä rajapintakutsuja toimeksiantajan palveluun. Ladatusta tiedostosta tiedon lukemiseen ja siirtämiseen tietokantaan hyödynnettiin Python-kielen Pandas-kirjastoa.
Palveluun toteutettiin kaikki työn tavoitteissa määritetyt toiminnot. Palvelun toteutus toimii hyvänä pohjana työkalun kehittämiselle tulevaisuudessa muokattavuutensa ja laajennettavuutensa ansiosta. Palvelua pystytään käyttämään erillisenä palveluna tai se pystytään integroimaan osaksi toimeksiantajan palvelua.