RE: Use case comparison of REST & Web services

Mark,

Could you please elaborate on the role you would assign to SOAPAction (or to
something equivalent, since it's not in SOAP 1.2 any more)?

I was a member of the XML Protocol WG at the time the SOAPAction discussions
took place and, if I remember well, the main reason for its elimination was
its imprecise semantics (which translated in all kind of different uses of
that parameter in various SOAP implementations - not too good for
interoperability).

Ugo

-----Original Message-----
From: Mark Baker [mailto:distobj@acm.org]
Sent: Friday, September 20, 2002 11:35 AM
To: Ugo Corda
Cc: www-ws-arch@w3.org
Subject: Re: Use case comparison of REST & Web services


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 15:06:12 UTC