>
> 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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en