mikä on LEPORAJAPINTA?

posted in: Articles | 0

LEPO tai Rauhallista API suunnittelu (Rest State Transfer) on suunniteltu hyödyntämään olemassa olevia protokollia. Vaikka lepoa voidaan käyttää lähes minkä tahansa protokollan yli, se yleensä käyttää HTTP: tä, kun sitä käytetään Verkkoapisteisiin. Tämä tarkoittaa, että kehittäjien ei tarvitse asentaa kirjastoja tai lisäohjelmia hyödyntääkseen REST API-suunnittelua. REST API Designin määritteli tohtori Roy Fielding vuoden 2000 väitöskirjassaan. Se on merkittävä sen uskomaton kerros joustavuutta., Koska data ei ole sidottu menetelmiä ja resursseja, LOPUT on kyky käsitellä useita erityyppisiä puheluita, palauttaa tietoja eri muodoissa, ja jopa muuttaa rakenteellisesti oikea toteuttaminen hypermedian.

Tämä vapaus ja joustavuus luonnostaan REST API suunnittelu avulla voit rakentaa API, joka vastaa tarpeitasi, mutta myös tarpeisiin hyvin erilaisia asiakkaita. Toisin kuin SAIPPUAA, LOPUT ei ole pakko XML, mutta sen sijaan voi palata XML, JSON, YAML tai mihinkään muuhun muotoon riippuen siitä, mitä asiakas pyytää., Ja toisin kuin RPC, käyttäjien ei tarvitse tietää menettelyn nimiä tai erityisiä parametreja tietyssä järjestyksessä.

REST API-suunnittelussa on kuitenkin haittapuolia. Voit menettää kyvyn ylläpitää tilaa levossa, kuten istunnoissa, ja se voi olla vaikeampaa uudemmille kehittäjille käyttää. On myös tärkeää ymmärtää, mikä tekee LEPORAJAPINNASTA rauhallisen, ja miksi nämä rajoitteet ovat olemassa ennen API: n rakentamista. Loppujen lopuksi, jos et ymmärrä miksi jotain on suunniteltu tavalla se on, et voi estää ponnistelut edes tajuamatta sitä.,

Ymmärrystä REST API Suunnittelu

Vaikka useimmat APIs väittää olla Rauhallista, ne eivät täytä vaatimuksia ja rajoitteita, vakuutti Tohtori Fielding. On olemassa kuusi keskeistä rajoitteet REST API suunnittelu olla tietoinen kun päättäessään, onko tämä oikea API tyyppi projektin.

Asiakas-Palvelin

asiakas-palvelin-rajoite toimii ajatus, että asiakkaan ja palvelimen pitäisi olla erillään toisistaan ja saa kehittyä yksilöllisesti ja itsenäisesti., Toisin sanoen minun pitäisi pystyä tekemään muutoksia my mobile-sovelluksen ilman, että se vaikuttaa joko tietorakenne tai tietokannan suunnittelu palvelimelle. Samalla minun pitäisi pystyä muokkaamaan tietokantaa tai tekemään muutoksia palvelinsovellukseeni vaikuttamatta mobiiliohjelmaan. Tämä luo erottaminen huolenaiheita, kerroit jokainen hakemus kasvaa ja mittakaava toisistaan riippumatta ja mahdollistaa organisaatiosi kasvaa nopeasti ja tehokkaasti.,

Kansalaisuudettomien

REST APIs ovat kansalaisuudettomia, mikä tarkoittaa, että puhelut voidaan tehdä toisistaan riippumatta, ja jokainen puhelu sisältää kaikki tarvittavat tiedot suorittaa menestyksekkäästi. REST API ei pitäisi luottaa tietoja, jotka on tallennettu palvelimelle tai istuntoja päättää, mitä soittaa, vaan luottaa ainoastaan tietoja, jotka on säädetty, että soittaa itse. Tunnistetietoja ei tallenneta palvelimelle puheluita soitettaessa. Sen sijaan jokaisessa puhelussa on itsessään tarvittavat tiedot, kuten API-avain, access token, user ID jne., Tämä auttaa myös lisätä API: n luotettavuudesta, joilla on kaikki tarvittavat tiedot tehdä puhelun, sen sijaan vedota useita puheluita server valtion luoda objekti, joka voi johtaa osittain epäonnistuu. Sen sijaan muistivaatimusten vähentämiseksi ja sovelluksen pitämiseksi mahdollisimman skaalautuvana RESTful API edellyttää, että mikä tahansa tila tallennetaan asiakkaalle—ei palvelimelle.

Välimuisti

Koska kansalaisuudeton API voidaan lisätä pyynnöstä yläpuolella käsittelemään suuria kuormia saapuvan ja lähtevän puhelut, LEPOA API pitäisi olla suunniteltu kannustamaan varastointi välimuistiin tietoja., Tämä tarkoittaa, että kun tiedot on välimuistiin, vastaus olisi ilmoitettava, että tiedot voidaan tallentaa jopa tietyn ajan (päättyy-at), tai tapauksissa, joissa tietojen on oltava reaaliaikaisia, että vastaus pitäisi olla välimuistissa asiakas. Ottamalla käyttöön tämän kriittinen rajoite, ei ainoastaan merkittävästi vähentää vuorovaikutusta API, vähentää sisäisen palvelimen käyttöä, mutta myös tarjota API-käyttäjät, joilla on tarvittavat välineet tarjota nopein ja tehokkain sovelluksia mahdollista. Muista, että välimuistia tehdään asiakkaan puolella., Vaikka saatat pystyä välimuistiin joitakin tietoja onglemista arkkitehtuuri suorittaa yleistä suorituskykyä, tarkoitus on ohjeistaa asiakasta siitä, miten sen pitäisi edetä ja onko tai ei asiakas voi tallentaa tiedot väliaikaisesti.

