REST

From Wikipedia, the free encyclopedia

REST (engl. Representational state transfer) on Roy Fieldingin vuonna 2000 väitöskirjassaan nimeltä Architectural Styles and the Design of Network-based Software esittelemä arkkitehtuurityyli ohjelmointirajapintojen toteuttamiseen[1]. RESTful-arkkitehtuuri ei ota kantaa käytettävään protokollaan[2]. Yleensä RESTful-arkkitehtuuriin perustuvia ohjelmointirajapintoja toteutetaan joko HTTP tai HTTPS-protokollien avulla.

REST-ohjelmointirajapintojen avulla voidaan lähettää HTTP- tai HTTPS-pyyntöjä palvelimille, jotka palauttavat esimerkiksi JSON- tai XML-muotoisia vastauksia. Tällä tavoin dataa voidaan siirtää helposti palvelimelta toiselle.[3]

RESTful-arkkitehtuurityyli

Taulukko 1. RESTful-arkkitehtuurityylin rajoitteista ja pakollista perusperiaatteista.

Lisätietoja Englannin kielellä, Suomen kielellä ...
Englannin kielellä Suomen kielellä Kuvaus
1. Client-server Asiakas-palvelin -malli Arkkitehtuurissa on kaksi selkeää roolia: asiakas ja palvelin.Näiden tehtävät on eroteltu selkeästi.
2. Stateless Tilattomuus Palvelin ei tallenna mitään tilatietoja, vaan kaikki niihin liittyvä tieto on aina mukana jokaisessa asiakkaan tekemässä kyselyssä.
3. Cache Välimuistin hyödyntäminen Kyselyihin merkitään, voiko kyselyn tallentaa asiakkaan tai palvelimen välimuistiin.

Välimuistin hyödyntäminen lisää suorituskykyä.

4. Uniform interface Yhdenmukainen

ohjelmointirajapinta

4a. Jokaisella resurssilla on oma URL-osoite

4b. Resursseja käsitellään niiden ilmentymien kautta (esimerkiksi JSON ja XML)

4c. Kysely sisältää kaiken tarvittavan tiedon sen käsittelemiseen.

4d. Vastaus sisältää hyperlinkkejä muihin resurssiin liittyviin tietoihin tai palveluihin (Hypermedia as the Engine of Application State, HATEOS)

5. Layered system Kerrostettu järjestelmä Järjestelmä voi rakentua kerroksittain ja välityspalvelimia voi käyttää.
Sulje

Tärkeää on ymmärtää, että RESTful-periaatteita sovelletaan. Käytännössä juuri mikään ohjelmointirajapinta ei täytä vaatimusta 4d (HATEOS). Silloin ohjelmointirajapintaa kutsutaan RESTin kaltaiseksi ohjelmointirajapinnaksi.

Tavoitteet

REST-arkkitehtuurin on tarkoitus parantaa rajapintojen

  • suorituskykyä
  • skaalautuvuutta
  • yksinkertaisuutta
  • muunneltavuutta
  • siirrettävyyttä
  • luotettavuutta.

Lähteet

Aiheesta muualla

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.