Simon Fell > Its just code > My Take on WSDL

Saturday, January 13, 2001

Following up on my earlier description of what WSDL is, here's my take on it as a SOAP / WSDL implementor

The information / services that WSDL is aimed at is important, if web services are going to be easy to develop / use then something like WSDL has to exist

The main is issue is that its complex, its inheritenly tied to XML Schema, even if not entirely mandated by the WSDL spec. XML Schema is complex (just see how many validating parsers you can find if you want an idea of how complex it is). As Dave points out, the WSDL spec is not as clear as it could be, there are currently major inter-op issues with WSDL, more than there were with the early implementations of SOAP.

XML Schema is still in its infancy, its only a Candidate Recomendation, the toolsets available for XML Schema today are very thin on the ground. Most of the existing XML toolsets are not ready to deal with the structure that XML Schema uses (look at how difficult it is to manage QNames that are values not elements or attributes in XPath or XSLT)

In attempt to see it it could be simplified within the bounds of WSDL, I've been investigating some of the schema and validation languages (such as Trex, relax, schematron) that appeared because of the lack of timeliness and the complexity of XML Schema's, with a view to using one of them inside the existing WSDL structure (WSDL doesn't mandate XML Schema's, its just the de facto standard). However in looking at that, i've noticed that because they are targeted at validation, they're all still too complex for what WSDL needs.

But the SOAP type system is XML Schema, so even if you arrive at a simpler way to define the various things, you still need to be able to map them to XML Schema, in which case i'm not sure its actually any simpler, rather that the pieces have just been shuffled around.

If WSDL in its current form continues to be the only way to manage metadata about web services, then the future for current SOAP comunity looks bleak. I'm convinced at this point that a full SOAP + WSDL implementation is a complex / large enough task that only the big boys will be able to pull it off. Even the Microsoft folks from the toolkit 2.0 team have been surprised by the complexity (this is from discussions on the WSDL list). The only outcome i see is that Microsoft and / or IBM are just going to steam roller the existing SOAP comunity into nothing.