>
> It seems to me that a "truly" RESTful system design is very much in line
> of what Rich was talking about.
>
>
This is completely correct. Let's take the common method "GET" for
instance. According to REST philosophy, GETs should be 100% cache-able (and
therefore they are actual values). We can "disable" the HTTP caches simply
by giving different parameters to the get query:


>> GET /person/123?latest=true&rnd={insert random guid here}
{:name "John" :gender "Male" :id 123 :timestamp 1002313}

>> PUT /person/123
>> {:name "James" :gender "Male" :id 233}
/person/123/1002314

>> GET /person/123/1002314
{:name "James" :gender "Male" :id 123 :timestamp 1002314}

>> GET /person/123/1002313
{:name "John" :gender "Male" :id 123 :timestamp 1002313}

>> GET /person/123?latest=true&rnd={insert random guid here}
{:name "James" :gender "Male" :id 123 :timestamp 1002314}


The above perfectly follows what Rich discussed. No information is ever
lost. We have time explicitly defined in the timestamp, and we can always
get the latest version of a value by passing in a random guid to invalidate
the HTTP caches.

If you read up a bit more on REST you'll find that it deals allot with the
avoidance of mutable state, which is exactly what Rich was suggesting.

Timothy

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to