Web Services: Its So Crazy, It Just Might Not Work
Jeff Bone
jbone@jump.net
Tue, 31 Jul 2001 16:14:02 -0500
Mark Baker wrote:
> > Channeling the spirits of FoRK, I think Dave's answer would be "That's
> > what I've been saying for years" while Mark's would be "Nothing will
> > help, because the brokeness is in the idea of RPC, not in the
> > implementations."
> >
> > I guess what I'm trying to handicap is: is RMI like hypertext, an old
> > idea just waiting for the right environment, or is it like video
> > phones, a technological capability its putative users have no actual
> > use for?
>
> Neither, IMHO. It is an old idea, but one whose time has come and gone,
> and has since been superceded by a better idea.
So, hoping for a response to my longer previous e-mail on this topic, but
here's the short version: what, exactly, is this "better idea" and how is
it qualitatively different from RPCs? I suspect that you're equating HTTP
with the shared memory / data paradigm, but surely you can agree that even
so there's a lower-level set of concerns (naming, marshalling, transport)
that must be dealt with, and surely you can agree that this is all the
various HTTP-RPC efforts seek to address?
> I wonder what Dave was thinking when he first saw chopsticks? Was it
> "These would be great for stabbing fruit, but you really need to attach
> little pointy ends to one to make it better for scooping and tearing,
> and a serated edge to the other to make it good for cutting stuff"?
>
> Sooner or later he'll realize that when you live in <insert favorite
> chopstick-using-nation-here>, chopsticks are pretty much all you need.
> That will come moments after he realizes that *he's* been living there
> since 1994.
I'm waiting for the gestalt moment when Mark realizes that yes, while this
is all true, it's a virtue rather than a vice; what we're talking about
here is *decoupling* the higher-level abstractions from the lower-level
issues, rather than munging them all together in a monolithic mess that is
harder to extend and make use of. (This, BTW, is one plank in my anti-DAV
platform as well.) Separation of concerns is a wonderfully useful pattern /
principle in software engineering; the push to make HTTP useful for those
lower-level things *compliments* the idea of building the higher-level
semantics Mark seems to want atop; the converse --- munging the
higher-level semantics together with a "closed" set of lower-level
approaches to the aforementioned things --- results in a less useful, less
applicable substrate.
jb