"Don't Make Me Think" may be a fine motto for user interface design. Unfortunately, this seems to be the preference of developers promoting the SOAP/WSDL/IDE approach. As Mark Baker points out, the result is not an architecture based on principles. The choice appears to be driven by convenience. A C# or java programmer can point and click their way to non-interoperable code generation almost without thinking.
Look around the net for the architecture principles for SOAP/WSDL. Then look around for HTTP/POX. It's like night and day. Maybe an architecture isn't required if all you need to do is point and click within a single IDE and toolkit.
From what I can tell the problem with interop is:
- The SOAP/WSDL solution space is big, far bigger than HTTP.
- Each vendor seems to be in it for their own benefit rather than the benefit of the whole.
Simple dynamic programming languages and simple dynamic coordination languages are winning. Vendors will have to differentiate themselves on something more than wizards that mask complexity.