REST vs. SOAP In Amazon Web Services 29
Amazon's web services have attracted a thriving community, people are making real money building alternate interfaces to Amazon and collecting Associates commissions on the resulting sales, and there are even tool developers who have come up with the creative business model of agreeing with their users to have some percentage of the transactions use the tool developer's Associates id rather than the site owner's. Cool.
Amazon is holding a free all day web services workshop on April 22 at the O'Reilly Emerging Technologies Conference. The event is open to people not registered at the conference (though space is limited to 50 people).
P.S. Slashdot really ought to have web services as a topic area! Despite being over-hyped, this is a really important area, and there's a lot cooking. Amazon's web services"
REST or SOAP: yes (Score:4, Insightful)
It is understandable that Amazon sees most people using REST. They're mostly hobbyists and amateur programmers, and REST is easier and sufficient for the very simple things that you can do via the Amazon web services api, but if one were trying to submit more information -- say a long purchase order -- the limitations of REST would be more apparent. The RPC style of SOAP is often better with REST, but for the document-exchange style, REST is inadequate.
Re:REST or SOAP: yes (Score:3, Interesting)
I would bet there are significant numbers of professionals using REST, too. It has a pretty high usefulness threshold, because a lot of tasks don't require the complex hierarchical datasets allowed by XML.
I've personall
Re:REST or SOAP: yes (Score:2)
Parsing a URL query string with 200 name-value pairs, then assembling that back into the XML document that the recipient expects does not seem like a good solution.
That does not describe Amazon's interface. There are a handful of parameters at most.
SOAP is not the best solution for all problems like this. In the Amazon case, REST may be better in some (many?) cases.
-Pete
Re:REST or SOAP: yes (Score:2)
Re:REST or SOAP: yes (Score:3, Informative)
Re:REST or SOAP: yes (Score:3, Informative)
The above shows just how little jnana understands REST. Note that SOAP over HTTP uses POST and does not do any URL encoding of the requests. Just why can't a simple HTTP application do the same?
HTTP GET is to be used for retrieval only, and all URL encoding that may hap
Re:REST or SOAP: yes (Score:2)
That's why SOAP 1.2 tries to allow the use of other HTTP methods where appropriate, so that ideally services using SOAP 1.2 over HTTP will be fully-fledged HTTP resources and will fit into the Web world.
Re:REST or SOAP: yes (Score:3, Informative)
You can use HTTP POST with REST, so you simply POST the XML document to the appropriate URL (probably an URL that identifies some sort of handler).
But why do you want to wrap it?
The thing that is "wrong" about SOAP is that everything is wrapped into a POST request, even if you aren't posting anything but simply requesting some information.
For
Re:REST or SOAP: yes (Score:1)
I think you will find that SOAP is transport agnostic - ie you could use it over SMTP in an email message.
HTTP post is only one of the methods of delivering a SOAP envelope.
In other news (Score:2)
Amazon patents the use of REST and SOAP...
Why Amazon provides two interfaces (Score:2, Informative)
How Amazon Web Services came about (Score:3, Interesting)
Read about the rest in Tim's weblog post [oreillynet.com].
XML over HTTP is where it's at (Score:2)
SOAP is just too much work in the Amazon case with little ROI. XML is just as simple when used with JDom, or another simple parser.
(Smart) people will use the right tool for the job. In
Yeah, but all the big players used soap (Score:3, Interesting)
Still, once you get it worked out the process is actually pretty smooth. All my complaints are about how they use their data, not how it's transported.
I just switched from REST to SOAP (Score:2, Interesting)
MIME-RPC as an alternative to SOAP and XML-RPC (Score:5, Interesting)
A quiet alternative is MIME-RPC
MIME-RPC is a protocol for applications written in different languages and on different platforms to communicate with each other using a public standards:
Notes on SOAP vs MIME-RPC:
Is it Evil? (Score:1)
Well duh! (Score:1)
Use some helper code (Score:4, Informative)
Re:Use some helper code (Score:1)
Client client = new XMLRPCClient("host", "userid", "passwd");
client.doStuff();
Abstract all the underlying protocol stuff behind that Client interface and your code will be much easier to read and understand...
Tom