REST API - Što je to? ODMOR: prijevod. Reprezentativni državni prijenos

REST API (reprezentativni državni prijenos) ili web-usluge RESTful - što je to? REST u engleskom prijevodu "reprezentativni transfer države". To je način osiguravanja interoperabilnosti između računalnih sustava na Internetu. Web-usluge koje su usklađene s REST-om i koje omogućuju sustavnim upitima pristup i upravljanje tekstualnim prikazima web-stranica na web-mjestu pomoću jednog standardnog skupa operacija. Postoje i drugi oblici web-servisa koji uključuju vlastitu proizvoljnu skupinu operacija, kao što su WSDL i SOAP.


REST API: Što je to? Definicija koncepta

Web resursi izvorno su definirani na World Wide Webu kao dokumenti ili datoteke koje su identificirane njihovim URL-ovima. Danas imaju mnogo općenitiju i apstraktniju definiciju koja pokriva svaki subjekt ili entitet koji se može identificirati, imenovati, adresirati ili obraditi na webu. REST API Web Services zahtjevi koji su otrovani URI resursom generiraju odgovor koji se može izvršiti u XML, HTML, JSON ili nekom drugom formatu. Odgovor može potvrditi da su napravljene neke promjene u pohranjenom resursu, kao i da pružaju hipertekstualne linkove na druge povezane resurse i njihove zbirke. Korištenje HTTP-a kao najčešćeg protokola odnosi se na vrste dostupnih operacija koje su uzrokovane naredbama PUT, DELETE, HTTP GET, POST. Korištenjem protokola bez obzira na stanje i standardne operacije, REST sustavi imaju za cilj brze performanse, pouzdanost i sposobnost rasta uz ponovno korištenje komponenti kojima se može upravljati ikoje se mogu ažurirati bez utjecaja na sustav kao cjelinu. Korištenje REST-a često je bolje od stila SOAP (Simple Object Access Protocol), jer REST ne koristi propusnost, što je čini prikladnijom za korištenje na Internetu. Za SOAP pristup, potrebno je snimiti ili koristiti poslužiteljski program (za održavanje podataka) i klijentski program (za upit podataka).


Povijest tehnologije

Pojam "prijenos reprezentativne države" uveo je i identificirao Roy Fielding 2000. godine u svojoj disertaciji "Arhitektonski stilovi i dizajn mrežnih arhitektura softvera". Razvio je arhitektonski stil REST paralelno s HTTP 111996-1999, na temelju postojećeg HTTP projekta 101996. U retrospektivnom pogledu na razvoj tehnologije, Fielding je rekao da je tijekom procesa standardizacije HTTP-a pozvan zaštititi izbor dizajna na Internetu. To je vrlo težak zadatak u okviru procesa prihvaćanja prijedloga od bilo koga na tu temu, koji brzo postaje središte cjelokupne industrije. Fielding je komentirao više od 500 programera, od kojih su mnogi izvrsni inženjeri s dugogodišnjim iskustvom. Morao je sve objasniti, počevši od naj apstraktnijih koncepata web interakcije i završavajući s točnim detaljima sintakse HTTP-a. Ovaj proces izoštrio je svoj model na osnovni skup načela, svojstava i ograničenja, koji se sada nazivaju REST.

Prednosti

