GraphGL- ja REST-rajapintojen vertailu
Laajala, Riku (2019)
Laajala, Riku
2019
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-2019053013401
https://urn.fi/URN:NBN:fi:amk-2019053013401
Tiivistelmä
Opinnäytetyön tavoitteena oli kartoittaa millaisissa käytännön tilanteissa GraphQL- sekä REST-rajapintojen hyödyt ja haitat tulevat ilmi sekä pohtia, milloin ja minkälaisissa projekteissa GraphQL-teknologiaa kannattaa hyödyntää.
Rajapinnat ovat tärkeä osa nykypäivän web-sovelluksia. Ne mahdollistavan eri sovellusten välisen kommunikoinnin sekä tiedon hakemisen useasta eri lähteestä. Rajapintoja käyttävälle osapuolelle on tärkeää, että ne ovat helppokäyttöisiä, luotettavia, nopeita sekä hyvin dokumentoituja. Rajapintojen kehittäjille on tärkeää, että rajapintaa pystytään muokkaamaan vaivattomasti sekä turvallisesti muuttuvien sovellusvaatimusten seurauksena.
REST-arkkitehtuurimallin mukaisesti toteutetut rajapinnat ovat nykypäivän web- sovelluksissa yleisin toteutustapa. REST-arkkitehtuurimallin haastajaksi on noussut Facebookin kehittämä, vuonna 2012 alkunsa saanut GraphQL-teknologia. GraphQL tarjoaa uudenlaisen tavan hakea tietoa rajapinnoista ja pyrkii tekemään niiden käyttämisestä sekä jatkokehittämisestä helpompaa verrattuna REST-rajapintoihin.
Opinnäytetyön tuloksina oli REST-arkkitehtuurimallin sekä GraphQL-teknologian esittely sekä näiden ominaisuuksien vertailu. Ominaisuuksien vertailun pohjalta kävi ilmi, että GraphQL- sekä REST-rajapinnoilla on omat vahvuutensa. Tämän takia oikean teknologian valinta projekteissa ei ole helppoa. Valinta on järkevintä tehdä käyttötilanteen, aiemman osaamisen sekä vaatimusten mukaan. GraphQL kuitenkin tarjoaa rajapinnan käyttäjälle intuitiivisemman tavan hakea tietoa. Se on hyödyllinen projekteissa, joissa rajapinnan halutaan mukautuvan useiden käyttäjien erilaisiin vaatimuksiin.
Rajapinnat ovat tärkeä osa nykypäivän web-sovelluksia. Ne mahdollistavan eri sovellusten välisen kommunikoinnin sekä tiedon hakemisen useasta eri lähteestä. Rajapintoja käyttävälle osapuolelle on tärkeää, että ne ovat helppokäyttöisiä, luotettavia, nopeita sekä hyvin dokumentoituja. Rajapintojen kehittäjille on tärkeää, että rajapintaa pystytään muokkaamaan vaivattomasti sekä turvallisesti muuttuvien sovellusvaatimusten seurauksena.
REST-arkkitehtuurimallin mukaisesti toteutetut rajapinnat ovat nykypäivän web- sovelluksissa yleisin toteutustapa. REST-arkkitehtuurimallin haastajaksi on noussut Facebookin kehittämä, vuonna 2012 alkunsa saanut GraphQL-teknologia. GraphQL tarjoaa uudenlaisen tavan hakea tietoa rajapinnoista ja pyrkii tekemään niiden käyttämisestä sekä jatkokehittämisestä helpompaa verrattuna REST-rajapintoihin.
Opinnäytetyön tuloksina oli REST-arkkitehtuurimallin sekä GraphQL-teknologian esittely sekä näiden ominaisuuksien vertailu. Ominaisuuksien vertailun pohjalta kävi ilmi, että GraphQL- sekä REST-rajapinnoilla on omat vahvuutensa. Tämän takia oikean teknologian valinta projekteissa ei ole helppoa. Valinta on järkevintä tehdä käyttötilanteen, aiemman osaamisen sekä vaatimusten mukaan. GraphQL kuitenkin tarjoaa rajapinnan käyttäjälle intuitiivisemman tavan hakea tietoa. Se on hyödyllinen projekteissa, joissa rajapinnan halutaan mukautuvan useiden käyttäjien erilaisiin vaatimuksiin.