CR Comment on WSDL Version 2, part 2: Adjuncts

I would like to make a CR comment regarding the Adjuncts document  
<http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060106>. I am CC:ing  
the TAG, as custodians of the Web Architecture document.

The WSDL Adjuncts includes a "HTTP Binding" in section six. While the  
binding developed by the group is much better than previous WSDL- 
based efforts, I am very concerned that it still may harm the Web.

In particular;

* There is little HTTP expertise in the Working Group; it is composed  
primarily of Members whose interest is in enterprise messaging, not  
Web-scale systems. Individual Participants have expressed interest,  
but often don't have the full support of their Members (see next point).

* There are few (if any?) implementations of section six.

* The Working Group has not seriously explored the space of use cases  
for HTTP/Web description; there are no Web-centric use cases in their  
Scenarios document <http://www.w3.org/TR/ws-desc-usecases/>. This  
reflects the RPC/SOA focus of WG Members.

* The requirements, use cases and usage scenarios for Web description  
-- even outside the WSDL WG -- are still poorly understood.

* It is not at all clear that a format optimised describing RPC and  
SOA services is also appropriate for describing Web resources. WSDL  
has a many-operations, few-services bias; the Web is about a  
constrained number of operations (methods) over a large number of  
services (resources). As such, while it may be technically possible  
to express many Web idioms in WSDL, it will not be easy to do so,  
because WSDL is designed to encourage good RPC and SOA practice, not  
good practice on the Web (as documented by the Architecture of the  
World Wide Web). This is because the Web (or REST, if you must) is  
based on a completely different abstraction; stateful resources, not  
messaging.

* Even a cursory glance through section six shows a number of places  
where WSDL is mis-aligned with HTTP and the Web; a few (and this is  
by no means a complete list) include;

- Section 6.4 betrays a lack of understanding of how HTTP versioning  
works; there is no good reason to put this information in a  
description. See RFC2145.

- Section 6.6 constrains the data model of HTTP header field-values  
to XML Schema simple types. This is an unnecessary and crippling  
restriction; while those who are looking at the Web through a Web  
Services toolkit may not mind, it's bad for the rest of the Web.

- Section 6.6.6 puts all HTTP headers in a WSDL-specific namespace,  
thereby fracturing it from other efforts to uniquely identify HTTP  
headers.

* Section 6.9 specifies a mechanism for advertising transfer coding  
support, even though this is a hop-by-hop and dynamically negotiated  
facility. If an intermediary is interposed, this information will  
become useless and potentially harmful.

- Section 6.10 encourages the use of cookies, which makes HTTP  
interactions stateful, thereby losing substantial benefits of the Web.

* Section six fails to take into account more complete and mature  
efforts surrounding HTTP, such as WebDAV (e.g., the property model,  
WebDAV ACLs, collections), making it difficult to accommodate this  
work later.

Section six may very well be still-born; there are few (if any?)  
implementations, and already there are several Web-specific  
description format proposals available (many authored by WG  
participants themselves!). However, it still concerns me, because I  
have seen a few instances where well-meaning architects reference it,  
assuming that a W3C Recommendation-to-be is of high quality and will  
be widely implemented.

My concern is that a W3C Recommendation that purports to describe the  
Web may gain momentum because of its status alone. It may make  
development and deployment of a Web-friendly description format in  
the future more difficult. It may constrain the development of new  
(and the deployment of existing) Web capabilities and specifications  
("You can't do that; it doesn't fit into WSDL well."). These risks,  
in my judgement, are not outweighed by the benefits of section six,  
especially considering the low level of interest in it.

Generally, it would also be a shame if the W3C -- an organisation  
dedicated to "Leading the Web to its full potential" -- were to  
Recommend something so unsuited to the Web. I realise that some  
Participants in the Working Group have spent considerable time on  
this part of WSDL, and I don't mean to diminish their contribution.  
However, that effort is sunk cost, and decisions must be based upon  
future value, not past effort.

Therefore, I request that section six be deleted from the Adjuncts  
document.

Kind regards,

--
Mark Nottingham     http://www.mnot.net/

Received on Tuesday, 14 February 2006 16:11:56 UTC