Re: SOAP & REST

Mark Bake writes:

>> The difference is that in the former form,
>> a user doesn't know whether the operation
>> being performed is multiplication or division.

To use almost any resource properly, you need documentation, information or
context other than the resource name.  I don't randomly interchange
www.ibm.com with www.hp.com, just because the URI's are opaque.  I know
that I use one to get information on IBM, the other information on HP.

Similarly, there will be documentation, configuration information, WSDL or
whatever -- whether machine readable or not -- that will tell you which
service URIs to use to get various things done.  In one case, that
information will carry the information:  "to get multiplication done, you
must send your request to  http://numbers.com/multiply and supply the
parameters inputnumber1="3"+inputnumber2="4".  The other will say to send
our request to http://numbers.com/ with parameters operation="multiply"
+inputnumber1="3"+inputnumber2="4".  I don't see one as being different
from the other.  Neither seems particularly different than "to find out
about hp, point your browser to www.hp.com."

One of the things I think we're discovering in this discussion is a bit
about how to structure the mechanisms that will surround any HTTP get
binding for SOAP (I.e. the bindings that do support SOAP bodies.)  I think
the binding and middleware mechanisms will, e.g. for RPC, have tables or
WSDL files that convey exactly the information above about how to, for a
given service, select the appropriate resource URI and how to encode the
parameters.  One of the things I think we're discovering is that there may
be reasons why the QName that identifies the operation in the RPC body
(e.g. math:multiply) might affect the name of the destination resource as
well as the contents of the parameters.  This doesn't mean that the URI's
aren't opaque, just that we can choose a different one for multiply than
for divide, for example.

------------------------------------------------------------------
Noah Mendelsohn                              Voice: 1-617-693-4036
IBM Corporation                                Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------

Received on Thursday, 7 February 2002 09:42:08 UTC