Značajke REST stila utječu na sljedeća arhitektonska svojstva:
  • Produktivnost - Interakcijakomponente su dominantna značajka percepcije korisnika o performansama i performansama mreže.
  • Skalabilnost za podržavanje maksimalnog broja komponenti, testiranje REST API-ja i interakcija s njima.
  • Jednostavnost jedinstvenog sučelja i autorizacija REST API-ja.
  • Mogućnost modificiranja komponenti kako bi se zadovoljile promjenjive potrebe (čak i kada se program izvodi).
  • Vidljivost veze između sastavnih dijelova i servisnih agenata.
  • Sposobnost prijenosa komponenti pomicanjem programskog koda s podacima.
  • Pouzdanost - visoka tolerancija na pogreške u prisutnosti kvarova u sastavu, priključcima ili podacima.
  • Distribucija problema među korisnicima rezultat je činjenice da ovaj REST API omogućuje pojednostavljenje implementacije komponenti, smanjuje složenost semantike konektora, poboljšava učinkovitost prilagodbe produktivnosti i povećava skalabilnost čistih poslužiteljskih komponenti. Složena sistemska ograničenja omogućavaju posredničkim posrednicima, pristupnicima i vatrozidima da se razmjenjuju na različitim točkama komunikacije bez mijenjanja sučelja između komponenti, omogućujući im da prenose poruke REST-a ili povećavaju produktivnost putem općeg keširanja. Primjer REST API-ja je činjenica da kada interakcije ne ovise o statusu upita, standardne metode i tipovi medija koriste se za označavanje semantike i razmjene informacija, a odgovori jasno ukazuju na mogućnost spremanja.

    Formalna i arhitektonska ograničenja

    RESTful sustav karakterizira šest ograničenja. Ograničavajunačine na koje poslužitelj može obraditi i prihvatiti zahtjeve kupaca. Djelujući unutar tih granica, usluga prima poželjna nefunkcionalna svojstva kao što su izvedba, skalabilnost, jednostavnost, varijabilnost, vidljivost, mobilnost i pouzdanost. Ako usluga krši sva potrebna ograničenja, ona se ne može smatrati ODUZETOM.
    Prva ograničenja odnose se na arhitektonski stil "klijent-poslužitelj". Podjela problema korisničkog sučelja s problemima pohrane podataka poboljšava prenosivost korisničkog sučelja na više platformi. Također poboljšava skalabilnost pojednostavljenjem poslužiteljskih komponenti. Možda je najznačajnija za Mrežu to što podjela omogućuje da se komponente razvijaju neovisno, čime se održavaju zahtjevi ljestvice Interneta na skup organizacijskih domena.

    Sigurnost

    REST ne pruža ugrađenu sigurnosnu podršku. To je vrlo važno kod izrade web-usluga REST - sigurnosni zahtjevi i dizajn se obavljaju unaprijed. REST Web usluge koriste HTTP GET, POST, PUT i DELETE iz CRUD operacija. PUT i DELETE ne podržavaju mnogi preglednici i često se prekidaju na razini poslužitelja zbog mogućih kršenja privatnosti. Ako nije ispravno konfiguriran na razini poslužitelja i klijenta, bilo koji korisnik treće strane moći će kreirati resurs pomoću PUT metode ili uništiti korišteni resurs DELETE. Prilikom razvoja sigurnosnih zahtjeva za web-usluge, te točke treba uzeti u obzir.

    Arhitektonski elementi

    Ključni aspekt REST-a je karakter i stanjeelemente podataka. U REST stilu postoje četiri koncepta koji opisuju ponašanje i stanje informacija. Resurs je objekt (logički ili fizički) dostupan na internetu. To može biti dokument pohranjen u datotečnom sustavu poslužitelja ili redak u tablici baze podataka. Krajnji korisnik komunicira s resursom kako bi postigao određeni cilj. Da bi dizajnirao sustav koji koristi REST, programer mora razmišljati o poslovnim objektima kao resursima i kako ih se može riješiti.
    URI - Jedinstveno identificira resurs. Ovaj parametar čini adresu resursa i može se mijenjati. Resursi se mijenjaju pomoću programskog protokola - kao što je HTTP. Reprezentacija su podaci /metapodaci stanja resursa u to vrijeme. Klijent prima predstavljanje resursa kada traži URI. Tip resursa može se kodirati u jednom ili više prenesenih formata, kao što su XML, HTML, JSON, RSS, REST API za java. Ti se formati mogu dogovoriti s mehanizmom pregovaranja o sadržaju. Link - omogućuje aplikaciji izvršavanje prijelaza iz jednog stanja u drugo. Svaki resurs mora biti povezan s drugim resursima. Podnesak bi trebao sugerirati vezu na sljedeći potez. Dobro povezana aplikacija omogućuje korisniku samostalno otvaranje sučelja.

    Konektor

    Konektor konektora je apstraktno sučelje koje posreduje vezu između komponenti. Budući da se ne događaju interakcije REST, konektor ne smije pohranjivati ​​informacije o statusu. Prema tome, veza između komponenti može se odvijati paralelno.
    Klijent i poslužitelj su glavni REST konektori.Klijent inicira zahtjev, a poslužitelj ga obrađuje. Predmemorija je druga vrsta priključka. Caching se može implementirati na razini klijenta, poslužitelja ili intermedijera. Time se smanjuje vrijeme čekanja i korištenje mreže. Komponente
    Komponente izvode skup jasno definiranih metoda na izvoru, stvarajući ideju za snimanje trenutnog ili predviđenog stanja. User-Agent - koristi klijentski konektor za pokretanje zahtjeva. Izvorni poslužitelj koristi konektor poslužitelja za odgovor na zahtjev. Proxy je posrednik koji se koristi na strani klijenta za osiguravanje enkapsulacije sučelja s drugim uslugama. Također obavlja poslove prevođenja i zaštite podataka. Gateway je posrednik koji se koristi na poslužitelju za osiguravanje enkapsulacije sučelja s drugim uslugama.

    Perspektive razvoja

    Uvijek aktualno pitanje: REST API - Što je to za moderne internetske tehnologije? REST je temelj današnje web arhitekture, koja se razvija analizom nedostataka postojećih stilova i uvođenjem novih dodataka. REST API-ji - što je to? To je želja za korištenjem postojećih stilova s ​​koordiniranim skupom ograničenja kako bi se smanjila mrežna povezanost i maksimizirala neovisna evolucija komponenti kako bi se postigla skalabilnost. Ovo je nova arhitektura distribuiranog hipermedijskog sustava. S pojavom pametnih telefona, tableta, i tako na gadgetima će se implementirati mreža i njezina skalabilnost.

    Povezane publikacije