Re: REST, Conversations and Reliability

Dave,

On Tue, Aug 06, 2002 at 09:58:11PM -0700, David Orchard wrote:
> But in my world, the Web Service *knows* that it is distributed.  So
> therefore the application AND the reliability solution both are fully aware
> of being remote.  You are confusing web services that are message-based
> (which I prefer) with RPC-style (where it looks like a remote procedure
> call).

No, I'm not.  I'm well aware of the differences.

>  That's yet another reason why many of us prefer asynchronous
> message-based solutions, because it acknowledges the distributed nature of
> the applications.

We've got to get some terminology straight here, or else we're not
going to get very far.  "asynch" and "message based" are completely
orthogonal.  All network comms I know of are "message based", including
HTTP.  "asynch" vs. "synch" typically refers to either 1) how the local
connector chooses to expose correlation between request and response
messages to the app developer (blocking or non-blocking), and/or 2) the
lack of a global clock or other central coordinating facility, that
explains messages appearing at times independant of the local clock.
Often, in this context, you'll also see mention of "connection based"
vs. "connectionless" comms, which refers to the role that the transport
(not transfer 8-) protocol plays on the wire in establishing - or not -
a connection with the remote destination.

So, I *believe* that what you mean is that many prefer asynchronous
connector APIs, and connectionless styles of communication (but if not,
please say so).  If that's the case, I suggest that those have very
little to do with acknowledging the distributed nature of the apps.
The former is purely a local artifact that in both theory and practice,
does not hide the issues of latency, concurrency, or partial failure any
better or worse than do synchronous connectors.  Nothing's really been
decided about connectionless communications in the past few years,
except that many Internet-scale systems have done just fine with
connections.  It's still an open area for debate, but certainly there
has been no demonstrated need for it, nor any evidence that connections
can't acknowledge the distributed nature of apps at least as well as
the connectionless alternative.

>  You believe that method names in messages=rpc, whereas I
> equate synchronous/hide-the-remote-aspect=rpc.

Actually, I equate it with both.  Depending on the conversation, I may
emphasize one or the other though.  Most of the time I find that I use
the former reason, because I'm often explaining the differences in the
approach to coordination that specific and generic interfaces follow.

MB
-- 
Mark Baker, CTO, Idokorro Mobile (formerly Planetfred)
Ottawa, Ontario, CANADA.               distobj@acm.org
http://www.markbaker.ca        http://www.idokorro.com

Received on Wednesday, 7 August 2002 08:51:06 UTC