SlideShare a Scribd company logo
1 of 3
The whole idea of Web Service is simplifying data access as much as possible without
compromising security of services. That's where REST outplays SOAP. The system
should be designed as Resources and should be identified by URLs. Then the services
should be accessed by a small set of remote methods describing the actions to be
performed on the resource. This is how REST smoothly fits into such architecture as a
natural choice when services are stateless and interpreted as Resource URL.


For example, the best way make a POST request using REST :
http://127.0.0.1:8080/myrestservices/loanservice/acceptLoan with the JSON / XML as the
body of the request.


RESTful styles perfectly suits for AJAX Tools where multiple web service calls might be
performed very frequently. SOAP suffers from huge overhead of Headers and heavy XML
payloads even for a simple service call.


REST should be the used specially where Bandwidth is limited such as PDA and Mobile
Devices.
Particularly REST can be easily implemented into existing system of URL oriented static
resources without much refactoring or change in existing system architecture.


Since SOAP needs to carry lots of additional information like Quality of
Service, WS Transaction, Security etc. its suitable for integrating complex heterogeneous
systems and specific cases where a service call tends to needs to perform multiple
operations in a blocking mode and needs to communicate signals back and forth between
service provider and consumer before performing a WS-Transaction.


Otherwise, its always better to simple use REST binding for web service and intercept the
service call to ensure security and QOS and then perform the actual transaction without
overloading the headers.


Proxy Servers can be setup to cache stateless services effectively.
Accessing REST services normally won't require any specialized webservice clients
because REST relies on HTTP methods so that any Browser can make
the RESTified service calls.


Now why should we use JSON as the defacto standard for data exchange both for making
a REST service call and communicating between services.


JSON seamlessly integrates with JavaScript and Python as a simple Map Data Structure
whereas XML always required an additional syntax to define its grammer and it has a
hierarchical complex data structure.


User does not need to keep on creating new tags or attributes to represent new data
in JSON as user can simply represent them using Key-Value pairs. In JSON, a Value can
be represented as a nested key-value structure recursively.


JSON support arrays {“Orders”:["Order":"[Id:123]...."]} and is more elegant and compact. It
does not suffer from the - 'how to distinguish an attribute from a child element'
problem.


JSON is fully optimized for exchanging lightweight data i.e. its not suitable for exchanging
Sounds / Images / Binary executable .


XML is more suitable for heavy-weight payloads which is not recommended for Web
Service.


But again handling XML requires specialized knowledge whereas JSON code can be
either converted into simple JSONObject beans that can simply be looked up for child
beans.


So JSON is best for exchanging Data, where as XML is suitable for exchanging
Documents.


Any Web Service Provider should adopt REST and JSON for keeping the services highly
scalable and making fast service calls and providing best user experience over web.
References :
JSON vs XML code comparison : http://www.25hoursaday.com/weblog/PermaLink.aspx?
guid=39842a17-781a-45c8-ade5-58286909226b
JSON Wrapper : http://www.jspon.org/

More Related Content

What's hot (20)

The Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTThe Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReST
 
REST - Representational State Transfer
REST - Representational State TransferREST - Representational State Transfer
REST - Representational State Transfer
 
Soap and Rest
Soap and RestSoap and Rest
Soap and Rest
 
Restful web services ppt
Restful web services pptRestful web services ppt
Restful web services ppt
 
Rest and the hypermedia constraint
Rest and the hypermedia constraintRest and the hypermedia constraint
Rest and the hypermedia constraint
 
Web Services Tutorial
Web Services TutorialWeb Services Tutorial
Web Services Tutorial
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
REST and RESTful Web Services
REST and RESTful Web ServicesREST and RESTful Web Services
REST and RESTful Web Services
 
J query post method in php
J query post method in phpJ query post method in php
J query post method in php
 
Json
JsonJson
Json
 
java script json
java script jsonjava script json
java script json
 
R-Users Group JSON and ReST Introduction using Twitter
R-Users Group JSON and ReST Introduction using TwitterR-Users Group JSON and ReST Introduction using Twitter
R-Users Group JSON and ReST Introduction using Twitter
 
REST - A Super Quick Intro
REST - A Super Quick IntroREST - A Super Quick Intro
REST - A Super Quick Intro
 
