Re: "RPC" and "Messaging" style of SOAP

 Naresh,
 it is very important to realize that RPC services are a special 
case of messaging services - they also only receive and produce 
messages after all.
 SOAP RPC is just a convention on how the messages are formed and 
understood.
 In (almost) any SOAP communication, there is some kind of
moreless strict contract saying what a service accepts and what
it produces as a result. Using the RPC convention, it's just
slightly easier to describe the contract, for you need to say
     "There's a method named getStockQuote with a string
     parameter named 'name', returning float." 
 instead of 
     "There's an incoming element named getStockQuote with a
     child element named 'name' whose content is of type string;
     there's an outgoing element named getStockQuoteResult with a
     child element qnamed 'enc:result' whose content is of type
     float." 
 Not much of a difference, really. A bit more of a difference in
a SOAP stack implementation, but that's about it.
 Since SOAP RPC uses the SOAP graph data model and its encoding,
if you need a different data model or encoding (say SQL data,
RDF, MOF/XMI etc.), you probably won't use SOAP RPC. It is 
optional exactly for this purpose.
 Some people seem to view the RPC convention (and the Encoding,
too) as magic interoperability cure, I only think they simplify a 
bit description of the contract. With good and strictly followed 
contracts you get good interoperability, on the other hand if one 
party breaks the contract, you can't expect interoperability even 
in the RPC case.
 Best regards,

                   Jacek Kopecky

                   Senior Architect, Systinet (formerly Idoox)
                   http://www.systinet.com/



On Fri, 8 Mar 2002, Naresh Agarwal wrote:

 > Hi
 > 
 > Soap can be used in two ways : "RPC" and "Messaging". I have questions
 > regarding this:
 > 
 > 1) In the context of Web-Services, Soap seems to be used in "RPC" style
 > only. Can Web-Service potentially use "Messaging" style of SOAP?
 > 
 > 2) According to my understanding, when used in "RPC" style, Soap
 > messages represent a call to a remote object. and when used in
 > "Messaging" style, soap messages represent a "XML document". How this
 > XML document  would be produced and consumed is up to the implementor. 
 > 
 > Thus Soap, when used in "RPC" style make the calls "truely
 > interoperable". But i could not see any "interoperability". if Soap is
 > used in "Messaging" style. Am i wrong somewhere?   
 > 
 > 3) What are the scenerios, in which Soap can be used in "Messaging"
 > style?
 > 
 > i would appreciate any comments on the above.
 > 
 > thanks,
 > 
 > regards,
 > Naresh Agarwal
 > 
 > 

Received on Friday, 8 March 2002 03:57:23 UTC