In a recent post entitled Replacing WSDL, Twice  Tim Bray writes

Lets make three assumptions: First, that Web Services are important. Second, that to make Web Services useful, you need some sort of declaration mechanism. Third, that WSDL and WSDL 2, despite being the work of really smart people, are so complex and abstract that they have unacceptably poor ease-of-use. What then? Naturally, the mind turns to a smaller, simpler successor, sacrificing generality and eschewing abstraction; in exactly the same way that XML was a successor for SGML. Well anyhow, thats the direction my mind turned. So did Norm Walshs; his proposal for NSDL also includes a helpful explanation of why Web-Service description is important. My sketch is called SMEX-D.

Although the XML geek in me wants this blog post to be a critical analysis of NSDL and SMEX-D, I think a more valuable discussion is questioning the premise behind Tim Bray's post. I agree with his first assumption; web services are important. I also agree with his third assumption that the various flavors of WSDL are too abstract and complex to be of easily useful. More importantly, most of the interoperability problems in the XML Web Service space are usually the fault of WSDL and the XSD type system which it depends on.

However I happen to disagree with his second premise; for Web Services to be useful you need some sort of declaration mechanism. Just to contradict by example, I can point to a wide number of web services such as the Yahoo! Search web services, Flickr web services, del.icio.us web services, 43 Things web services, Bloglines web services and every web site that provides an RSS feed as examples of useful web services that don't use some sort of declarative mechanism to describe the services.

Before deciding to reinvent WSDL, people like Tim Bray and Norm Walsh should ask themselves what purpose a description language like WSDL serves. This is exactly what Mark Nottingham does in his post Questions Leading to a Web Description Format where he writes

A while back, I published a series of entries ( 1 , 2 , 3 , 4 ) about would-be Web Description Formats, with the intent of figuring out which (if any) is suitable, or whether a new one is required.
...

As I said, Ive talked about specific use cases for a Web description format before, but to recap, the big ones are:

Code Generation Its very useful to start with a description of the site, and then code by filling in the blanks. In the Web services world, this is referred to as coding to the contract or contract-first development, and it makes a lot of sense (although I think contract is needlessly legalistic, and misleading too; it implies a closed world, when in reality a description is very open, in that its always subject to additional information being discovered).

A couple of ways that this might manifest is through stub and skeleton generation, and auto-completion and other whizz-bang hinting in tools. Wouldnt it be nice for Eclipse to give you a drop-down of the valid URIs that will give you a certain type when youre coding?

...

Dynamic Configuration Ive complained about the poor state of Web server configuration before, so Ill spare you a repeat of the full polemic. A proper description format would be one mechanism to allow more transparent configuration of servers, and better use of the Web (and HTTP).

...

Application Modeling and Visualisation Finally, theres a considerable amount of value in having a standard representation (thats intentional, folks) of a sites layout and configuration; you can discuss it with peers, evolve it over time in a manner thats independent to the implementation, develop tools to manipulate and visualise it, and so forth.

Looking at this list of benefits of having a description language for web services, I don't see anything that leaps out to me as being a must have. Being able to generate skeleton code from an XML description of a web service is nice but isn't a showstopper. And in the past, the assumptions caused by such toolkits has led to interoperability problems so I'm not enthusiastic about code generation being a good justification for anything in this area.

The dynamic configuration bit is interesting but it is unlikely that we will come up with a description language generic enough to unify formats as diverse as RDDL, RSD, P3P, WSDL, etc that won't be too complex or too simple to be useful.

As for application modelling and visualization, I'm not sure why we need an XML format for that. If someone decides to come up with a dialect of UML for describing web services there doesn't need to be a reason for it to have an XML serialization format except for code generation which as previously stated isn't such a great idea anyway.

For me the question isn't whether we should replace WSDL but rather whether we even needed it in the first place.


 

