Dave's SOAP Journal, part 1
Where we're at with SOAP interop..
Imho, it's going to take a miracle and a lot of compromise for SOAP to coalesce into a single protocol that interops. We've never really gotten a clear picture of how Microsoft is using it, and they have not gotten a clear picture of how we're using it. It's starting to get clearer. They don't use "RPC" style communication, but it's the only kind of communication we know. I don't understand what else there is, the disconnect is so big.
Adding to the confusion, Microsoft and IBM, apparently thinking it was solely up to them to decide what SOAP is, added a complex layer called WSDL, in private, without consulting anyone I know, and both are insisting it is somehow related to the base layer for interop. To be fair, some independent developers agree with them. I have no interest in spending months writing code to support something whose benefits are so vague. On the other hand, when I ask that they support XML-RPC syntax, they say they don't have the resources.
Anyway, today, there is no single thing called SOAP, when you look at reality there are lots of things people call SOAP, and they don't work together. Now maybe that will change, I hope so, but that's where we are right now.
BTW, this is a loop for me. In the old days before the Internet we tried playing this game with Microsoft and Apple on the Mac. They would always cut the deck 26 cards for Microsoft, 26 cards for Apple, and we'd always end up saying "Whoooa, where are our cards?" I learned then that the gorillas appear to be saying they're doing things that they're not doing and vice versa. There's always a moment of surprise when you find out that assuming the worst was the right way to think. But back then I didn't have a website to document this stuff, and I didn't have "XML-RPC" as a great insurance policy against this kind of misbehavior. All they can do is screw SOAP, they can't screw the independent developers if we act in our own interests.
The road to completion is infinite when you play the gorilla's game. You'll always still need to do One More Thing to be cool. And when you do it, they'll break the deal anyway. Claude Bullard got it right yesterday, "Thou shalt not deploy anything that has not been deployed before you deploy except if said deployment shall slow the deployment of the fastest among you."
Playing the gorilla's game you can't be first. They always get to be first, no matter what.
Now some of the developers involved in SOAP shrug their shoulders and accept the dominance of the gorillas as "reality". It's not reality. Don't believe it. These are struggling companies with no philosophy. It might be possible to make a few bucks doing what they want you to do, but in the end it's a losing strategy.
XML-RPC did not go away, even though they would like to believe it did. Interop is not an elusive thing, it's here now. Just cut bait and switch gears and work with other developers, as Benjamin Franklin observed "We must all hang together, or assuredly we shall all hang separately."
So what's the take-away on this? I'm still working on interop in SOAP. I will not do WSDL. We will do RPC with SOAP, using SOAP syntax as we use XML-RPC syntax. Let's interop at that level. And if there's noise from the BigCo's that somehow this isn't enough, remember that they have infinite time and infinite money and we have neither.