Hugh Winkler holding forth on computing and the Web

Monday, April 24, 2006

GData Optimistic concurrency

Google Data APIs beat Atompub to the punch and stamped legitimacy on REST. I hope Atompub will end up looking as nearly like GData as possible.

Of note: this is a Hi-Rest API, and now, we can safely say, it's the way the web actually works. Not just the way some very dedicated people aspire for the web to work.

So enough rejoicing. Let's begin analyzing GData to death.

First technical question: optimistic concurrency: What's wrong with plain old HTTP if-unmodified-since/if-match? That's how you guard against concurrent updates in HTTP right? Why invent a new protocol for that?


Kyle Marvin said...

The GData resource edit model is based upon the Atom Publishing Protocol, so it's inaccurate to say that it "beat Atompub to the punch".

More accurately, GData should be viewed as a very early (subset) implementation of AtomPub, with more AtomPub capabilities coming online as it progresses from draft to IETF standard.

RE: if-unmodified-since, GData already supports Conditional GET based upon Last-Modified/If-Modified-Since(to optimize queries), support for other HTTP methods is under consideration.

hughw said...

Once you implement conditional PUT, won't your protocol for optimistic concurrency be superfluous?