Compare RESTful vs. SOAP Web Services
Join the DZone community and get the full member experience.
Join For FreeThere are currently two schools of thought in developing Web Services – one being the standards-based traditional approach [ SOAP ] and the other, simpler school of thought [ REST ].
This article quickly compares one with the other -
REST | SOAP |
Assumes a point-to-point communication model–not usable for distributed computing environment where message may go through one or more intermediaries | Designed to handle distributed computing environments |
Minimal tooling/middleware is necessary. Only HTTP support is required | Requires significant tooling/middleware support |
URL typically references the resource being accessed/deleted/updated | The content of the message typically decides the operation e.g. doc-literal services |
Not reliable – HTTP DELETE can return OK status even if a resource is not deleted | Reliable |
Formal description standards not in widespread use. WSDL 1.2, WADL are candidates. | Well defined mechanism for describing the interface e.g. WSDL+XSD, WS-Policy |
Better suited for point-to-point or where the intermediary does not play a significant role | Well suited for intermediated services |
No constraints on the payload | Payload must comply with the SOAP schema |
Only the most well established standards apply e.g. HTTP, SSL. No established standards for other aspects. DELETE and PUT methods often disabled by firewalls, leads to security complexity. | A large number of supporting standards for security, reliability, transactions. |
Built-in error handling (faults) | No error handling |
Tied to the HTTP transport model | Both SMTP and HTTP are valid application layer protocols used as Transport for SOAP |
Less verbose | More verbose |
Published at DZone with permission of Jagadeesh Motamarri, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments