[Update: a nice analogy from Jon Udell, and a thoughtful response from Tim Bray.] WSDL is too abstract to be useful, according to both Tim Bray and Norm Walsh (and for what it’s worth, I agree with them). Tim and Norm both propose much simpler alternatives — hardly surprising from two brilliant guys who helped design so much of what actually works in the XML world — but I think they might be going about things the wrong way this time.
How many developers do you know who complain about working nights and weekends manually entering connection information for thousands of publicly available web services? Given that there are, at most, a few dozen sites offering web services over the public web (and that’s web services in the most general sense, including REST as well as SOAP), I’ll guess that the answer is “zero”.
So here’s my suggestion: let’s hold off on designing new specifications until there’s a real problem to solve. If online services continue to grow, some day my hypothetical overworked developers will emerge. When we find them, we can go and ask them what they need to make their lives easier, and then write a specification that does the simplest thing that can possibly work to solve their problem, and no more. Perhaps they’ll need all the abstraction of WSDL (though I’m dubious); perhaps they’ll need something with a message-passing focus like Tim’s SMEX-D, or something with an RPC-focus like Norm’s NSDL; perhaps they’ll need all of those, or something that none of us has thought of yet.
Update 2: Tim Bray has updated his posting with a well-thought-out defense of WSDL’s role (though not WSDL itself).