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 15:28:17 -0600
To: xml-dist-app@w3.org, soap@discuss.develop.com, devel@casbah.org
Cc: Dave Winer <dave@userland.com>, "Box, Don" <dbox@develop.com>, Mark Baker <mark.baker@Canada.Sun.COM>
Message-ID: <x5og8m1pn2.fsf@bitsko.slc.ut.us>
Mark Baker <mark.baker@Canada.Sun.COM> writes:

> Ken MacLeod wrote:

> >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.
> 
> What's the different between the use of HTTP and "XML messaging"?

XML messaging does what HTTP does, just differently because no one
wants to mess with HTTP's installed base (i.e. if it doesn't use only
GET/PUT/POST it probably ain't gonna happen).  One of the most common
ways to implement XML messaging is to actually tunnel those messages
on top of HTTP's POST (and less often, GET and PUT).

XML messaging often suggests many different types of methods than
GET/PUT/POST.

> >  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?
> 
> Sorry, but I'm not following.  I don't see SOAP in the picture
> at all.  I just see your XML documents travelling over HTTP.
> What value-add is there to SOAP when your application's XML docs
> are travelling right over HTTP?

Scenario one recognizes HTTP's "method" field and proposes we use it.
Scenario two recognizes that that's never gonna happen, so let's
simply declare a new successor (I use SOAP as an example).

I refer to a third scenario in this message above, that of tunneling a
messaging protocol through HTTP.  That's simply a hack, a very, very
common hack, but a hack none the less.

> > 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.
> 
> URL munging to avoid caching?

URL munging as a different technique of passing what "method" (action)
I want the server to perform.  It's a hack that could be worse than
tunneling.

  -- Ken
Received on Friday, 10 March 2000 16:28:29 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:56 GMT