|
Hi, Simon!
Excellent post, and one that to a great extent compromises my avowed statement not to gloat when the web services hype bubble collapsed around us.
SOAP (and WSDL and UDDI) emerged out of three main priorities:
- Salvaging the diminishing returns that certain companies had in trying to get DCOM working across disparate platforms and networks,
- Bypassing the "difficulty" that application developers had in getting their apps to work past port 80 firewalls (which were put up in order to keep developers from getting past port 80 firewalls in the first place), and
- Pushing the model of centralized servers as giant object classes in which anonymous people would get their daily dose of advertising, read company phone directories, and bypass protections set on databases.
For some bizarre reason, Web Services didn't quite work out that way. Web Services are cool for handling asynchronous messaging architectures - there's enough useful information contained within the headers for that - but as mechanisms for RPCs, they are usually overkill backage at best, adding significantly to transaction and processing costs and complexifying application development as a process.
XML is more than just a convenient envelope; RESTful systems where state is encoded within the messages actually DO work better in a distributed network, surprise surprise. Autonomous interface discovery is a cool concept when designed right, but WSDL is complex enough to make a guru master's head spin, and unfortunately still doesn't have enough semantics to be useful at the level it needs to be.
I knew web services were in trouble when I applied the Use Case test to it: put together a selection of use cases to illustrate how it is superior to existing restful situations.
For some reason, what I found was that synchronous web services seem to work best only with highly volatile, reasonably large data structures that still required a great deal of parameterization - in layman's terms, stock quotes and weather forecasts. Outside of that realm, people have had to really stretch to find useful places for SOAP, and the resultant performance hit has often driven them either back to a more RESTful form, or has driven them back into the realm of COM or CORBA.
Ten years from now, we'll be slinging our XML around using the open standards that are just coming to fruition now, and the WS-* "standards" will show up, spoken in snickering tones by a Septagenarian Alex Trebeck, in the $1000 column of Jeopardy. Just my two cents worth.
-- Kurt Cagle
|