Hi Eric,
On Jun 7, 2007, at 7:17 PM, Eric Newcomer wrote:
> What's frustrating are statements like "Web services have no value"
> or "Web services are just RPCs with angle brackets" that are not
> fair descriptions, especially from folks who participated in the
> Workshop in which every effort was made to accomodate the various
> viewpoints and have a balanced discussion. I thought we had
> achieved something there - acknowledging the pros and cons of both
> approaches and getting past the oversimplifications and
> overstatements - so it is discouraging to see it continue. That's
> all.
I honestly would like to see the pros and cons of WS-* and REST
discussed. I don't believe we have, so far - on this list, the
recurring theme is that somebody either (a) points out that REST is
better or (b) REST is not suitable for machine-to-machine
communication. [I'm guilty of (a), although I have a clear conscience
about it :-) ] But I can't recall much serious discussion about the
benefits WS-* has over REST.
So, considering the benefits of SOAP/WSDL/WS-*, I can see them fall
into two categories:
Political (or "soft") factors: Reasons in this category are based on
the acceptance of WS-* among vendors, analysts, and because of this,
among end-users. I know from personal experience that (at least
currently) it's much harder for a consultant to convince a client to
use HTTP in a RESTful way instead of Web services, since Web
services is all they ever hear about. This might mean that it's
easier to get them to adopt the WS-* architecture, which may be a
significant step forward for them. Let's just assume that in many
cases, the "you will not be fired for choosing WS-*" attitude is a
good enough reason.
Technical (or architectural) factors: Politics aside, you seem to
believe, no: you consider it _obvious_ that there are situations
where WS-* is superior to REST from an architectural or technical
point of view. What are those? I'll make some guesses (note that
these don't reflect my opinions)
(1) WS-* is "protocol independent", while REST (in all practical
relevance) is tied to HTTP.
(2) The WS-* specs address "enterprise" concerns that REST/HTTP can't
handle
(3) It's much easier to expose an existing system that has a
"transactional" interface (in the TP monitor sense) via WS-* than via
REST, since the latter requires a real architectural change and the
former doesn't
Are there any other benefits that WSDL/SOAP/WS-* is claimed to have
over REST/HTTP?
For the record, I believe that (1) is an illusion since the HTTP
protocol is just replaced with a different protocol, one that has no
or at least a much worse design, and the protocol independence is an
extremely leaky abstraction in real applications anyway; regarding
(2), the specs that do address enterprise concerns are not yet widely
adopted anyway and in many cases address something that doesn't
belong in the infrastructure layer anyway. I do believe that (3) is a
valid point.
Best regards,
Stefan
--
Stefan Tilkov, http://www.innoq.com/blog/st/