SPA-sovellukset hajautettuna järjestelmänä
Title: | SPA-sovellukset hajautettuna järjestelmänä |
Author(s): | Eloranta, Juha-Pekka |
Contributor: | University of Helsinki, Faculty of Science, none |
Discipline: | none |
Degree program: | Master's Programme in Computer Science |
Specialisation: | Software systems |
Language: | Finnish |
Acceptance year: | 2020 |
Abstract: |
Single-page application -mallista (SPA) on tullut suosittu tapa tehdä web-sovelluksia. Sen ansiosta web-sivujen käyttökokemuksesta saadaan enemmän työpöytäsovellusten kaltainen, kun jokaista sivuvaihtoa ja operaatiota varten ei tarvitse ladata palvelimelta uutta HTML-sivua.
SPA-malli tuo kuitenkin tavallisiin web-sovelluksiin mukaan hajautetun datan käsittelyn ongelmia. Eheyden hallinta hajautetuissa järjestelmissä on ikuisuusaihe tietojenkäsittelytieteen tutkimuksessa. SPA-sovelluksissa tähän ei kuitenkaan kiinnitetä juuri huomioita. Tässä tutkielmassa vertaillaan SPA-sovelluksia hajauttuihin tietokantoihin ja pyritään löytämään niistä tekniikoita, joita voisi soveltaa myös SPA-sovelluksiin.
Vertailu aloitetaan esittelemällä erilaisia hajautettuja tietokantoja ja arvioidaan mitkä niistä vastaavat eniten SPA-mallin tilannetta. Tämän jälkeen vertailu keskittyy kahteen osa-alueeseen. Ensin esitellään hajautettujen tietokantojen käyttämiä tapoja replikoida dataa pisteestä toiseen ja vertaillaan niihin web-sovelluksien tapoja siirtää dataa selaimen ja palvelimen välillä. Lisäksi tutkitaan kuinka eheyteen liittyvät mallit, kuten ACID-ominaisuudet sekä eristyvyystasot ja -anomaliat toteutuvat tai ilmenevät SPA-sovelluksissa.
Vertailun tuloksena havaittiin, että hajautettujen tietokantojen ja web-sovellusten käyttämät tiedonsiirtomenetelmät ovat jokseenkin erilaisia. Hajautetuissa tietokannoissa suositaan push-mallia päivitysten levittämisessä ja replikointi on sovelluskehittäjän näkökulmasta automaattista. Web-sovellukset käyttävät usein pull-mallia ja replikoinnin toteuttaminen on sovelluskehittäjän vastuulla. Eheyden hallintaan liittyen nousi esille joukko anomalioita, jotka ovat mahdollisia SPA-sovelluksissa ja vaativat huolellisuutta ohjelmoijalta. Löydösten perusteella on kuitenkin hyvät edellytykset lähteä kehittämään uusia kirjastoja, joilla havaittuja SPA-sovellusten ongelmia voitaisiin ratkaista.
Single-page application (SPA) model has become a popular way of building web-applications. It makes the user experience of a website more similar to desktop-applications. This is achieved by not having to make a request to backend for each page navigation and operation.
However the SPA model brings some challenges of distributed data management to basic web-applications. Managing distributed consistency is a perennial research topic in computer science. Yet this has received little attention in single-page application context. This thesis compares single-page applications to distributed databases and aims to identify techniques from them that could be used in single-page applications.
The comparison begins by looking at different distributed databases and analysing which of them matches closest to the single-page application model. Then the comparison focuses on two topics. Techniques used by distributed databases for replicating data from site to another are presented and compared to techniques used in web application in communication between the server and the browser. Next topic of the thesis is to study how consistency related models like ACID-properties along with isolation levels and anomalies are realized or manifested in single-page applications.
As a result of the comparison it was observed that the data transfer methods used in distributed databases and web-applications were somewhat different from each other. Distributed systems favor push model for replication and replication is automatic from application developers perspective. Web applications ofter use pull-model and implementing replication is application developers responsibility. A set of consistency anomalies that can be manifested in single-page applications where found while analysing the consistency topic. The findings give a good starting point for developing libraries that could solve some of the problems that were found.
|
Keyword(s): | SPA-sovellukset hajautetut järjestelmät |
Files in this item
Files | Size | Format | View |
---|---|---|---|
Eloranta_Juha-Pekka_MSc_thesis_2020.pdf | 1.308Mb |
This item appears in the following Collection(s)
-
Faculty of Science [3600]