Different Approaches to Web Services – A Comparison
Download
Report
Transcript Different Approaches to Web Services – A Comparison
Jaggan Nalangilli
[email protected]
A Web service is a collection of protocols and
standards used for exchanging data between
applications or systems.
Enables re-usability of applications.
Connects two applications following different
protocols or standards.
Examples: Amazon Simple Storage Service
which offers an interface to store and retrieve
data anytime.
Web services use commonly used protocols
like HTTP which are not blocked by firewalls.
Representation State Transfer (REST)
Simple Object Access Protocol (SOAP)
Described by Roy Fielding in his PhD
dissertation.
Based on the concept of transferring state
between two systems on a network.
Similar to architecture of the web.
◦ Already familiar to most users. So, more popular.
Data is identified by Uniform Resource
Identifier (URI).
HTTP verbs like GET, POST, DELETE are used
to issue requests to a REST web service.
Client-server interaction system
Stateless
No central store of information. This leads to
faster recovery in case of failure.
◦ All requests must have all information to
understand the complete request.
◦ Increases reliability.
Highly scalable as it is based on the web
which has proved to be extremely scalable.
◦ Less memory is required to store state information.
Formal and standardized approach of W3C.
Based on XML
Built-in support for extensions of the stack
for more complex applications.
Can use any network protocol.
SOAP messages have an envelope consisting
of header and body.
Header contains control information. Can add
extensible information.
Body contains actual message.
SOAP is a standardized protocol and offers
more opportunities for extensibility.
REST supporter feel custom-defined webservice interfaces do not automatically result
in scalability or reliability.
They also believe that security problems will
plague SOAP.
SOAP supporters feel that QoS is addressed
very superficially in REST.
According to SOAP the web is just a platform for
carrying SOAP messages from the source to
destination. SOAP is designed to run over any
protocol.
REST views the web as a scalable information
system.
REST is usually preferred in areas with intense
queries where large quantities of data need to
exchanged.
SOAP is preferred wherever different levels of
QoS are required and state information need to
be maintained.
Many companies like MS and IBM support
SOAP.
Some like yahoo offer only in REST.
When both are available, users tend to prefer
REST. This can be because of familiarity with
the web on which it is based.
Amazon supports both SOAP and REST. 85%
of developers using Amazon Web Services use
REST.