Re: What is SOAP?

Jacek Kopecky asks whether SOAP is fundamentally:

>> a) an extension of the web (or HTTP), or

Surely not, as all use of HTTP is optional.

>> b) an RPC request/response protocol on top of *a transport 
>>    layer*, or
>> c) simply a messaging protocol with basically every message
>>    being one-way (again, on top of a transport layer).

I'd say a mix of (b) and (c), but without the RPC. 

I don't think we can say either one way, or request response.  From our 
spec:  "A binding specification MUST enable one or more MEPs. [2]"  I 
think that makes clear that SOAP has an extensible notion of the message 
pattern.  Although I haven't recently reread the entire spec, I believe 
that (unlike SOAP 1.1) requests/response now appears symmetrically with 
one way.  Bindings may sport either or both, or other patterns instead. 

The notion of RPC, in the sense of something that looks like and is easily 
mapped to procedure or method calls with arguments, is no longer 
mandatory.  I think that makes clear that SOAP can no longer be in any 
sense fundamentally RPC.

So I would say SOAP is:

"SOAP is an extensible, interoperable foundation on which to create 
protocols that support a variety of message patterns, using a wide range 
of underlying protocols to transport information.  SOAP includes optional 
Remote Procedure Call and associated data encoding conventions, which can 
be used to build SOAP based protocols that are optimized for easy 
integration with certain programming languages and systems."

Or something like that.

[1] http://www.w3.org/2000/xp/Group/1/10/11/soap12-part1.html#bindfw
[2] http://www.w3.org/2000/xp/Group/1/10/11/soap12-part2.html#soapmep

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

Received on Tuesday, 26 March 2002 22:14:13 UTC