Categories: XML Web Services
Tracked by:
"Web Service Description Languages: When There is Nothing Left To Take Away" (Di... [Trackback]
"Web Service Description Languages: When There is Nothing Left To Take Away" (Di... [Trackback]
"Test" (Sphere of Influence) [Trackback]
"Any viable service registry should have UDDI as its foundation. " (James Govern... [Trackback]
"modesto estreme" (modesto estreme) [Trackback]
"march 1976 playboy" (march 1976 playboy) [Trackback]
"teen" (teen) [Trackback]
"revlon" (revlon) [Trackback]
"big butt tight jeans" (big butt tight jeans) [Trackback]
"sesso in macchina" (sesso in macchina) [Trackback]
"figc cru" (figc cru) [Trackback]
"lesbian fondling teens" (lesbian fondling teens) [Trackback]
"musica mp3 gratis" (musica mp3 gratis) [Trackback]
"posizione fare amore" (posizione fare amore) [Trackback]
"sleeping upskirt" (sleeping upskirt) [Trackback]
"rich bitch hates blackmen" (rich bitch hates blackmen) [Trackback]
"grandezza orgia a 3" (grandezza orgia a 3) [Trackback]
"boca raton beach hotels" (boca raton beach hotels) [Trackback]
"erotic dating sims" (erotic dating sims) [Trackback]
"massage therapy schools in citrus heights" (massage therapy schools in citrus h... [Trackback]
"wild college girls flashing" (wild college girls flashing) [Trackback]
"legge fallimentare" (legge fallimentare) [Trackback]
"bello fighette fotti" (bello fighette fotti) [Trackback]
"lee ryan" (lee ryan) [Trackback]
"arredamento negozi abbigliamento" (arredamento negozi abbigliamento) [Trackback]
"megatettone" (megatettone) [Trackback]
"ore boat canadian challenger" (ore boat canadian challenger) [Trackback]
"prenotazione vacanza" (prenotazione vacanza) [Trackback]
"controllo di gestione" (controllo di gestione) [Trackback]
"amateur multiple facial shots" (amateur multiple facial shots) [Trackback]
"xxx audition" (xxx audition) [Trackback]
"dirty hip hop images" (dirty hip hop images) [Trackback]
"female athletes posing" (female athletes posing) [Trackback]
"elk grove herald march 6%2c 2006" (elk grove herald march 6%2c 2006) [Trackback]
"hot bitches big asses tits" (hot bitches big asses tits) [Trackback]
"computer grafica" (computer grafica) [Trackback]
"sindrome" (sindrome) [Trackback]

Friday, 06 May 2005 02:53:57 (GMT Daylight Time, UTC+01:00)
Dare,

I should like to draw your attention to SSDL (SOAP Service Description Language). See: http://ssdl.org

Jim
Friday, 06 May 2005 17:00:45 (GMT Daylight Time, UTC+01:00)
"However I happen to disagree with his second premise; for Web Services to be useful you need some sort of declaration mechanism."

Great post. That nails it for me.

Code Generation: I wouldn't underestimate the desire for this; agree it's a nice to have, but there's seems to be limitless appetite for no-code approaches.
Friday, 06 May 2005 21:17:03 (GMT Daylight Time, UTC+01:00)
My biggest fear is that a description format will constrain what people are doing..

This is already apparent in Web Services with WSDL; lots of people think of WSDL as a closed world, where the service can't do anything that isn't described. Toolkits are written around the conventions in WSDL.

Now, imagine the same on the Web -- if there's a limited-capability description format, people will mould their minds and their expectations to it, and toolkits won't go beyond that. If description format doesn't accommodate content negotiation, in many people's minds, conneg just plain isn't allowed.

And that would be a loss for everyone. The challenge is coming up with a description format that encompasses the richness of the Web (or at least hits the 80% point) -- and that's no small order.

So, I agree -- there are lots of "nice to haves" with a Web description format, but there are also risks.
Sunday, 08 May 2005 05:51:34 (GMT Daylight Time, UTC+01:00)
I think you're being awfully selective in your examples here. I think for simple web services like flickr, delicious, bloglines, etc it may not matter. But I think for the amazon or ebay apis, wsdl greatly simplifies usage. They both have REST apis that are used a lot as well, but I would guess that the people who are making extensive use of the api are doing so using SOAP/WSDL.
Sunday, 08 May 2005 10:25:19 (GMT Daylight Time, UTC+01:00)
Dan,
It is common knowledge that Amazon has REST and SOAP API but gets a majority of their traffic over their REST APIs. Jeff Barr of Amazon gave a talk a number of months ago that pointed out that 80 percent of their API traffic is over their REST APIs.

WSDL is a crutch for developers who refuse to embrace XML and the Web but instead pretend that Web services are like every other distributed object technology that came before like DCOM/CORBA/etc,
Comments are closed.