In places that have Parliamentary systems, the majority party (or parties) form the Government, and the rest form the Opposition. In constitutional monarchies the jargon is “Her Majesty’s Loyal Opposition.” The idea is, they Oppose the Government but are Loyal in that they promise not to lead a mob with pitchforks to string them up; and they stand ready to provide an alternative. When it comes to Web Services, that’s what I’d like to be: the loyal opposition.
WS-Transfer, WS-Enumeration · What happened was, someone on an internal mailing list pointed to this, noting that Transfer and Enumeration are new things. His commentary:
WS-Transfer is basically HTTP (GET, PUT, POST, DELETE) using SOAP, i.e. HTTP over SOAP rather than the more usual SOAP over HTTP. (Really - it isn’t April 1st ;-))
My initial reaction, I admit, was sarcastic, along the lines of “Since the thousands of pages of incomprehensible WS-* specifications are so far failing to take over the world of enterprise applications, what’s clearly required is a few more hundred pages.”
But then I got nervous.
Not Stupid · Here’s the problem: the people writing these WS-things aren’t stupid. In particular, Don Box isn’t stupid. And I’m starting to see names of people here at Sun pop up as WS-coauthors; people who aren’t stupid.
Furthermore, when I snarled about WS-Transfer on that internal mailing list, Bill Smith, who’s not stupid at all, piped up and said “Well, I hear that XXX thinks that this stuff is going to be important for what they’re doing in YYY”, where XXX is the name of a Sun VIP who’s totally not stupid and YYY is his group, one that’s really important to our plans.
I Still Don’t Buy It · No matter how hard I try, I still think the WS-* stack is bloated, opaque, and insanely complex. I think it’s going to be hard to understand, hard to implement, hard to interoperate, and hard to secure.
I look at Google and Amazon and EBay and Salesforce and see them doing tens of millions of transactions a day involving pumping XML back and forth over HTTP, and I can’t help noticing that they don’t seem to need much WS-apparatus.
I’m deeply suspicious of “standards” built by committees in advance of industry experience, and I’m deeply suspicious of Microsoft and IBM, and I’m deeply suspicious of multiple layers of abstraction that try to get between me and the messages full of angle-bracketed text that I push around to get work done.
Loyally Opposing · So here’s what I’m going to do. I’m going to stay out of the way and watch the WS-visionaries and WS-dreamers and WS-evangelists go ahead and WS-build their WS-future. Because I’ve been wrong before, and maybe they’ll come up with something that WS-works and people want to WS-use. And if they do that, I’ll stand up and say “I was WS-wrong.”
In the meantime, I’m going to be talking to those other people I mentioned; the ones who are actually doing what feels to me like Web Services today, and I’ll try to see if there are some shared lessons and shared frameworks and shared architectures that emerge, and should be captured and documented.
And if my bad dreams come true, and it all turns into a big WS-Snafu, well, we’ll have a Plan B. And anyhow, it’s worth doing even if they’re WS-right.