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.