Steve Vinoski, REST, and distributed systems
Posted on June 20, 2009 by Tommy McGuireSteve Vinoski, co-author of Advanced CORBA Programming with C++, has a couple of podcasts that I just discovered; based on his columns in Internet Computing, Welcome to "The Functional Web", and Scala and Lift - Functional Recipes for the Web. While poking around, I ran across a few previous columns that I wish everyone I work with who deals with distributed systems (i.e. everyone I work with) would read.
The latter, in particular, has this gem:
Developers who favor technologies that promote interface specialization typically raise two specific objections to the REST uniform-interface constraint. One is that different resources should each have specific interfaces and methods that more accurately reflect their precise functionality. This is rooted in the fact that most programming languages (especially those that are object-oriented) promote the development of specific interfaces, procedures, and methods for different software artifacts. This notion is so ingrained in many developers’ minds that they consider it counterintuitive to apply a uniform general-purpose interface to anything — even to the heterogeneous services and resources found in a typical distributed system. Yet, those who raise this objection fail to properly consider the effects of networking and distribution.
...thus summing up roughly thirty years of what's-wrong-with-RPC arguments.
Hi Tommy, glad to hear you like those columns. If you're interested in more "what's wrong with RPC" arguments, you might also find these QCon London 2009 slides interesting.
Excellent presentation! I wish I had been there, particularly for that Historically bad ideas track.