[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond
 
Restful web services
Restful web servicesRestful web services
Restful web services
 
Json
JsonJson
Json
 
SOAP-based Web Services
SOAP-based Web ServicesSOAP-based Web Services
SOAP-based Web Services
 
Introduction to Rest Protocol
Introduction to Rest ProtocolIntroduction to Rest Protocol
Introduction to Rest Protocol
 
Representational State Transfer (REST)
Representational State Transfer (REST)Representational State Transfer (REST)
Representational State Transfer (REST)
 
Soap vs rest
Soap vs restSoap vs rest
Soap vs rest
 

Similar to Why REST and JSON are better than SOAP and XML for web services

Rest vs soap
Rest vs soapRest vs soap
Rest vs soapNaseers
 
REST & SOAP.pptx
REST & SOAP.pptxREST & SOAP.pptx
REST & SOAP.pptxZawLwinTun2
 
Mobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueMobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueRapidValue
 
REST Introduction.ppt
REST Introduction.pptREST Introduction.ppt
REST Introduction.pptKGSCSEPSGCT
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservicesGagandeep Singh
 
Cordova training - Day 8 - REST API's
Cordova training - Day 8 - REST API'sCordova training - Day 8 - REST API's
Cordova training - Day 8 - REST API'sBinu Paul
 
Interoperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web ServicesInteroperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web Servicesinfopapers
 
53 hui homework2
53 hui homework253 hui homework2
53 hui homework2huis89
 
Modern REST API design principles and rules.pdf
Modern REST API design principles and rules.pdfModern REST API design principles and rules.pdf
Modern REST API design principles and rules.pdfAparna Sharma
 
SOAP vs REST_ Which Web Service Protocol is Right for Your Needs
SOAP vs REST_ Which Web Service Protocol is Right for Your NeedsSOAP vs REST_ Which Web Service Protocol is Right for Your Needs
SOAP vs REST_ Which Web Service Protocol is Right for Your NeedsSigner.Digital
 

Similar to Why REST and JSON are better than SOAP and XML for web services (20)

Rest vs soap
Rest vs soapRest vs soap
Rest vs soap
 
Unit 2
Unit 2Unit 2
Unit 2
 
REST & SOAP.pptx
REST & SOAP.pptxREST & SOAP.pptx
REST & SOAP.pptx
 
Mobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueMobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValue
 
REST Introduction.ppt
REST Introduction.pptREST Introduction.ppt
REST Introduction.ppt
 
REST & RESTful Web Services
REST & RESTful Web ServicesREST & RESTful Web Services
REST & RESTful Web Services
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
 
Mule soft ppt 3
Mule soft ppt  3Mule soft ppt  3
Mule soft ppt 3
 
Lab7 paper
Lab7 paperLab7 paper
Lab7 paper
 
Soap Vs Rest
Soap Vs RestSoap Vs Rest
Soap Vs Rest
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
SCDJWS 6. REST JAX-P
SCDJWS 6. REST  JAX-PSCDJWS 6. REST  JAX-P
SCDJWS 6. REST JAX-P
 
Cordova training - Day 8 - REST API's
Cordova training - Day 8 - REST API'sCordova training - Day 8 - REST API's
Cordova training - Day 8 - REST API's
 
Interoperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web ServicesInteroperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web Services
 
Rest vs Soap
Rest vs SoapRest vs Soap
Rest vs Soap
 
53 hui homework2
53 hui homework253 hui homework2
53 hui homework2
 
Modern REST API design principles and rules.pdf
Modern REST API design principles and rules.pdfModern REST API design principles and rules.pdf
Modern REST API design principles and rules.pdf
 
REST Servers in Delphi XE Using DataSnap
REST Servers in Delphi XE Using DataSnapREST Servers in Delphi XE Using DataSnap
REST Servers in Delphi XE Using DataSnap
 
Rest api design
Rest api designRest api design
Rest api design
 
SOAP vs REST_ Which Web Service Protocol is Right for Your Needs
SOAP vs REST_ Which Web Service Protocol is Right for Your NeedsSOAP vs REST_ Which Web Service Protocol is Right for Your Needs
SOAP vs REST_ Which Web Service Protocol is Right for Your Needs
 

More from Kaniska Mandal

Machine learning advanced applications
Machine learning advanced applicationsMachine learning advanced applications
Machine learning advanced applicationsKaniska Mandal
 
MS CS - Selecting Machine Learning Algorithm
MS CS - Selecting Machine Learning AlgorithmMS CS - Selecting Machine Learning Algorithm
MS CS - Selecting Machine Learning AlgorithmKaniska Mandal
 
Core concepts and Key technologies - Big Data Analytics
Core concepts and Key technologies - Big Data AnalyticsCore concepts and Key technologies - Big Data Analytics
Core concepts and Key technologies - Big Data AnalyticsKaniska Mandal
 
Machine Learning Comparative Analysis - Part 1
Machine Learning Comparative Analysis - Part 1Machine Learning Comparative Analysis - Part 1
Machine Learning Comparative Analysis - Part 1Kaniska Mandal
 
Debugging over tcp and http
Debugging over tcp and httpDebugging over tcp and http
Debugging over tcp and httpKaniska Mandal
 
Concurrency Learning From Jdk Source
Concurrency Learning From Jdk SourceConcurrency Learning From Jdk Source
Concurrency Learning From Jdk SourceKaniska Mandal
 
Wondeland Of Modelling
Wondeland Of ModellingWondeland Of Modelling
Wondeland Of ModellingKaniska Mandal
 
The Road To Openness.Odt
The Road To Openness.OdtThe Road To Openness.Odt
The Road To Openness.OdtKaniska Mandal
 
Perils Of Url Class Loader
Perils Of Url Class LoaderPerils Of Url Class Loader
Perils Of Url Class LoaderKaniska Mandal
 
Making Applications Work Together In Eclipse
Making Applications Work Together In EclipseMaking Applications Work Together In Eclipse
Making Applications Work Together In EclipseKaniska Mandal
 
E4 Eclipse Super Force
E4 Eclipse Super ForceE4 Eclipse Super Force
E4 Eclipse Super ForceKaniska Mandal
 
Create a Customized GMF DnD Framework
Create a Customized GMF DnD FrameworkCreate a Customized GMF DnD Framework
Create a Customized GMF DnD FrameworkKaniska Mandal
 
Creating A Language Editor Using Dltk
Creating A Language Editor Using DltkCreating A Language Editor Using Dltk
Creating A Language Editor Using DltkKaniska Mandal
 
Advanced Hibernate Notes
Advanced Hibernate NotesAdvanced Hibernate Notes
Advanced Hibernate NotesKaniska Mandal
 
Converting Db Schema Into Uml Classes
Converting Db Schema Into Uml ClassesConverting Db Schema Into Uml Classes
Converting Db Schema Into Uml ClassesKaniska Mandal
 
Graphical Model Transformation Framework
Graphical Model Transformation FrameworkGraphical Model Transformation Framework
Graphical Model Transformation FrameworkKaniska Mandal
 

More from Kaniska Mandal (20)

Machine learning advanced applications
Machine learning advanced applicationsMachine learning advanced applications
Machine learning advanced applications
 
MS CS - Selecting Machine Learning Algorithm
MS CS - Selecting Machine Learning AlgorithmMS CS - Selecting Machine Learning Algorithm
MS CS - Selecting Machine Learning Algorithm
 
Core concepts and Key technologies - Big Data Analytics
Core concepts and Key technologies - Big Data AnalyticsCore concepts and Key technologies - Big Data Analytics
Core concepts and Key technologies - Big Data Analytics
 
Machine Learning Comparative Analysis - Part 1
Machine Learning Comparative Analysis - Part 1Machine Learning Comparative Analysis - Part 1
Machine Learning Comparative Analysis - Part 1
 
Debugging over tcp and http
Debugging over tcp and httpDebugging over tcp and http
Debugging over tcp and http
 
Designing Better API
Designing Better APIDesigning Better API
Designing Better API
 
Concurrency Learning From Jdk Source
Concurrency Learning From Jdk SourceConcurrency Learning From Jdk Source
Concurrency Learning From Jdk Source
 
Wondeland Of Modelling
Wondeland Of ModellingWondeland Of Modelling
Wondeland Of Modelling
 
The Road To Openness.Odt
The Road To Openness.OdtThe Road To Openness.Odt
The Road To Openness.Odt
 
Perils Of Url Class Loader
Perils Of Url Class LoaderPerils Of Url Class Loader
Perils Of Url Class Loader
 
Making Applications Work Together In Eclipse
Making Applications Work Together In EclipseMaking Applications Work Together In Eclipse
Making Applications Work Together In Eclipse
 
Eclipse Tricks
Eclipse TricksEclipse Tricks
Eclipse Tricks
 
E4 Eclipse Super Force
E4 Eclipse Super ForceE4 Eclipse Super Force
E4 Eclipse Super Force
 
Create a Customized GMF DnD Framework
Create a Customized GMF DnD FrameworkCreate a Customized GMF DnD Framework
Create a Customized GMF DnD Framework
 
Creating A Language Editor Using Dltk
Creating A Language Editor Using DltkCreating A Language Editor Using Dltk
Creating A Language Editor Using Dltk
 
Advanced Hibernate Notes
Advanced Hibernate NotesAdvanced Hibernate Notes
Advanced Hibernate Notes
 
Best Of Jdk 7
Best Of Jdk 7Best Of Jdk 7
Best Of Jdk 7
 
Converting Db Schema Into Uml Classes
Converting Db Schema Into Uml ClassesConverting Db Schema Into Uml Classes
Converting Db Schema Into Uml Classes
 
EMF Tips n Tricks
EMF Tips n TricksEMF Tips n Tricks
EMF Tips n Tricks
 
Graphical Model Transformation Framework
Graphical Model Transformation FrameworkGraphical Model Transformation Framework
Graphical Model Transformation Framework
 

Why REST and JSON are better than SOAP and XML for web services

  • 1. The whole idea of Web Service is simplifying data access as much as possible without compromising security of services. That's where REST outplays SOAP. The system should be designed as Resources and should be identified by URLs. Then the services should be accessed by a small set of remote methods describing the actions to be performed on the resource. This is how REST smoothly fits into such architecture as a natural choice when services are stateless and interpreted as Resource URL. For example, the best way make a POST request using REST : http://127.0.0.1:8080/myrestservices/loanservice/acceptLoan with the JSON / XML as the body of the request. RESTful styles perfectly suits for AJAX Tools where multiple web service calls might be performed very frequently. SOAP suffers from huge overhead of Headers and heavy XML payloads even for a simple service call. REST should be the used specially where Bandwidth is limited such as PDA and Mobile Devices. Particularly REST can be easily implemented into existing system of URL oriented static resources without much refactoring or change in existing system architecture. Since SOAP needs to carry lots of additional information like Quality of Service, WS Transaction, Security etc. its suitable for integrating complex heterogeneous systems and specific cases where a service call tends to needs to perform multiple operations in a blocking mode and needs to communicate signals back and forth between service provider and consumer before performing a WS-Transaction. Otherwise, its always better to simple use REST binding for web service and intercept the service call to ensure security and QOS and then perform the actual transaction without overloading the headers. Proxy Servers can be setup to cache stateless services effectively.
  • 2. Accessing REST services normally won't require any specialized webservice clients because REST relies on HTTP methods so that any Browser can make the RESTified service calls. Now why should we use JSON as the defacto standard for data exchange both for making a REST service call and communicating between services. JSON seamlessly integrates with JavaScript and Python as a simple Map Data Structure whereas XML always required an additional syntax to define its grammer and it has a hierarchical complex data structure. User does not need to keep on creating new tags or attributes to represent new data in JSON as user can simply represent them using Key-Value pairs. In JSON, a Value can be represented as a nested key-value structure recursively. JSON support arrays {“Orders”:["Order":"[Id:123]...."]} and is more elegant and compact. It does not suffer from the - 'how to distinguish an attribute from a child element' problem. JSON is fully optimized for exchanging lightweight data i.e. its not suitable for exchanging Sounds / Images / Binary executable . XML is more suitable for heavy-weight payloads which is not recommended for Web Service. But again handling XML requires specialized knowledge whereas JSON code can be either converted into simple JSONObject beans that can simply be looked up for child beans. So JSON is best for exchanging Data, where as XML is suitable for exchanging Documents. Any Web Service Provider should adopt REST and JSON for keeping the services highly scalable and making fast service calls and providing best user experience over web.
  • 3. References : JSON vs XML code comparison : http://www.25hoursaday.com/weblog/PermaLink.aspx? guid=39842a17-781a-45c8-ade5-58286909226b JSON Wrapper : http://www.jspon.org/