World wide web -sovelluspalvelun toteuttaminen Representational state transfer -arkkitehtuurityylin mukaisesti
Katainen, Kim (2020)
Katainen, Kim
2020
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-11-04
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202010307727
https://urn.fi/URN:NBN:fi:tuni-202010307727
Tiivistelmä
World wide web (www) -sovelluspalvelut ovat tietokoneohjelmien käyttämiä palveluja, jotka ovat isossa roolissa nykyaikaisessa sovelluskehityksessä. Tässä tutkielmassa tarkastellaan niiden toteuttamista Representational State Transfer (REST) -arkkitehtuurityylillä. Tavoitteena on selvittää ja arvioida REST-tyylin suosion taustalla olevia heikkouksia ja vahvuuksia erilaisissa www-sovelluspalveluiden käyttötapauksissa.
Työ aloitetaan määrittelemällä www-sovelluspalvelut ja REST-tyyli kirjallisuuden pohjalta. Molemmissa tapauksissa käy ilmi, että käsitteistä löytyy ristiriitaisia tulkintoja eri lähteisiin nojaten. Eritoten ei-akateemisista lähteistä saattaa löytyä jopa vääriä tulkintoja REST-tyylistä. Haasteita arviointivaiheeseen tuottaa myös se, että REST-tyylille ei löydy suoranaista vastinetta, johon vertailla.
Kehittäjän näkökulma tuodaan työssä esille toteuttamalla yksinkertainen esimerkkisovellus, joka toimii pohjana empiiriselle arvioinnille. Sovelluksessa hyödynnetään moderneja kehitystapoja ja teknologioita ja se on omiaan havainnollistamaan REST-tyylin soveltamista käytännössä. Sovelluksen yksityiskohtia kuvaava osio antaa nopeasti kattavan kuvan aiheesta.
Arviointivaihe tutkii REST-tyylin www-sovelluspalveluita hyödyntäen vapaamuotoisia sanallisia mittareita, sillä konkreettisia mittareita on abstraktin tason arkkitehtuurityylistä vaikea muodostaa. RESTiä verrataan ominaisuuskohtaisesti erilaisiin toteutustapoihin, kuten etäproseduurikutsuun (engl. Remote Procedure Call, RPC) ja SOAP-protokollaan, silloin kun se on mielekästä. Tulokseksi saadaan, että REST on pätevä tyyli lähes kaikkiin käyttötarkoituksiin. Se on erityisen hyvä palvelimen skaalautuvuuden kannalta tilattoman mallin ja löyhien kytkösten vuoksi. REST-tyylin ohjelmia on helppo jatkokehittää ja testata. Tehokkuuden kannalta REST ei kuitenkaan ole se paras vaihtoehto oikeastaan koskaan. Lisäksi palvelinsovelluksen painolasti siirtyy asiakassovelluksille, jotka hoitavat suuren osan laskennasta.
Työ aloitetaan määrittelemällä www-sovelluspalvelut ja REST-tyyli kirjallisuuden pohjalta. Molemmissa tapauksissa käy ilmi, että käsitteistä löytyy ristiriitaisia tulkintoja eri lähteisiin nojaten. Eritoten ei-akateemisista lähteistä saattaa löytyä jopa vääriä tulkintoja REST-tyylistä. Haasteita arviointivaiheeseen tuottaa myös se, että REST-tyylille ei löydy suoranaista vastinetta, johon vertailla.
Kehittäjän näkökulma tuodaan työssä esille toteuttamalla yksinkertainen esimerkkisovellus, joka toimii pohjana empiiriselle arvioinnille. Sovelluksessa hyödynnetään moderneja kehitystapoja ja teknologioita ja se on omiaan havainnollistamaan REST-tyylin soveltamista käytännössä. Sovelluksen yksityiskohtia kuvaava osio antaa nopeasti kattavan kuvan aiheesta.
Arviointivaihe tutkii REST-tyylin www-sovelluspalveluita hyödyntäen vapaamuotoisia sanallisia mittareita, sillä konkreettisia mittareita on abstraktin tason arkkitehtuurityylistä vaikea muodostaa. RESTiä verrataan ominaisuuskohtaisesti erilaisiin toteutustapoihin, kuten etäproseduurikutsuun (engl. Remote Procedure Call, RPC) ja SOAP-protokollaan, silloin kun se on mielekästä. Tulokseksi saadaan, että REST on pätevä tyyli lähes kaikkiin käyttötarkoituksiin. Se on erityisen hyvä palvelimen skaalautuvuuden kannalta tilattoman mallin ja löyhien kytkösten vuoksi. REST-tyylin ohjelmia on helppo jatkokehittää ja testata. Tehokkuuden kannalta REST ei kuitenkaan ole se paras vaihtoehto oikeastaan koskaan. Lisäksi palvelinsovelluksen painolasti siirtyy asiakassovelluksille, jotka hoitavat suuren osan laskennasta.
Kokoelmat
- Kandidaatintutkielmat [8935]