CARVIEW |
mark nottingham
recent entries all entries feed
Hi, I’m Mark Nottingham. I write about the Web, protocol design, HTTP, Internet governance, and more. This is a personal blog, it does not represent anyone else. Find out more.
Comments? Let's talk on Mastodon. @mnot@techpolicy.social
other HTTP APIs posts
- Designing Headers for HTTP Compression
Tuesday, 27 November 2018 - How to Think About HTTP Status Codes
Thursday, 11 May 2017 - Five Reasons to Considering Linking in Your HTTP APIs
Sunday, 23 June 2013 - Indicating Problems in HTTP APIs
Wednesday, 15 May 2013 - Evolving HTTP APIs
Tuesday, 4 December 2012 - Why PATCH is Good for Your HTTP API
Wednesday, 5 September 2012 - Bad HTTP API Smells: Version Headers
Wednesday, 11 July 2012 - HTTP API Complexity
Monday, 25 June 2012 - Linking in JSON
Friday, 25 November 2011 - RFC 5785 - Well-Known URIs
Wednesday, 7 April 2010 - Squid is My Service Bus
Sunday, 29 April 2007 - Are Namespaces (and mU) Necessary?
Friday, 7 April 2006
Loose Coupling, Late Binding and REST
Friday, 3 October 2003
Mark Baker says that REST is SOA + late binding. While I see the truth in this, I think it’s pretty orthogonal, and it’s not that compelling for most SOAish folks.
This is because their use cases are machines talking to machines, not people talking to machines. In Web browsing, this is great, because people are smart enough to look at the late-bound semantics in a representation and figure out what they want to do; machines aren’t, yet.
That means that you need a description of the interface provided ahead of time for the programmer - rather than the user - to figure out what they want to do; this is the whole point behind WSDL, BPEL and the rest of the Web services description specs.
Of course, this doesn’t mean that you couldn’t come up with a description format for resources that would show developers the RESTful interface that they expose (and in fact I’m playing with one now, as I suspect many others are), but it wouldn’t be able to be used at runtime by machines. For late-bound REST to be useful to machines in addition to humans, we’ll have to wait for the Semantic Web to show more promising fruit.
UPDATE: Mark responds. I agree re: the elusive nitty-gritty of both late binding and loose coupling! *grin* DavidO (who really should have a blog!) has been noodling on this a lot more deeply than I ever could, and some of the results have been surfacing.
The quote you give makes things clearer; Roy’s basically saying that data (aka the representation) is bound to a reference when it’s de-referenced, not before, allowing you do cool stuff like conneg. Maybe I haven’t gone back far enough in the thread (if so, mea culpa), but I’m not clear on how this gets us to centralised vs. decentralised. I would agree that many WS folks and specs don’t leverage URIs nearly enough.