Mikä on REST API:n määritelmä?

Mikä on REST API:n määritelmä?

Vastaus
27.09.201813:14
356
12

Yksiselitteistä määritelmää REST API:lle ei voi antaa, sillä kyseessä ei ole standardi tai protokolla vaan ohjelmistoarkkitehtuurissa noudatettava ”tyylisuunta”, yleinen arkkitehtuurimalli rajapintojen toteuttamiseen. Tätä puolta on myös korostettu johtamalla käsitteestä adjektiivii: puhutaan “RESTful” API:sta. REST API on lyhenne sanoista REpresentational State Transfer Application Programming Interface.

REST API -arkkitehtuuri pyrkii toteuttamaan tiettyjä ihanteita ja noudattamaan tiettyjä rajoitteita.

REST:in periaatteet on alun perin kuvannut Roy Fielding väitöskirjassaan vuonna 2000. Voi ajatella, että REST API:n määritelmä koostuu Fieldingin luettelemista kuudesta rajoitteesta, joita REST-rajapinnan on noudatettava.

Nämä rajoitteet ovat seuraavat:

1. Asiakaspalvelin -erottelu: sovelluksen toiminnallisuus jaetaan kahteen alueeseen, joista toinen on asiakkaan ja toinen palvelimen vastuulla

2.Tilattomuus: asiakaspalvelin -session tilaa ei tallenneta palvelimelle, vaan jokainen asiakkaan tekemä pyyntö on itsenäinen kokonaisuus, joka sisältää kaiken tiedon, jonka palvelin tarvitsee pyynnön käsittelyssä

3. Välimuisti: palvelimen vastauksessa asiakkaan pyyntöön on oltava mukana tieto siitä, voidaanko vastauksen sisältämä data tallentaa välimuistiin (ts. osa pyynnöistä voidaan jättää kokonaan tai osittain tekemättä)

4. Yhdenmukainen rajapinta järjestelmän komponenttien välillä: komponenttien välillä kulkeva data kulkee aina samassa muodossa

5. Kerroksittainen järjestelmä: kerrokset järjestetään hierarkkisesti niin, että kukin kerros voi kommunikoida vain välittömästi ylä- ja alapuolellaan olevien kerrosten kanssa

6. Ladattava koodi: palvelimella on mahdollisuus laajentaa asiakassovelluksen toiminnallisuutta lähettämällä vastauksen mukana koodia, joka ajetaan asiakaspäässä

Keskeisin rajoite, joka erottaa REST:n muista (kuten SOAP-protokollaan liittyvistä) arkkitehtuurityyleistä, on yhdenmukainen rajapinta (6).

HTTP-protokolla noudattaa REST-arkkitehtuurityyliä eli toteuttaa REST:n asettamat rajoitteet. REST on yhtäältä toiminut ohjenuorana HTTP- ja URI-protokollien kehityksessä, toisaalta REST:iä itseään on kehitetty näiden protokollien kehityksessä ilmenneiden tarpeiden pohjalta. Vaikka REST kehitettiin alun perin nimenomaan WWW:tä varten, sitä voi hyödyntää myös siitä riippumattomien sovellusten kehityksessä. Fieldingin määritelmän mukaan REST on sovellusarkkitehtuurityyli hajautetuille hypermediajärjestelmille.

Kommentit (0)

Vastauksesi