What are the differences among SOAP, XML-RPC, and REST?
SOAP, or Simple Object Access Protocol is an XML-based object invocation protocol, and was originally developed for distributed applications to communicate over HTTP. SOAP defines the use of XML and HTTP to access platform independent services.
In contrast, XML-RPC is a Remote Procedure Calling protocol that works over the Internet, and is really an XML-RPC message that is an HTTP-POST request. The body of the request is in XML. A procedure executes on the server and the value it returns is also formatted in XML.
* REST is a bit different. REST (REpresentative State Transfer) is a technique for implementing Web services using XML documents plus standard HTTP, using its well-known operations (PUT, GET, POST, DELETE). The service-specific API is created by defining URIs (typically URLs) and XML documents that model the data structures and requests/responses required. REST has some very useful properties, e.g. you can use standard firewalls for security, standard caching for performance, while still letting you do everything that SOAP and XML-RPC can do.
[Editor's note] For another expert answer, Click here
Dig Deeper on Representational State Transfer (REST)
Related Q&A from David Linthicum
David Linthicum explains what advanced business application programming (ABAP)/4 means.continue reading
David Linthicum defines Service Component Architecture (SCA) and Service Data Objects (SDO) and explains how to best build these components to enable...continue reading
David Linthicum explains how it is possible that Apache Tomcat is both a Web server and an application server.continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.