Saturday, December 31, 2011

Compare SOAP Web services to REST Web Services



PROSCONS
SOAP
  • language, platform, and transport agnostic
  • designed to handle distributed computing environments
  • is the prevailing standard for web-services, and hence has better support from other standards (WSDL, WS-*) and tooling from vendors.
  • built-in error handling (faults)
  • extensibility
  • conceptually more difficult, more "heavy-weight" than REST
  • more verbose
  • hander to develop requires tools.
REST
  • language and platform agnostic
  • much simplier to develop than SOAP
  • small learning curve, less reliance on tools
  • consice, no need for additional messaging layer
  • closer in design and philisophy to the web
  • assumes a point-to-point communication model -- not usable for distributed computing environments where message may go throughe on or more intermediaries
  • lack of standards support for security, policy, reliable messaging, etc., so services have more sophisticated requirements are harder to develop
  • tied to the HTTP transport model.

Reference: http://ajaxonomy.com/2008/xml/web-services-part-1-soap-vs-rest