Responses on REST

Here is a roundup of some responses to my REST discussion with David Ing. Mostly, I’m passing them along with minimal comment so I figured I’d group them into one post.

David started by leaving me a comment, but decided instead to post the comments on his blog. His big worry seems to be how well REST as CRUD will interop with REST as protocol. but in general I’m not sure that’s a big worry. Bill de Hora’s example below about WebDAV transactions activities seems to demonstrate at least some RESTifarians are cool with a protocol view of the world.

Erik Johnson (who’s blog I mistakenly purged from my reader at some point, so needless to say I’ve resubscribed) writes that “real-world experience shows you rarely POST exactly what you GET” and that “even with the flawed cast of characters you see a lot of whining about…the pieces are there to build good systems that also make great constituents in anyone’s SOA.” I agree 100%. He goes on to agree with me agreeing with Tim for people “not to limit their comprehension of REST around entities accessed via GET and PUT”. Generally speaking, I agree with people when they agree with me, and this is no exception. Erik also has a REST post that predated my dustup with David^[It’s a very polite dustup, characterized mostly by agreement rather than disagreement. Which makes it, as dustups go, very boring.] where he reaches some interesting conclusions about designing REST style systems.

Bill de Hora weighs in, pointing out that “value exchange != transaction”. Given that I never suggested they were equal, I’m not sure what his point is (other than to be snarky). He also points to Subversion’s use of WebDAV as an example of…well, I’m not sure since it seems to prove my point that a simple CRUD style approach doesn’t cut it for many scenarios. According to the page Bill linked to:

“Subversion commits are modeled using the “activity” concept from DeltaV. An activity can be viewed as a transaction for a set of resources.” [emphasis mine]

While I’m sure this sounds snarky as well, I really don’t get what Bill is getting at here. It sounds like he took my disparaging of CRUD as a disparagement of REST, which is NOT how it was intended. This kind of layering of higher-level protocol concepts (like WebDAV’s activity) is exactly what I was thinking of when I wrote “I can spurn CRUD and still embrace REST”.

And though not a direct comment on my post, Omri Gazitt writes about REST vs. SOAP and the support for both in the next version of WCF. His main point is that “It seems like we’ll continue to live in a world where multiple integration paradigms and protocol choices exist for applications”. Of course, since he’s with the WCF product group, regardless of your integration paradigm or protocol choice, WCF is the way to build it (at least on Windows). We’ll have to wait a while to see if WCF is really “future-proof”, but the ability to add significant changes in a .5 release is a fairly good sign.

Morning Coffee 84

There appear to be several posts from several blogs that have spawned from my discussion about REST with David. I’ll catch up on them and respond here in the next day or so. In the meantime…

  • Saw PotC: At World’s End over the weekend, due to a fluke last minute babysitter availability. It’s gotten mediocre reviews, but I liked it. Not as much as the first two, but certainly better than Spiderman 3. June looks fairly bleak @ the box office. We’ll probably take the kids to see Surf’s Up And Ratatouille. (Remember back when there was only one kids movie per summer?) Evan Almighty might be funny and I remember reading 1408, but I think they’re both rentals. The only thing I’m otherwise remotely interested in is Sunshine.
  • Speaking of storytelling, Lost and Heroes wrapped their seasons last week. While early on, it looked like Heroes was going to be the new Lost, Lost’s season finally was awesome. If you don’t watch Lost, you’re really missing out on the best show on TV right now. You have eight months to catch up before season four. Heroes may not be lost, but they’re keeping the interest up with their online comic book plus while Lost scales back to 16 episodes for each of three more seasons, Heroes is bulking up, adding six “Heroes: Origins” and bringing the total to 30 for next season.
  • Larry O’Brien fantasizes about his dream PDC. Aren’t there lots of conferences about learning how to “create great applications” on and for the Microsoft/Windows Platform? What about TechEd? (which is where I’ll be next week)
  • Sam Gentle continues to dig into WF, examining the various ways you can extend the WF runtime by replacing the persistence, loader and scheduler services. He’s also taking my advice to scrap ExternalDataService and work directly with the WorkflowQueuingService.
  • Steve Jones compares SOA to trains and I don’t get it. I mean, his advice on the value of batch processes makes sense, but his train/car analogy seems a bit strained, esp. when he calls the railway system “event based”. Can’t a car be “event based” too? There’s just a much smaller number of people who care about a given car’s events…
  • Ted Neward debated OR/M with Ayende on .NET Rocks. Based on Ted’s post, the show must have been a doozy. Sounds like Ted took some controversial positions, including advocating OO databases. Of course, “shies away from controversyisn’t how I would describe Ted.