REST: UNIXtankar för webben
- lör 9 feb, 2008 kl 14:01
- 5 kommentarer
- Operativsystem, Web 2.0, Web Services
Jag läser en bok som handlar om REST och under tiden jag läser så kommer jag på att jag känner igen de här tankarna från något annat, nämligen UNIX.
Tanken med rest är att all data är resurser som har en unik adress samt ett antal primitiva metoder för att manipulera resursen. REST använder sig av HTTP protokollet för att sköta allt detta. UNIX är byggt på filosofin att allt är en fil och filer kan man manipulera med en uppsättning av primitiva metoder. Här är exempel på hur en resurs adresseras i båda miljöerna:
I UNIX: /dev/sda1
REST: http://www.myhost.com/users/1
Själva konceptet är väldigt lyckat och kraftfullt eftersom det blir lättare att skriva program och klienter för att läsa dessa resurser. Man kan till exempel läsa från en resurs och skriva vidare all data till en annan resurs med väldigt enkla medel. REST har ju även letat sig in i nästa generations webbservices på grund av att det är enklare men även väldigt kraftfullt.
Kan bara instämma i likheten – ”allt är en fil/URL”. Att kalla awk, sed, grep, tail, xargs och andra verktyg för primitiva kan vara att ta i kan jag tycka – de håller bara mer eller mindre hårt på principen KISS. Det närmaste jag kommit i att hitta webb-motsvarigheter är Yahoos pipes. Har dock ännu inte sett någon kombinera en REST-ful applikation t ex couch-db och Yahoo-pipes för att utföra jobb på datamängden på motsvarande sätt.
Fredrik: Jag tänkte mer på dom primitiva filaccess metoderna som read,write..
http://www.gnu.org/software/libtool/manual/libc/I_002fO-Primitives.html
Som ungefär motsvarar GET,PUT,POST…
Sen bygger man klienter ovanpå dessa primitiva metoderna som tex grep,firefox, sed eller curl..
Allt är en oktett-ström…
En oktet-ström med metadata: adress(namn),skapad tid osv..
En intressant blend mellan dessa båda är NetKernel (http://1060.org/)