Compare RESTful vs. SOAP Web Services
Join the DZone community and get the full member experience.Join For Free
There 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 -
|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.