« RMS and Miguel: Straight Talking: | Main | Web Services Architectures: Paul Prescod. »
July 25, 2002
Why SOAP sucks, why SOAP
Why SOAP sucks, why SOAP rocks: Matt Sergeant.
Why does SOAP suck:
Hard to implement fully. Most implementations only implement a subset.Too many technologies (SOAP, UDDI, WSDL). Any SOAP implementors here? Yes. Sam Ruby is here :-). No built in Logging. No security model (yet). SOAP bypasses firewall security measures. No session definition. Garbage collection required on the server to maintain consistancy in objects. SOAP does not scale well. POST vs. GET discussion. SOAP uses POST over HTTP. POST bypasses HTTP caching. HTTP offers other verbs that we should be using - we are GETting a stock quote and not POSTing it. (Now Matt is moving towards REST). SOAP is not human readable. (SOAP)Methods are not enough. Developers need APIs. Google created the WebSevice and then developed APIs (as well). If you are going to implement everything then why SOAP.REST description. Defines the Web as we know it. Writing applications using HTTP. Use the verbs available. Stock quote example using REST. Google example (they already had REST interface - but now only paying customers can use that). Only SOAP interface is free. Benefits: Works with HTTPD (including logging), standard authorisation works - even on a method basis (using different resources). Cache works (such as squid). Persistant sessions are supported.
Why SOAP rocks:
SOAP::Lite is simplest module for SOAP in any language (Perl). Matt shows SOAP server in 2 lines of PERL. Wow. SOAP client is 5 lines. Other implementations available in different languages. WSDL file makes it a lot easier if you use strongly typed languages. No need to understand HTTP to build SOAP services. Interoperability works unless you have complex needs. SOAP is a W3C standard and easily accessible. Future development is certain.REST disadvantages:
No standard. Every application is different. REST works well for borwsers but is harder to adapt for computers. No REST tools beyond HTTPD and server languages.Conclusions:
The application will dictate the method. Or customers - or pointy haired bosses. Basically SOAP sucks - but SOAP implementations rock. REST is better if you can use it.Posted by Matthew at July 25, 2002 01:33 AM