Skaalautuva verkkosovelluskehitys
Iivonen, Markus (2014)
Iivonen, Markus
Metropolia Ammattikorkeakoulu
2014
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2014120919016
https://urn.fi/URN:NBN:fi:amk-2014120919016
Tiivistelmä
Tämän opinnäytetyön tavoitteina on TwitterSensor-palvelun kehittäminen vasteaikojen lyhentämiseksi ja suurten datamäärien hyödyntämiseksi. Lisäksi tavoitteena on teknologioiden arviointi ja mittaus suorituskyvyn parantamisen näkökulmasta. Työssä tutustuttiin asiakasohjelman ja palvelinpuolen teknologioihin, jotka mahdollistavat skaalautuvien sovellusten kehityksen. Työssä haluttiin tutkia mahdollisuutta vähentää palvelinpuolelle kohdistuvan kuormaa siirtämällä osa sovelluslogiikasta asiakasohjelman suoritettavaksi.
Työssä tutustuttiin vaihtoehtoisiin tietokantaratkaisuihin, jotka mahdollistavat erilaisen tietokantarakenteen käytön mahdollistaen suuremman ja monimuotoisemman datan käytön. Lisäksi työssä tutustuttiin Hadoop-sovelluskehykseen, joka on tarkoitettu Big Data -ratkaisujen monipuoliseen toteutukseen.
Perinteisissä verkkosovelluksissa asiakasohjelman käyttökokemusta saattaa häiritä latausajat jotka johtuvat palvelinpuolen suuresta kuormituksesta. Lisäksi perinteisessä verkkosovelluksessa jokainen käyttäjän aiheuttama toiminto aiheuttaa sivun uudelleen latauksen. Kaksi edellä mainittua asiaa yhdessä aiheuttavat viivettä asiakasohjelman toiminnassa ja asiakasohjelman käyttökokemus kärsii. Single-Page-Application (SPA) -sovelluskehitysmalli pyrkii vähentämään palvelimelle aiheutuvien kutsujen määrää ja turhia sivulatauksia.
Tutkittujen ja testattujen teknologioiden pohjalta lähdettiin toteuttamaan TwitterSensor-palvelusta uutta versiota, jossa hyödynnettiin toimivaksi todettuja teknologioita. TwitterSensor toteutettiin Single-Page-Applicationina, jossa käytettiin niin sanottua MEAN-pinoa jolloin sovellus toteutettiin JavaScript-ohjelmointikielellä. Asiakasohjelma toteutettiin AngularJS-sovelluskehyksellä ja palvelinpuolen toteutukseen käytettiin Node.js-sovelluskehystä. Tietokantatoteutukseen käytettiin MySQL-relaatiotietokantaa sekä MongoDB-NoSQL-tietokantaa.
Työssä tutustuttiin vaihtoehtoisiin tietokantaratkaisuihin, jotka mahdollistavat erilaisen tietokantarakenteen käytön mahdollistaen suuremman ja monimuotoisemman datan käytön. Lisäksi työssä tutustuttiin Hadoop-sovelluskehykseen, joka on tarkoitettu Big Data -ratkaisujen monipuoliseen toteutukseen.
Perinteisissä verkkosovelluksissa asiakasohjelman käyttökokemusta saattaa häiritä latausajat jotka johtuvat palvelinpuolen suuresta kuormituksesta. Lisäksi perinteisessä verkkosovelluksessa jokainen käyttäjän aiheuttama toiminto aiheuttaa sivun uudelleen latauksen. Kaksi edellä mainittua asiaa yhdessä aiheuttavat viivettä asiakasohjelman toiminnassa ja asiakasohjelman käyttökokemus kärsii. Single-Page-Application (SPA) -sovelluskehitysmalli pyrkii vähentämään palvelimelle aiheutuvien kutsujen määrää ja turhia sivulatauksia.
Tutkittujen ja testattujen teknologioiden pohjalta lähdettiin toteuttamaan TwitterSensor-palvelusta uutta versiota, jossa hyödynnettiin toimivaksi todettuja teknologioita. TwitterSensor toteutettiin Single-Page-Applicationina, jossa käytettiin niin sanottua MEAN-pinoa jolloin sovellus toteutettiin JavaScript-ohjelmointikielellä. Asiakasohjelma toteutettiin AngularJS-sovelluskehyksellä ja palvelinpuolen toteutukseen käytettiin Node.js-sovelluskehystä. Tietokantatoteutukseen käytettiin MySQL-relaatiotietokantaa sekä MongoDB-NoSQL-tietokantaa.