WSDL 2.0 and operation safety (CR021)

Dear TAG:

 

Long long ago, and far far away, (March 2004 in Cannes to be precise) the WS
Description WG discussed annotations for operation safety with the TAG [1].
As part of the resolution of that issue the TAG asked us to monitor
operation safety through the implementation phase of WSDL 2.0 [2].

 

WSDL 2.0 is exiting our CR phase, and despite a last-minute question [3]
about how safety should be factored between WSDL 2.0 and SAWSDL, we have
decided to leave the status quo alone.  This status quo includes:

1.	An optional extension attribute (wsdlx:safe="true | false") [4] that
allows authors to mark whether an operation is known to be safe or not at
the abstract level.
2.	A WSDL 2.0 component model property that reflects the value of the
wsdlx:safe attribute.  When this extension is supported, and the wsdlx:safe
attribute is missing, the property defaults to "false", meaning "safety is
unknown."
3.	A dependency upon this optional extension from the (also optional)
HTTP binding [5], in which the HTTP method, if not set explicitly by the
whttp:method or whttp:methodDefault attributes, defaults to GET on known
safe operations (POST otherwise) [6].

 

The implementation status on which you expressed interest is as follows:

1.	The WSDL 2.0 test suite [7] includes 5 good tests, as well as a
number of bad ones, that indicate operation safety.  Of these tests two
[MessageTest-3G and MessageTest-4G] test message-level interop of the HTTP
binding including the wsdlx:safe annotation and various explicit HTTP verbs.
2.	The three participating implementations (Woden, Canon, WSDL-XSLT)
that parse WSDL documents and expose the component model all support the
wsdlx:safe extension and report the same results for the component model [8]
for each of the five good testcases.
3.	The two participating message-exchanging implementations that
consume the WSDL 2.0 component model and use it to craft messages using the
HTTP Binding interoperate on each of the operations which depend upon the
wsdlx:safe annotation.

 

The WS Description WG therefore feels that the wsdlx:safe annotation has
been successfully implemented at the mechanical level, and that there is
sufficient implementer and user interest in safety to make this extension
relevant to WSDL 2.0 users.  We've therefore closed the CR issue [9] we kept
open to track this.

 

The more important question though probably is whether the safety annotation
will gain traction with users.  Unfortunately, WSDL 2.0 is not currently
blessed with an over-abundance of implementations, and data on how WSDL 2.0
will be supported broadly in tooling is incomplete, including how safety
might be exposed to users through those tools.  We have no evidence that
support for safety will be lacking, but neither can we point to specific
instances demonstrating innovative and useable support for it in the
programming models from which WSDL is typically generated.

 

[1] http://lists.w3.org/Archives/Public/www-ws-desc/2004Mar/0038.html (see
Issue 117: Operation safety)

[2] http://lists.w3.org/Archives/Public/www-ws-desc/2004May/0028.html

[3] http://lists.w3.org/Archives/Public/www-tag/2007Feb/0003.html 

[4]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html
?content-type=text/html;%20charset=utf-8#safety 

[5]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html
?content-type=text/html;%20charset=utf-8#http-binding-supported-extensions

[6]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html
?content-type=text/html;%20charset=utf-8#_http_binding_default_rule_method 

[7] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/index.html

[8]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/results/Intercha
nge.html 

[9] http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html?view=normal#cr021


 

Jonathan Marsh -  <http://www.wso2.com> http://www.wso2.com -
<http://auburnmarshes.spaces.live.com> http://auburnmarshes.spaces.live.com

 

 

Received on Friday, 2 March 2007 20:04:44 UTC