The most common approach to web services development is to start from code, and generate an XML Schema and WSDL definition. Most web service advocates consider this “wrong”, the reason being that this often leads to interoperability problems and a very tight couping between implementation and interface artifacts. Instead, they argue one should start with a WSDL file, and then generate implementation code – possibly for different consumer and provider frameworks.
In a new InfoQ article, Dennis Sosnoski questions this conventional wisdom, and explains that most of the problems with the code-first (or “start-from-code approach, as he calls it) are rooted in the first generation tooling. He shows how the JiBX framework can be used to practice start-from-code development without incurring the disadvantages, specifically without coupling implementation and interface too tightly.