The Tool Vendor's Dilemma
Bill de hÓra describes the integrator’s dilemma (also
known as, WS-* vs. REST
).
If dirt simple equates to good growth and better profits, then the missed opportunity arises when simple and simplistic are conflated. When the WS contingent are looking at the REST and syndication crowd and saying more or less, ‘here’s a nickel kid’, they may want to stop and take a second look at what the kid is doing with that nickel.
I thought that was great. I suggest reading the whole piece. Bill’s super smart.
The WS-* vs. REST thing is starting to heat up again due largely to James Governer’s SOAP is boring, wake up Big Vendors or get niched piece last week. This led to the discussion at the beginning of Bill’s post on whether Microsoft is ignoring developer demand for REST tools. I have a sinister theory on this (but not MS in particular) that I’ve been hanging on to for a while so let’s just have at it. Bill has provided the voice of reason and I don’t have anything to add so I’ll just follow up with some good old fashioned religious rambling.
Pop quiz! You’re a tool vendor such as Microsoft, IBM, BEA, or many of the other members of the WS-I. That is, you extract significant revenue from the tools market. Which of the following two scenarios do you prefer?
-
WS-*: Complex specifications that require new modeling tools, code generators, IDEs, language integration, and libraries.
-
REST: Stable set of existing and mostly free tools (HTTP servers, HTTP clients, XML parsers [if needed]) - all available today in application and component form, in great variety, and with decent interoperability.
I won’t insult your business intelligence by stating the answer.
Asking tool vendors to dictate architecture generally results in architectures that require new and expensive tools. Maybe we should be asking the people that have experience building solutions to create architectures instead? For extra credit, go look at the members of the WS-I. Where’s Amazon? What about eBay? Google?
I’m in a foul mood today so let’s just keep piling it on… I’d like to
point out that different implementations of the basic technologies most
often used in implementing the REST architecture style (HTTP, URIs, XML)
have fairly large and annoying gaps in interoperability and these
specifications have been around for a pretty long time now (XML is the
youngest of the technologies and just turned 7 years old while HTTP/URIs
have been around for at least 15 years). Based on that information,
in what universe is it acceptable to expect another 783 pages (or 1352 depending on who you ask) of specification will somehow be interoperable
in any kind of acceptable time-frame?
Stop the madness! Start building real web services today using proven Web Architecture.