“Code First” Web Services Reconsidered is an article out on InfoQ and there have been different responses and comments about it.
First, a disclaimer – I am not a fan of WSDL because of its focus on “operations”, give me SSDL instead. Having said that, the reason why you don’t want to do “code first” is because folks start creating operations such as “placeOrder” on a service i.e. they think “methods” instead of “messages” and then everything falls apart.
This is not to say that we can’t do the exact same thing with WSDL ( after all it is operation-based), but if we think contract (message) first, then we may just come to the realization that we are exchanging messages and not calling methods and that’s the beginning of an epiphany!
It’s all in the mind….