The development of an adaptable data transfer interface
Juntunen, Joel (2020)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020121528338
https://urn.fi/URN:NBN:fi:amk-2020121528338
Tiivistelmä
Tietokantojen koko on teknologian kehittyessä kasvanut suunnattomasti. Koon kasvaessa myös monimuotoisuus on lisääntynyt luoden haasteita ja mahdollisuuksia. Kehittäjänä tietokantojen parissa vastaan tulee kysymys yrityksen kehittymisestä. Tehtävää isossa yrityksessä riittää aina ylläpidon parissa, mutta suurimmat mahdollisuudet tarjota parempia palveluja asiakkaille nousevat uuden datan toimittamisesta. Kun dataa saadaan uusista lähteistä, sen yksimuotoisuutta ei voida taata käytössä olevan tietokannan rakenteen kanssa. Usein tiedonsiirtotyökalut uusille tiedostotyypeille ovat valmiiksi olemassa, mutta kun tietotyyppejä on paljon, ei niiden kaikkien käyttäminen välttämättä olekaan yksinkertainen tehtävä tietokantayksikölle.
Opinnäytetyössä kehitettiin tiedonsiirron protokollia yhdistävä sovellus, jonka pääasiallinen tarkoitus on yhtenäistää protokollat yhden käyttöliittymän taakse. Täten työmäärä, joka tarvitaan uuden tiedostotyypin tuomiseen tietokantaan, sijoittuu työkalun kehittämiseen, jonka jälkeen se on saatavilla kaikille kehittäjille.
Sovellus toimii siis rajapintana useille muiden palveluntarjoajien tiedonsiirtoprotokolille. Se luo automaattisesti kaikki tarvittavat konfiguraatiotiedostot ja toteuttaa tiedonsiirron.
Työn tarve nousi esille, kun uudentyyppistä lähdejärjestelmistä oli tarve tuoda dataa tietokantaan ripeämmällä tahdilla kuin kehittäjille oli tehokasta tehdä niille yksittäisiä ratkaisuja.
Opinnäytetyön lopputuloksena syntyi yhtiön sisäinen tiedonsiirtosovellus, joka tukee testatusti lähdetyyppeinä pilvipalvelu Azure Storage tiedostoja sekä json-, csv-, xls-, ja xlsx-tyyppisiä tiedostoja. Ensimmäiseksi kohdetyypiksi kehitettiin lataus SQL-tietokantaan. Sovelluksen lähdekoodi toteutettiin siten, että uusia lähde- ja kohdetyyppejä on yksinkertaista lisätä tarvittaessa. Tämä tekee yhtiön tietokantatiimistä paljon notkeamman ja kykenevämmän sopeutumaan uusiin tarpeisiin tietokannan laajentuessa. Varsinkin uusien lähdetiedostotyyppien lisääminen mahdollistaa sujuvamman yhteistyön uusien kumppanien kanssa. Sovellus vähentää myös yhtiön teknistä velkaa korvaten työläitä protokollia vanhoista vielä käytössä olevista kolmansien osapuolien työkaluista. The capacity of data warehousing has grown in due course with the technological development in the field. Simultaneously, the advancing diversity has created many challenges and opportunities for the companies in the field. Developers in data warehousing often end up face to face with seizing those opportunities for the benefit of the company. The best opportunities for serving customers come from integrating new data and work hours should be dedicated to it accordingly.
Unfortunately, due to the rigidness of database structures, uniformity between old and new data is not a given. Luckily for these developers, many data transfer tools are developed for the newest file formats before their widespread implementation. Nevertheless, the plurality of the formats is such that learning and using so many tools is no longer a simple task for a large data warehousing unit.
The thesis aimed to create an application for unifying data transfer protocols under a single interface. In this way developers could handle a plethora of different data transfer protocols without needing the knowledge of how to configure filetype specific tools. In other words, the application acts as an intermediary between the developer and different third-party data transfer protocols so that setting up configuration and optimising protocols can be carried out at the application development face rather than at the start of every new solution.
The necessity for this kind of application became apparent when the data warehousing team of the commissioning company needed to bring in new datatypes at a faster pace than it was efficient to build individual solutions for each source.
The end product of the thesis is an inhouse data transfer application that currently supports JSON, CSV, XLS, and XLSX file types and Azure Storage cloud service files. The first implemented target type is into an SQL database. The source code, which was written in C#, was designed so that adding new source and target types will be easy when the need arises. This makes the company data warehousing team much more flexible and adaptable to new needs as the data pool expands. Notably the ability to add new source types will enable smoother cooperation with partner organisations as offered data can be implemented into the data lake with less friction. The application also reduces the technical dept of the organisation, replacing work intensive protocols from still active old third-party tools.
Opinnäytetyössä kehitettiin tiedonsiirron protokollia yhdistävä sovellus, jonka pääasiallinen tarkoitus on yhtenäistää protokollat yhden käyttöliittymän taakse. Täten työmäärä, joka tarvitaan uuden tiedostotyypin tuomiseen tietokantaan, sijoittuu työkalun kehittämiseen, jonka jälkeen se on saatavilla kaikille kehittäjille.
Sovellus toimii siis rajapintana useille muiden palveluntarjoajien tiedonsiirtoprotokolille. Se luo automaattisesti kaikki tarvittavat konfiguraatiotiedostot ja toteuttaa tiedonsiirron.
Työn tarve nousi esille, kun uudentyyppistä lähdejärjestelmistä oli tarve tuoda dataa tietokantaan ripeämmällä tahdilla kuin kehittäjille oli tehokasta tehdä niille yksittäisiä ratkaisuja.
Opinnäytetyön lopputuloksena syntyi yhtiön sisäinen tiedonsiirtosovellus, joka tukee testatusti lähdetyyppeinä pilvipalvelu Azure Storage tiedostoja sekä json-, csv-, xls-, ja xlsx-tyyppisiä tiedostoja. Ensimmäiseksi kohdetyypiksi kehitettiin lataus SQL-tietokantaan. Sovelluksen lähdekoodi toteutettiin siten, että uusia lähde- ja kohdetyyppejä on yksinkertaista lisätä tarvittaessa. Tämä tekee yhtiön tietokantatiimistä paljon notkeamman ja kykenevämmän sopeutumaan uusiin tarpeisiin tietokannan laajentuessa. Varsinkin uusien lähdetiedostotyyppien lisääminen mahdollistaa sujuvamman yhteistyön uusien kumppanien kanssa. Sovellus vähentää myös yhtiön teknistä velkaa korvaten työläitä protokollia vanhoista vielä käytössä olevista kolmansien osapuolien työkaluista.
Unfortunately, due to the rigidness of database structures, uniformity between old and new data is not a given. Luckily for these developers, many data transfer tools are developed for the newest file formats before their widespread implementation. Nevertheless, the plurality of the formats is such that learning and using so many tools is no longer a simple task for a large data warehousing unit.
The thesis aimed to create an application for unifying data transfer protocols under a single interface. In this way developers could handle a plethora of different data transfer protocols without needing the knowledge of how to configure filetype specific tools. In other words, the application acts as an intermediary between the developer and different third-party data transfer protocols so that setting up configuration and optimising protocols can be carried out at the application development face rather than at the start of every new solution.
The necessity for this kind of application became apparent when the data warehousing team of the commissioning company needed to bring in new datatypes at a faster pace than it was efficient to build individual solutions for each source.
The end product of the thesis is an inhouse data transfer application that currently supports JSON, CSV, XLS, and XLSX file types and Azure Storage cloud service files. The first implemented target type is into an SQL database. The source code, which was written in C#, was designed so that adding new source and target types will be easy when the need arises. This makes the company data warehousing team much more flexible and adaptable to new needs as the data pool expands. Notably the ability to add new source types will enable smoother cooperation with partner organisations as offered data can be implemented into the data lake with less friction. The application also reduces the technical dept of the organisation, replacing work intensive protocols from still active old third-party tools.