Yhtenäinen Käyttöliittymä

avain irrottamista asiakasta palvelin on ottaa yhtenäinen käyttöliittymä, jonka avulla riippumaton kehitys sovellus, ilman sovellus palvelut, mallit, tai toimia tiiviisti yhdessä API-kerros itse., Yhtenäinen käyttöliittymä antaa asiakkaan puhua palvelimen yhdellä kielellä, itsenäinen arkkitehtoninen backend joko. Tämä käyttöliittymän pitäisi tarjota muuttumaton, standardoitu viestintä asiakkaan ja palvelimen, kuten käyttämällä HTTP URI-resursseja, LIKA (Luoda, Lukea, Päivittää, Poistaa), ja JSON.

Kerroksellinen Järjestelmä

Kuten nimi kertoo, kerroksellinen järjestelmä on järjestelmä, joka koostuu kerroksittain, jokaisen kerroksen, jolla on tietty toiminnallisuus ja vastuu., Jos ajattelemme Malli-Näkymä-Ohjain puitteet, jokainen kerros on oma vastuunsa, mallien kanssa käsittää, miten tiedot tulisi muodostaa, säädin keskittyen saapuvat toimia ja tarkastella keskittyen lähtö. Jokainen kerros on erillinen, mutta myös vuorovaikutuksessa muiden kanssa. REST API suunnittelu, sama periaate pätee, jossa on eri kerroksia arkkitehtuuri yhdessä rakentaa hierarkia, joka auttaa luomaan enemmän skaalautuva ja modulaarinen sovellus.,

kerroksellisen järjestelmän avulla voit myös kapseloida vanhoja järjestelmiä ja siirtää harvemmin käytettäviä toimintoja jaettuun välittäjään suojaten samalla uudenaikaisempia ja yleisesti käytettyjä komponentteja niiltä. Lisäksi layered järjestelmä antaa sinulle vapauden liikkua järjestelmät ja arkkitehtuuri, kuten teknologiat ja palvelut kehittyvät, lisätä joustavuutta ja pitkäikäisyys niin kauan kuin pidät eri moduulit yhtä löyhästi kuin mahdollista., On huomattava turvallisuuden edut ottaa kerroksellinen järjestelmä, sillä sen avulla voit lopettaa iskut proxy kerros, tai sisällä muita kerroksia, estää niitä saada todellinen palvelin-arkkitehtuuri. Hyödyntämällä kerroksellinen järjestelmä proxy, tai luoda yhden pisteen-yhteys, voit pitää kriittisessä ja haavoittuvassa asemassa olevat näkökohdat arkkitehtuurin palomuurin takana, estää suora vuorovaikutus heille asiakas., Pidä mielessä, että turvallisuus ei perustu yhden ”stop all” – ratkaisua, vaan ottaa useita kerroksia, ja ymmärtää, että tietyt turvatarkastuksia voi epäonnistua tai olla ohitettu. Sellaisena, mitä enemmän turvallisuutta voit toteuttaa järjestelmään, sitä todennäköisemmin olet estää vahingoittavia hyökkäyksiä.

Koodi pyydettäessä

Ehkä vähiten tunnettu kuusi rajoituksia, ja ainoa valinnainen rajoite, Koodi on Demand mahdollistaa koodin tai sovelmia toimitetaan kautta API käyttää sovelluksen sisällä., Pohjimmiltaan, se luo älykäs sovellus, joka ei ole enää pelkästään riippuvainen omasta koodin rakenne. Kuitenkin, ehkä koska se on edellä aikaansa, Code On Demand on kamppaillut hyväksymisen Web APIs kulutetaan useilla kielillä ja koodin siirto herättää turvallisuuskysymyksiä ja huolenaiheita. (Esimerkiksi, hakemistoon olisi kirjoitettava, ja palomuuri pitäisi antaa, mitä voi normaalisti olla rajoitettu sisällön kautta.)

Yhdessä nämä rajoitukset muodostavat teorian Esittäviä State Transfer, tai LEVÄTÄ., Kun katsomme taaksepäin läpi nämä voit nähdä, miten peräkkäiset rajoitus perustuu edellisten lopulta luoda melko monimutkainen, mutta tehokas ja joustava—application program interface. Mutta mikä tärkeintä, nämä rajoitteet muodostavat mallin, joka toimii samalla tavalla kuin miten käytämme sivuja selaimissamme World Wide Webissä. Se luo API -, joka ei ole sanelee sen arkkitehtuuri, mutta väitä, että se palaa, ja API—kun arkkitehtonisesti kansalaisuudettomien—perustuu edustus sanella sovellus on valtio.,

lisätietoja REST API Suunnittelu, tutustu eBook Rauhassa LEVÄTÄ: Opas Suunnittelu Täydellinen API.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *