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 -
|
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 asTransport for SOAP
|
|
Less verbose
|
More verbose
|
No comments:
Post a Comment