[
Lists Home |
Date Index |
Thread Index
]
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!]
|