W3C home > Mailing lists > Public > xml-dist-app@w3.org > February 2003

RE: What is a SOAP Message

From: David Orchard <dorchard@bea.com>
Date: Wed, 12 Feb 2003 21:20:09 -0800
To: <xml-dist-app@w3.org>
Message-ID: <007601c2d31f$9422c9f0$c10ba8c0@beasys.com>

As most people don't believe me when I talk about REST, I'll quote an
exchange between myself and Roy

DO: Can representations be transferred over protocols other than http, say
ftp?

RF:Yes. Any shared memory by message passing system is dealing in
representations,
though most are constrained to a particular implementation.

...

RF:  The representation is a moment in time.  A resource is a source
for some future time.  What you
mean to say is that ftp constrains the semantics of resources to its
set of commands that mimic a filesystem.  In practice, however, the
response to ftp get isn't any more constrained than HTTP GET, since the
ftp interface of "file" is that of a Unix file "sequence of bytes", and
thus may be implemented any number of ways on the back-end.  The real
difference between the two is that an ftp client needs to know how
to cd around the ftp server's namespace, whereas the path in HTTP is
always absolute, and that ftp metadata requires additional commands
rather than being supplied by header fields.


> -----Original Message-----
> From: xml-dist-app-request@w3.org
> [mailto:xml-dist-app-request@w3.org]On
> Behalf Of John J. Barton
> Sent: Wednesday, February 12, 2003 4:37 PM
> To: David Orchard; xml-dist-app@w3.org
> Subject: RE: What is a SOAP Message
>
>
>
> At 02:00 PM 2/12/2003 -0800, David Orchard wrote:
>
> >Interesting.  I think we might have a disagreement about the scope of
> >representations.  I assert that in ALL cases of messages
> using the HTTP
> >binding, a representation is transferred.  Not just for the WebMethod
>
> As I understand "representation" in the web context, the phrase
> "a representation is transferred" weakens the critical meaning of
> representation as an instantiation of a resource.
>

?  The concept of representations/resources/identifiers is more than just
HTTP.
A representation is the state of a resource.  And a resources is an
arbitrary "thing".

> >feature wrt SOAP.  In the case of a "non-RESTful" SOAP
> usage, such as the
> >classic getStockQuote inside a POST, there is still a
> representation being
> >transferred.  This is exactly similar to an HTML POST of a
> form, where a
> >representation of a form is transferred, and then a representation is
> >returned.  So REST isn't limited to just WebMethod IMO.
> >
> >I further assert that whenever URIs are used, representations are
> >transferred.  HTTP is indeed designed to be extremely
> friendly to REST
> >transfers, but representation transfer isn't limited to
> HTTP.  For example,
> >ftp transfers lack the ability to add the representation and message
> >metadata that HTTP supports using HTTP headers.  But it is still a
> >representation transfer.
>
> In my opinion FTP does not and cannot transfer representations.
> That is why they call it the **FILE** transfer protocol.  It does not
> transfer representations of resources.  It transfers files.
> Its intent is
> quite different from HTTP and this difference is exactly why
> "representation" was invented.
>

See above.

>
> >My point is that there is a distinction between transferring
> >Representations, and following the REST constraints.  I know
> that might seem
> >a little strange.  But the case of the HTML POST is what
> really cleared
> >things up for me.  The POST result isn't "on the web"
> because you can't
> >"GET" it, but so what?  It's still a web page, and
> representations are
> >transferred.  Just because the resource isn't "on the web",
> doesn't break
> >the idea that representations are transferred between resources.
>
> As I understand them, representations are returned by
> servers. Web resources
> cannot transfer or be transferred so I don't know what the phrase
> "representations are transferred between resources" could mean.
>

I'm thinking of the notion of 2 servers exchanging messages.  From each
other's POV, they are sending and receiving representations.  Therefore,
there must be resources on both sides.  In the case of an HTML FORM, the
resource is on the web browser side, and the browser sends a representation
of the form to the web server.  From the web server's perspective, it can
only see the representation.  A user could easily change the FORM, and thus
the Resource, but until it is posted, the receiver doesn't know.  That's the
point that Roy is making about "at a point in time".  And how the resource
exists for some future time - typically until I shut down my browser.

>
> >Now I must admit I haven't thought through the notion of
> representations
> >over TCP or UDP.  I guess if they don't have URIs, then they
> wouldn't be
> >about representations....  I'll have to ponder that.  That
> might be an
> >interesting boundary condition.
>
> Representations do not have URIs over HTTP either.
> Representations are
> not a concept that apply at the socket level so you can't
> find any boundary
> there.

Fair enough point, I should have said resource.

>
> The closest analog for the representation/resource pair that
> I know is the
> OOP concept of implementation/interface.  Trying OOP on every single
> application design is ok, but it won't always be the most appropriate
> approach.
>
> As far as I can see a SOAP message need not represent any resource
> and it rarely would be one of many alternative representations for a
> resource.  The connection of SOAP to Web is just the use of similar
> technology (XML, HTTP, and URIs).  Its just a different thing.
>

I disagree.  The representation/resource model is sufficiently powerful to
model all SOAP messages.  And much more.

What I think is happening is that people have too narrow a view of what
representations, and indeed resources, are.

Hence why I believe that Web services fits in quite nicely into discussions
about representations, resources, etc.  I actually believe the two
architectures work very well together, but it takes a bit of a broadening of
the general understanding of representations to accomplish this.

And before you think that I've suddenly turned to the dark side (or the
light side depending upon your POV), I still totally believe in SOAP, WSDL,
Choreography, etc.

It's just that I don't think too many people on the Web services side have
had the chance/time/etc. to really to fit these architectures together.  And
to do so in a rigorous fashion, such as going through Roy's thesis and
coming up with an architectural style that explains "service oriented
architecture" in terms of properties, constraints, representations,
resources, etc.  Which I've been doing over the past few weeks, and will
post soon to ws-arch.

Cheers,
Dave


<snip/>
Received on Thursday, 13 February 2003 00:22:33 GMT

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