W3C home > Mailing lists > Public > www-ws-arch@w3.org > September 2002

Re: Use case comparison of REST & Web services

From: Mark Baker <distobj@acm.org>
Date: Fri, 20 Sep 2002 14:35:15 -0400
To: Ugo Corda <UCorda@SeeBeyond.com>
Cc: www-ws-arch@w3.org
Message-ID: <20020920143515.L4430@www.markbaker.ca>

Ugo, good stuff ...

On Fri, Sep 20, 2002 at 10:22:22AM -0700, Ugo Corda wrote:
> In that context, the only reason I need different verbs is in order to
> distinguish the type of documents I want to send/receive to the same web
> service end point. For example, given the URL xyz identifying my web service
> end point, I need to distinguish between a sendPurchaseOrder request and a
> sendCreditCardInfo request to that same service end point so that the end
> point knows what it's getting. 

Why wouldn't the type of document being sent (CreditCardML
vs. PurchaseOrderML) be enough to distinguish the two to the service?

Actually, sometimes it might not be ... I'll get to that below.

> Is it then fair to say that, in the case of message style web services, the
> difference between them and REST relates to trading verbs for URLs?

In some cases that's true.  Most SOAP+WSDL services today use a single
URI, and permit getCurrentStockQuote() and getNewsReport() (for example)
to be invoked on that same URI, when they would be better implemented as
two different resources.  So I'd say that there isn't any consistent
trade being made, just different trades in different contexts.

There's another aspect of this, but I hesitate to discuss it in detail
because it's pretty darned confusing unless you've already got your
head around the notion of distributed containment, and have fully
absorbed the importance of stateless interactions.  But in a nutshell,
it involves the role of SOAPAction; that feature of SOAP that nobody
seems to understand why it's there, but is actually quite important,
and even missing from HTTP (gasp! 8-).

See;

http://www.xent.com/aug00/0512.html

where Dan Connolly explains the need for this;

] I think we got some things right. I think GET/PUT/POST 
] is enough. Perhaps having a principled way of specialize 
] POST (say... a header field that carries a URI ala 
] HTTP ext) should have been there from the beginning. 

MB
-- 
Mark Baker, CTO, Idokorro Mobile (formerly Planetfred)
Ottawa, Ontario, CANADA.               distobj@acm.org
http://www.markbaker.ca        http://www.idokorro.com
Received on Friday, 20 September 2002 14:35:12 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:06 GMT