Siellä on paljon puhetta Teline, mutta ellet itse ole kehyskirjailija, näet sen harvoin. Joten mikä on Rack? Ja miksi sovelluskehittäjänä sinun pitäisi välittää siitä?
Telineen perusteet
Rack on eräänlainen väliohjelmisto. Se sijaitsee verkkosovelluksesi ja web-palvelimen välissä. Se käsittelee kaikki palvelinkohtaiset API-puhelut, välittää HTTP-pyynnön ja kaikki ympäristöparametrit hajautuksessa, ja antaa sovelluksesi vastauksen takaisin palvelimelle. Toisin sanoen sovelluksesi ei tarvitse tietää kuinka puhua HTTP-palvelimelle, sen on tiedettävä kuinka puhua Rackille.
Telineen edut
Tällä on useita etuja. Ensinnäkin, puhuminen Rackin kanssa on helppoa (kuten näet alla). Toiseksi, koska sinun tarvitsee vain osata puhua Rackille ja Rack osaa puhua monien erilaisten HTTP-palvelimien kanssa, sovelluksesi toimii missä tahansa näistä HTTP-palvelimista. Räkki on kuin universaali verkkosovittimien sovitin.
Rack-sovellukset eivät ole mitään erityistä. Itse asiassa Rack API on niin kuollut yksinkertainen, että se voidaan kuvata yhdellä lauseella:
Rack-sovellus on mikä tahansa Ruby-objekti, joka vastaa puhelu menetelmä, ottaa yhden hash-parametrin ja palauttaa taulukon, joka sisältää vastauksen tilakoodin, HTTP-vastausotsikot ja vastauskappaleen merkkijonoina.
Se on melko paljon. Se kuulostaa liian yksinkertaiselta ollakseen totta tai ainakin liian yksinkertainen ollakseen hyödyllinen, mutta kun se todella tulee siihen, se on kaikki, mitä todella teet puhutessasi HTTP-palvelimien kanssa.
Miksi teline on tärkeä?
Mutta todelliseen kysymykseen: Miksi sinun tulisi sovellusohjelmoijana välittää Rackista? Ensinnäkin, aina on valaistusta ymmärtää, kuinka kehys toimii. Mutta mikä tärkeintä, on hyödyllisiä asioita, joita voit tehdä Rackilla. Tärkeintä: väliohjelmisto.
Nyt tämä kuulostaa hiukan outolta. Mutta ylimääräinen kerros sovelluksesi ja Rackin välillä voi olla hyvä asia, ja ottaa käyttöön ominaisuuksia, jotka vain sotkevat sovellustasi. Tämän väliohjelman tehtävänä on vain ottaa vastaan pyyntö Rackilta, välittää se sovelluksellesi, saada se vastaus, lisää jotain siihen tai suodata se tai jotain näistä linjoista ja välitä sitten vastaus takaisin Teline. Tätä voidaan käyttää toteuttamaan erittäin mielenkiintoisia pieniä ominaisuuksia, kuten palvelin-diagnoosilogija tai pyyntö terveellisyystarkistin tai pieni väliohjelmisto, joka lähettää järjestelmänvalvojalle sähköpostia aina, kun sovelluksesi palautetaan 404. Mikään näistä ominaisuuksista ei tarvitse sotkea sovellusta, ne voidaan toteuttaa väliohjelmistona Rackilla.