Lists Home |
Date Index |
5/4/2002 10:36:42 PM, "Jonathan Borden" <firstname.lastname@example.org> wrote:
>I feel as though I am being beat over the
>head and forced to bow down a pray to some new messianic religion called
>"REST", which makes me gag. We ought make our point and get on to writing
>killer apps that demonstrate the point, and there are other trickly and as
>yet unsolved problems that deserve some architectural attention
Yup, I'll bet a lot of people feel the same way. I very much appreciate what
the "RESTifarians" :~) have done to clarify my previously vague feelings of
discomfort about the SOAP/WSDL/RPC-everywhere hype. On the other hand, the
zealousness of the counter-attack does put a lot of people off. Also,
to reinforce my original point -- the sheer number of points in dispute
confuse the basic message. No disrespect meant to the people who have
intelligently made these arguments, but I don't think that the arguments
that HTTP is an application protocol not a transport protocol, or that
idempotent operations should use GET rather than POST, or that the SOAP
1.2 HTTP binding should not be made a W3C Recommendation because it "tunnels"
SOAP over HTTP, do much besides confuse those who are undecided and annoy those
who have taken a position. [If I have misrepresented any of these positions I apologize,
but it's a symptom of my eyes glazing over ...]
Likewise, the more fundamental assumption that there is a Web Architecture
that someone really understands grates on me a bit. Its "axioms" are
nothing of the sort; they are *hypotheses* to explain why the "Web" has
been as successful as it has, and suggestions for how to use it most
effectively that are based on the assumption that the hypotheses are true.
Here's where I come down on all of this:
- The Web is the most successful distributed application platform ever, and
it is important to try hard to understand why it is successful before trying
to improve on it.
- REST, the "axioms" of the Web Architecture, etc. are well thought out and
quite compelling explanations for the Web's success, and imply best practices
for moving forward. Nevertheless, they are *theories* to be examined, tested,
refined, and applied, and definitely not unquestionable postulates.
- The RPC model, on the other hand, has some primal attraction for software developers,
I guess because deep down inside we want the world to be simple, synchronous,
reliable, homogenous, and zero-latency, etc. Nevertheless,
"web services" are at the bleedling edge where things are not secure, synchronous,
reliable, instantaneous, etc., and they probably never will be: devices get
smaller and smaller, "clients" are farther and farther away from their "servers",
and we're starting to hit some fundamental limits of physics and information
science rather than temporary limits of technology.
- The way ahead probably lies in some synthesis of Web-think and Programmer-think,
not in one or the other.