W3C home > Mailing lists > Public > xml-dist-app@w3.org > March 2000

Re: The Two Way Web

From: Ken MacLeod <ken@bitsko.slc.ut.us>
Date: 10 Mar 2000 13:54:43 -0600
To: xml-dist-app@w3.org, soap@discuss.develop.com, devel@casbah.org
Cc: Mark Baker <mark.baker@Canada.Sun.COM>, Dave Winer <dave@userland.com>, "Box, Don" <dbox@develop.com>
Message-ID: <x5ln3qppmk.fsf@bitsko.slc.ut.us>
Mark Baker <mark.baker@Canada.Sun.COM> writes:

> I'd ask this question to Ken too - what's wrong with HTTP 1.1?  DWC
> includes getMessages() and postMessage() which appear to be similar
> to HTTP GET and POST at a first glance.  Have you seen DRP?  It
> would appear to be a tool that could help you rearchitect DWhite to
> be more document-centric, and it doesn't use any unexpected HTTP
> extensions (it uses a new header, but in a completely supported
> way).

I had an insight last night that makes me agree with you completely.

The only problem is one of protocol layering.  It's actually DWhite
that is comparible to HTTP, not DWChat (more on why in a moment).  The
problem is that the client is using a single API, to have the API
automagically switch-in HTTP for some requests and XML messaging for
others seems fragile.  But, for the moment let's assume that that is
exactly what happens, this is the new API:

        Returns a fully populated copy of the node at URL.

    HTTP:HEAD(URL)   (replaces DWhite:checkNode())
        Returns status info about URL.

The semantics of HTTP:HEAD() are a little different from
DWhite:checkNode(), but that's not a big deal.

With that, it's obvious how to scale up to WebDAV and DRP.  Verra

Now, back to the protocols.  Rather than try to mix the two, it makes
sense to pick one or the other (or both, seperately).  Scenario One:
If one were to use HTTP methods to implement this, it begs the
question about the purpose of SOAP:Envelope at all when running over
HTTP.  Scenario Two: SOAP:Envelope _becomes_ HTTP-NG and the HTTP 1.1
header goes away.

Comments on that?

Now to DWChat. getMessages() and postMessage() are both "actions" that
do something much different than simply "get" a value or offer data to
a function (POST).

In scenario one from above, that would be:

  DWChat:getMessages http://mysite.org/chat_channel_1 HTTP/1.1
  DWChat:postMessage http://mysite.org/chat_channel_1 HTTP/1.1

Note that some URL munging could be applied here to achieve the same
effect with GET/POST, but I don't think that scales well.

Scenario two (SOAP is HTTP-NG) turns it inside out and would be
applied similarly.

  -- Ken

P.S. For something completely different, I'm thinking about
distributed authentication (shared site logins, key servers,
Kerberos-type stuff) and I'm wondering if anybody knows of anything
simpler than Kerberos itself for that.  Please email me.
Received on Friday, 10 March 2000 14:55:07 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 22:01:09 UTC