[Home] [By Thread] [By Date] [Recent Entries]



On Dec 17, 2003, at 9:37 AM, Jonathan Robie wrote:

>   Suppose every web service were available using either REST or SOAP - 
> when would you choose to go with SOAP?
>
>

I think that's a good way to pose the question in a constructive way, 
because it focuses on an engineering decision of WHEN to use one or the 
other rather than a quasi- ideological question of which is "better."  
(Please note, however, that SOAP 1.2 is designed to be used in a 
RESTful way).

I'd say that the default choice is/should be to use straight XML over 
HTTP much as the human-oriented Web uses (X)HTML, PDF, etc.  (I won't 
characterize that as "REST" -- the RESTfulness of the real Web, with 
cookies, app servers maintaining state, etc. seems wide open to debate.

SOAP potentially adds value when:

- You have to go over multiple networks to get to the service provider. 
  SOAP is protocol neutral, HTTP gateways are possible, but you may get 
a lot "for free" with SOAP

- You have various pains that standardized SOAP extensions have the 
aspirin for -- You have to coordinate multipart transactions, you have 
to encrypt or digitally sign the data, you want more automation of 
reliable delivery than HTTP offers, etc.

- You have to interface with procedural software (or dyed in the wool 
procedural programmers!) and raw HTTP/REST creates a big impedance 
mismatch, whereas there is lots of native support for SOAP and WSDL in 
programming environments.

[Hmm, Rich Salz has made some good points while I'm typing ...the short 
answer really is "if you need what SOAP headers offer, use SOAP!]





Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member