[PJUG Javamail] SOAP or REST?

Kent Spaulding kent at iotabits.com
Thu Mar 19 10:39:44 EST 2009


I wish I could remember the source, but it's lore that WS*, including  
WSDL, has been designed to *require* tools - boosting software revenue.

Cynical, I know.

Given a choice (i.e. you control the client and server), use a RESTful  
architecture.  That may or may not use SOAP; however, it's important  
to recall that http is an application layer protocol, despite the fact  
that, given firewalls and proxies, it's commonly used as a transport  
protocol.  SOAP treats http as a transport protocol, but it seems to  
best to use http as intended - so RESTful, without SOAP.

--Kent

On Mar 19, 2009, at 8:10 AM, Brian Mason wrote:

> I have been out of the web service market for about 3 years, but if I
> remember right, WSDL was a pretty BAD interface definition format.
> There were 4 different variations on calling convention and parameter
> packaging and you had to get the right combination to support the
> expensive tools.  I think there was one combination that would work
> for .net and the WSDL compiler from JEE.
> Is this still the case?
>
> Brian.
>
> On Wed, Mar 18, 2009 at 10:07 PM, Howard Abrams <howard.abrams at gmail.com 
> > wrote:
>> 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
>>
>> _______________________________________________
>> Web Site - http://www.pjug.org/
>> Javamail mailing list
>> Javamail at pjug.org
>> http://www.pjug.org/mailman/listinfo/javamail
>>
> _______________________________________________
> 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