It's about the schema, stupid!

One of my big realizations has been that Contract-first is not about the WSDL it's about the schema. CWeyer's tool generates a WSDL, but the value of the tool is that it allows you to stich together the schema for the data/messages that you have created.

A lot of customers today spend most of their time developing the schema for their data/messages and never even see or edit the WSDL. They simply use the XSD to generate the serializable classes that correspond to the schema they have defined and then stich them together using ASMX, WCF, etc. The WSDL is simply generated for them at runtime. This is a lot simpler than creating a WSDL upfront with the XSD and then using it to generate the implementation. In my view, this is not WSDL first, but it is Schema first. It is, however, still Contract-first design.

The big question I keep asking myself is if they have better WSDL tooling would they create the WSDL first? Or are people really just asking for better tooling (read integration) around the serializable classes generated from the XSD?