Get thee behind me, angle brackets!
Clemens Vasters recently ignited a minor storm in the blog world when he
casually mentioned his belief that "XML
is ugly and angle brackets are for plumbers. Unless you have a good reason to do
so, you shouldn’t have to look at WSDL". He went on to suggest that using
high-level tools such as C# and Indigo could free you from having to ever look
at the low-level goo of WSDL and XSD and all the numerous WS-*
A number of prominent folks from the Web services community
responded to this notion with Shock and Horror. Tim Ewald, for instance,
Remember that WSDL/XSD/Policy is the contract, period. Any other view of your
contract is just an illusion. (though he does say you can let your tool
write those files, so long as you know "what it's doing to your real contract").
Skonnard suggests that you can't let the tools generate the low-level
contract files because the tools do a cruddy job.
I've got to say I'm with Clemens on this one. If the tools don't generate the
WSDL you want for your world of multi-vendor interoperability, fix the tools or
build better tools. Don't claim that we must all continue to write XML by hand
simply because the current crop of tools don't fit your notions of what the
final XML product should look like.
I think there's a wider issue here too, one that goes far beyond Web services
and WSDL (which, despite what you might think from reading the buzz about them,
most developers probably don't care about at all). There's a persistent pattern
of interactions among developers wherein more experienced developers tell less
experienced developers that new tools are not needed (or that they're actively
harmful), and that they way they've always done it is good enough. Consider the
dismissal of Visual Basic as a toy language, even though many successful line of
business applications have been built in VB. Consider the continuing tension
between those who program in IDEs and those who say that anything more than a
text editor wastes CPU cycles.
I don't pretend to know quite what's going on here. Some of it is probably
innate conservativism and an unwillingness to learn new things, which most of us
fall prey to as we age. Some of it is probably the equivalent of "real men don't
eat quiche", translated to a culture in which real men subsist on pizza and
poorly-brewed coffee. But whatever the cause, I do wish people wouldn't be so
quick to dismiss the possibility of tools taking the drudgery out of software
development. Personally, if I never have to peer at an angle bracket again, I'll
be just as happy.
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.