[PJUG Javamail] SOAP or REST?

Howard Abrams howard.abrams at gmail.com
Thu Mar 19 00:07:58 EST 2009


Let me add my 3 cents.

Web services is all about loosely coupling services/components, and  
the *interface* really depends on your customer's demands.

I've found that the biggest advantage of SOAP is the tool automation  
and the maturity in that arena. Once you have built your WSDL (the  
equivalent REST version isn't done yet), other tools can look at it  
and easily connect to it. However, as has been already mentioned,  
these tools are typically in the "Enterprise" space, and come with  
"Enterprise" price tags. If you have Enterprise clients as your  
customer, you may want to choose SOAP.

Since RESTful interfaces are easier to *program* against, most  
programmers will prefer REST over SOAP. REST generally makes the most  
sense when you can control both the client and the server.


On Mar 18, 2009, at 7:17 PM, Nimret Sandhu wrote:

> On Wednesday 18 March 2009 04:31:53 pm Bill Jackson wrote:
>> Yes, absolutely.  (I have never used these words before, but please
>> remember this is my opinion and not necessarily my employer's.)   
>> REST is
>> self-contained, dead simple to use, and its descriptive URLs are a  
>> thing of
>> beauty; IMHO, it is a no-brainer in cases where the complexity and  
>> overhead
>> of SOAP make no sense.
>
> to elaborate on the 'descriptive URLs' observation here, REST  
> provides a more
> OO style RPC api while SOAP is more of a flat procedural style RPC  
> interface.
> Eg: http://www.xfront.com/REST-Web-Services.html
>
> REST uses HTTP specifically while SOAP is supposed to be protocol  
> agnostic (
> eg SOAP over SMTP).
>
> SOAP is also more of an enterprise industry 'standard' so you may  
> find more
> support for it in enterprise products which you might want to be
> interoperable with or provide interoperability for. REST appears to  
> be more
> prevalent in the world wild web ( pun intended :) and not so much  
> within
> products per se.
>
> SOAP is built on top of XML ( request + response) while REST  
> responses can be
> XML, JSON, binary data, whatever. Yeah, SOAP can also return those  
> data types
> but you have the additional overhead of binding those to XML (
> de+serialization).
>
> As someone already recommended, I used ApacheCXF at my last job to  
> implement
> both a SOAP and a REST interface. I used the JAX-WS spec to create the
> services which should allow switchable implementations with deployment
> changes only ( theoretically :)
>
> Note that a browser fetching resources from the World Wild Web is an  
> example
> of RESTful architecture.
>
> regards -
> -- 
> Nimret Sandhu
> http://www.nimret.com
> http://www.nimsoft.biz
> _______________________________________________
> Web Site - http://www.pjug.org/
> Javamail mailing list
> Javamail at pjug.org
> http://www.pjug.org/mailman/listinfo/javamail



More information about the Javamail mailing list