Wondering Just What SOAP Is For….
Posted by Dan Creswell in Distributed Systems, TechnologyI’m not talking personal hygiene which of course is important (your Mum is right, brush your teeth, bathe regularly etc) I’m talking protocols.
Pete’s highlighting the issue which comes down to this strange comment from Paul.
SOAP isn’t RPC? Well sure if I read this I can see the statement Paul references:
“SOAP is fundamentally a stateless, one-way message exchange paradigm, but applications can create more complex interaction patterns (e.g., request/response, request/multiple responses, etc.) by combining such one-way exchanges with features provided by an underlying protocol and/or application-specific information.”
Trouble is the same document also says:
“[SOAP Part2] defines a data model for SOAP, a particular encoding scheme for data types which may be used for conveying remote procedure calls (RPC), as well as one concrete realization of the underlying protocol binding framework defined in [SOAP Part1].”
And then (here):
“One of the design goals of SOAP Version 1.2 is to encapsulate remote procedure call functionality using the extensibility and flexibility of XML. SOAP Part 2 section 4 has defined a uniform representation for RPC invocations and responses carried in SOAP messages.”
What does [SOAP Part2] say?
“One of the design goals of SOAP is to facilitate the exchange of messages that map conveniently to definitions and invocations of method and procedure calls in commonly used programming languages. For that purpose, this section defines a uniform representation of remote procedure call (RPC) requests and responses.”
If we go by the letter of the base-spec SOAP isn’t about RPC but if we look at the spirit, it’s stated that a design goal for SOAP is to support RPC. Note the number of times RPC is mentioned in the base and adjunct specs. Seems like RPC is a fairly fundamental part of this whole thing. Confused?
Update: Don Box wrote up this brief history of SOAP which also makes the link to RPC
Technorati Tags: distributed systems, SOAP, technology, web

Entries (RSS)
Sure, you can extract all the quotes about RPC and say that the SOAP spec was all about RPC, but that’s not really the case.
See if you can place this quote: “I note that an RPC message is a special case of a structured document.”
That was the intent of the SOAP spec. I think it can be fairly argued that the implementations have tended to ignore the non RPC parts of the spec, i.e. the document-oriented SOAP style, but the spec is actually even handed in its treatment of the two paradigms.
Hi Eric,
I’m not really about dragging out all the bits about RPC and claiming SOAP is therefore RPC.
I am suggesting that maybe the spec is structured/worded in such a fashion that it leads people to see things one particular way and that maybe someone needs to write up some overview to address these polarized thoughts.
If that’s not done, we’ll continue to see the kind of confusion that is evident amongst the community.