Re: Minutes, 18 January 2007 WS Description WG telcon
Arthur Ryman <[email protected]>
| Newsgroups | gmane.comp.web.services.description |
|---|---|
| Message-ID | <OFB043DA75.FCACEB1F-ON85257268.00500F52-85257268.00512F21@ca.ibm.com> |
I'd like to comment on the discussion of CR 118. The current design of the spec is that we do NOT have formal assertions for constraints that are enforced by the XML Schema. That just means we don't have formal assertion numbers. We still DO have statements in the spec. The schema is normative and implements the constraints stated in the spec. The question of APIs for the component model is beyond the scope of the spec. An implementation is not forced to serialize the component model and run an XML schema validator. It simple must enforce all the constraints stated by the spec, many of which happen to checked via schema validation. One possible way forward is to leave the formal assertions in (and add others) but assign them a type of "schema". At present we have several types of constraint, e.g. "document" and "component". The document constraints are typically thngs that deal with import and include, i.e. cannot be stated in terms of the component model. A "schema" assertion would simple be an assertion that is enforced by the nromative WSDL 2.0 XSD. However, for this to be implemented, we would have to go over the spec and add assertions for all the schema constraints. Arthur Ryman, IBM Software Group, Rational Division blog: http://ryman.eclipsedevelopersjournal.com/ phone: +1-905-413-3077, TL 969-3077 assistant: +1-905-413-2411, TL 969-2411 fax: +1-905-413-4920, TL 969-4920 mobile: +1-416-939-5063, text: [email protected] "Jonathan Marsh" <[email protected]> Sent by: [email protected] 01/18/2007 01:34 PM To "'www-ws-desc'" <[email protected]> cc Subject Minutes, 18 January 2007 WS Description WG telcon Enclosed. Jonathan Marsh - http://www.wso2.com - http://auburnmarshes.spaces.live.com
20070118-ws-desc-minutes.html
(text/html, 21.8 KB)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang='en' xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
<title>WS Description WG telcon -- 18 Jan 2007</title>
<link type="text/css" rel="STYLESHEET" href=
"http://www.w3.org/StyleSheets/base.css" />
<link type="text/css" rel="STYLESHEET" href=
"http://www.w3.org/StyleSheets/public.css" />
<link type="text/css" rel="STYLESHEET" href=
"http://www.w3.org/2004/02/minutes-style.css" />
<meta content="WS Description WG telcon" name="Title" />
<meta content="text/html; charset=us-ascii" http-equiv=
"Content-Type" />
</head>
<body>
<p><a href="http://www.w3.org/"><img src=
"http://www.w3.org/Icons/w3c_home" alt="W3C" border="0" height=
"48" width="72" /></a></p>
<h1>WS Description WG telcon</h1>
<h2>18 Jan 2007</h2>
<p>See also: <a href=
"http://www.w3.org/2007/01/18-ws-desc-irc">IRC log</a></p>
<h2><a name="attendees" id="attendees">Attendees</a></h2>
<div class="intro">
<dl>
<dt>Present</dt>
<dd>Allen Brookes, Rogue Wave Software</dd>
<dd>Roberto Chinnici, Sun Microsystems</dd>
<dd>Youenn Fablet, Canon</dd>
<dd>Amelia Lewis, TIBCO</dd>
<dd>Philippe Le Hegaret, W3C</dd>
<dd>Jonathan Marsh, Co-chair/WSO2</dd>
<dd>Gilbert Pilz, BEA Systems</dd>
<dd>Tony Rogers, Co-chair/Computer Associates</dd>
<dd>John Kaputin, IBM (for Arthur)</dd>
<dt>Regrets</dt>
<dd>Charlton Baretto, Adobe Systems</dd>
<dd>Jacek Kopecky, DERI Innsbruck at the Leopold-Franzens-Universität Innsbruck, Austria</dd>
<dd>Arthur Ryman, IBM</dd>
<dt>Chair</dt>
<dd>Jonathan</dd>
<dt>Scribe</dt>
<dd>gpilz</dd>
</dl>
</div>
<h2>Contents</h2>
<ul>
<li>
<a href="#agenda">Topics</a>
<ol>
<li><a href="#item01">Implementer's call</a></li>
<li><a href="#item02">minutes</a></li>
<li><a href="#item03">action items</a></li>
<li><a href="#item04">administrivia</a></li>
<li><a href="#item05">CR130</a></li>
<li><a href="#item06">CR118</a></li>
<li><a href="#item07">CR123</a></li>
<li><a href="#item08">CR124</a></li>
<li><a href="#item09">CR125</a></li>
<li><a href="#item10">CR126</a></li>
<li><a href="#item11">CR127</a></li>
<li><a href="#item12">CR128</a></li>
</ol>
</li>
<li><a href="#ActionSummary">Summary of Action Items</a></li>
</ul>
<hr />
<div class="meeting">
<h3 id="item01">Implementer's call</h3>
<p class='irc'><<cite>jkaputin</cite>> Look's like I'm
showing as Jeremy Hughes today instead of Roland Merick</p>
<p class='irc'><<cite>plh2</cite>> <a href=
"http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/results-messages/MessageTest-1G/log-MessageTest1G-canon-canon-results.html#message1">
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/results-messages/MessageTest-1G/log-MessageTest1G-canon-canon-results.html#message1</a></p>
<p class='irc'><<cite>Jonathan</cite>> <test
id="MessageTest-6G" binding="SOAP12"></p>
<p class='irc'><<cite>Jonathan</cite>> <log
client="wso2" service="wso2" id="MessageTeest-6G-wso2-wso2"</p>
<p class='irc'><<cite>Jonathan</cite>>
>MessageTest-6G/log-MessageTest6G-wso2-wso2-output.xml</log></p>
<p class='irc'><<cite>Jonathan</cite>> </test></p>
<p class='irc'><<cite>Jonathan</cite>> <log
client="wso2" service="wso2"
id="ModuleComposition-1G-wso2-wso2"</p>
<p class='irc'><<cite>Jonathan</cite>>
>ModuleComposition-1G/log-ModuleComposition1G-wso2-wso2-output.xml</log></p><a name="action01"
id="action01"></a>
<p class='irc'><<cite>Jonathan</cite>>
<strong>ACTION:</strong> Jonathan to factor multipart out of
MessageTest-2G [recorded in <a href=
"http://www.w3.org/2007/01/18-ws-desc-minutes.html#action01">http://www.w3.org/2007/01/18-ws-desc-minutes.html#action01</a>]</p>
<p class='irc'><<cite>plh</cite>>
/home/plehegar/dev/2002/ws/desc/test-suite/results-messages/build.xml:195:
input file
/home/plehegar/dev/2002/ws/desc/test-suite/documents/good/MessageTest-6G/SOAPservice.wsdl
does not exist</p>
<p class='irc'><<cite>plh</cite>> hum, did you forget to
add this file in cvs Jonathan?</p>
<p class='irc'><<cite>plh</cite>> <a href=
"http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/results-messages/Message-tests-results.html">
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/results-messages/Message-tests-results.html</a></p>
<p class='phone'>scribe gpilz</p>
<p class='irc'><<cite>scribe</cite>> scribe: gpilz</p>
<h3 id="item02">minutes</h3>
<p class='phone'><cite>UNKNOWN_SPEAKER:</cite> approved</p>
<h3 id="item03">action items</h3>
<pre>Review of Action items [.1].
[Interop]
? 2006-11-30: [interop] John Kaputin to create a test case
with "required=false".
? 2006-12-14: [interop] Jonathan to fix transferCodings -
add control group
[WG]
? 2006-09-21: Jonathan to check periodically that SPARQL has
added schemaLocation.
? 2006-12-14: plh to come up with a more detailed proposal for
CR112 if possible
DONE 2007-01-04: Jonathan to make sure parameters are added to the
URI in the HTTP binding even when no whttp:location
appears.
? 2007-01-04: Paul to report back on which test cases in the
WSDL test suite fail the basic patterns, with
suggestions on how to address the issues.
? 2007-01-04: Jonathan to analyze CR117 further.
DONE [.3, .4, .5] 2007-01-11: Jonathan to send WS-Policy comments to the
WS-Policy WG
? 2007-01-11: Jean-Jacques to provide more analysis on how
difficult it would be deal with a Policy that
only contains an MTOM policy assertion
DONE [.6] 2007-01-11: Philippe to propose a grammar for http:location
Current Editorial Action Items
Note: Editorial AIs associated with LC issues recorded at [.2].
[.1] http://www.w3.org/2002/ws/desc/#actions
[.2] http://www.w3.org/2002/ws/desc/5/cr-issues/actions_owner.html
[.3] http://www.w3.org/Bugs/Public/show_bug.cgi?id=4211
[.4] http://www.w3.org/Bugs/Public/show_bug.cgi?id=4211
[.5] http://lists.w3.org/Archives/Public/www-ws-desc/2007Jan/0105.html
[.6] http://lists.w3.org/Archives/Public/www-ws-desc/2007Jan/0088.html</pre>
<p class='phone'><cite>UNKNOWN_SPEAKER:</cite> Phillipe posted
his proposed grammar</p>
<h3 id="item04">administrivia</h3>
<p class='phone'><cite>UNKNOWN_SPEAKER:</cite> Mostly defered
items</p>
<h3 id="item05">CR130</h3>
<p class='phone'>Phillipe has proposed a grammar</p>
<p class='irc'><<cite>plh</cite>> httpLocation ::=
CharData? (( openBrace | closeBrace | elementName )
CharData?)*</p>
<p class='irc'><<cite>plh</cite>> CharData ::= [^{}]*</p>
<p class='irc'><<cite>plh</cite>> openBrace ::= '{{'</p>
<p class='irc'><<cite>plh</cite>> closeBrace ::= '}}'</p>
<p class='irc'><<cite>plh</cite>> elementName ::= '{'
NCName '}'</p>
<p class='phone'>John Kaputin: Grammar seems ok to me.</p>
<p class='phone'><cite>Jonathan:</cite> Everybody ok with
this?</p>
<p class='phone'><cite>Resolution:</cite> Close CR130 with this
proposal (mod change proposed by Jonathan and reference to XML
spec (?))</p>
<h3 id="item06">CR118</h3>
<p class='phone'><a href=
"http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR118">http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR118</a></p>
<p class='phone'><cite>Jonathan:</cite> (reviews issue)</p>
<p class='phone'><cite>Phillipe:</cite> Is the schema
normative?</p>
<p class='phone'><cite>Jonathan:</cite> Yes.</p>
<p class='phone'><cite>Roberto:</cite> (missed his point)</p>
<p class='phone'><cite>John:</cite> If you're a WSDL 2.0
implementation and you provide an API that allows you to build
a component model at some point you need to validate that
model.<br />
... If the only way you can do this is via schema validation,
that means you need to generate the infoset then run it through
a validating parser.</p>
<p class='phone'><cite>Roberto:</cite> agrees</p>
<p class='phone'><cite>Phillipe:</cite> Also, removing these
two assertions basically remove them from peoples
understanding. The assertions exist in the schema but that's
the only place you would see them.</p>
<p class='phone'><cite>John:</cite> Not really sufficient to
simply describe the assertions in the schema.</p>
<p class='phone'><cite>Jonathan:</cite> Are you concluding that
the endpoints are not constrained to be unique?</p>
<p class='phone'><cite>John:</cite> Its not sufficient to
express this constraint solely in the schema.</p>
<p class='phone'><cite>Jonathan:</cite> The assertion failure
will never be reported by schema validation alone since the XML
doc will fail during validation!</p>
<p class='phone'><cite>Johnathan:</cite> We don't have all the
assertions that are implemented by the schema reflected in the
spec. We should be consistent and remove the first
assertion.</p>
<p class='phone'><cite>Phillipe:</cite> We should be
consistent.<br />
... If there is a general rule, we should state what it is.</p>
<p class='phone'><cite>John:</cite> I agree that we should be
consistent.<br />
... If there is a WSDL 2.0 API that allows you to build up the
component model programatically, is there a way to validate
w/out serializing then parsing?<br />
... Not if you take these assertions out.<br />
... The idea of having assertions implemented via schema works
fine if you always start from a WSDL 2.0 document.<br />
... Suppose, instead, you start with some WSDL 2.0 authoring
tool. You build up the descritpion component, by component.
What happens when you want to validate<br />
... your component model. If you remove these assertions then
it is possible (likely) that these constraints will be missed
unless the ONLY way of validating<br />
... is to serialize the component model as a WSDL 2.0 document
and run it through a validating parser.</p>
<p class='phone'><cite>Jonathan:</cite> This is an artifact of
the way we test WSDL 2.0 assertions. We always start with a
WSDL 2.0 document then run it through a parser. These
assertions can never be<br />
... violated using that process since the document will fail
schema validation before you ever get to checking
assertions.</p>
<p class='phone'><cite>John:</cite> If you rely on schema
validation to report errors, the same error may be reported in
different ways depending upon what parser you are using.</p>
<p class='phone'><cite>Jonathan:</cite> If we remove the
asssertion markup from these statements . . .</p>
<p class='phone'><cite>John:</cite> There are others as well .
.</p>
<p class='phone'><cite>Jonathan:</cite> If we continue to write
test cases we will find other assertions for which we cannot
write test cases.<br />
... We could also simply review the specs and try to find
more.</p>
<p class='irc'><<cite>alewis</cite>> is our schema
normative?</p>
<p class='phone'><cite>John:</cite> How do you write test cases
to violate the rules in the schema if some/most of those rules
aren't expressed as assertions?</p>
<p class='phone'><cite>Jonathan:</cite> We don't. All of our
test cases start from well-formed, schema-valid documents.</p>
<p class='phone'><cite>John:</cite> Should we raise an issue to
read the spec looking for assertions that violate schema?</p>
<p class='phone'><cite>Jonathan:</cite> Yes, but we need to
find a volunteer (outlines scope of work)</p>
<p class='phone'><cite>John:</cite> I'm not sure if the green
tests in the coverage report can be ignored.</p>
<p class='phone'><cite>Jonathan:</cite> The green tests mean
that Lawerence was able to write a WSDL that passed schema
validation and violated the assertion.</p>
<p class='phone'><cite>John:</cite> But Woden doesn't
necessarily stop when schema validation fails.</p>
<p class='phone'><cite>Jonathan:</cite> But Lawernce doesn't
check in the test case if it fails schema validation.</p>
<p class='phone'><cite>John:</cite> Ah. So that leaves some 60
assertions to check.</p>
<p class='phone'><cite>Jonathan:</cite> I suggest we fix the
ones we know about and fix others as we find them.<br />
... We just need to remove the "assertion" markup.<br />
... Don't think it would be the end of the world if we remove
the assertion markup.</p>
<p class='phone'><cite>John:</cite> Endpoint-0065,
InterfaceFault-0032, InterfaceOperation--0035<br />
... What about Interface--0030?</p>
<p class='phone'><cite>Jonathan:</cite> No this isn't because
its refering to an interface from another document.<br />
... Both documents could be schema-valid but combined they
would validate the assertion.</p>
<p class='phone'>Resolved: Remove assertion markup from
Endpoint-0065, InterfaceFault-0032,
InterfaceOperation--0035</p>
<h3 id="item07">CR123</h3>
<p class='phone'><a href=
"http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR123">http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR123</a></p>
<p class='phone'><cite>Jonathan:</cite> This is one of
Youenn's</p>
<p class='phone'><cite>Youenn:</cite> (reviews the issue)</p>
<p class='irc'><<cite>plh</cite>> <a href=
"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">
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</a></p>
<p class='phone'><cite>John:</cite> If safety is not engaged,
couldn't it be GET or POST?</p>
<p class='phone'><cite>Youenn:</cite> In the HTTP binding there
are rules to tell you whether to use GET or POST.<br />
... The safety extension is pretty cheap. We should state that
generally, when you engage the HTTP binding you should also
enage the safety extension.<br />
... Woden and Canon both implement both of these so there isn't
a problem.</p>
<p class='phone'><cite>Jonathan:</cite> So we just have a
statement when we introduce the HTTP binding saying that
supporting the safety extension is a pre-condition to
supporting the HTTP binding?</p>
<p class='phone'><cite>Youenn:</cite> Yes.</p>
<p class='phone'><cite>Yoenn:</cite> When we use the SOAP
binding with HTTP extensions, what is the effect (if any) on
the safety extension?<br />
... Do we also mandate support of the safety extension?</p>
<p class='phone'><cite>Jonathan:</cite> I would say no because
the HTTP method property is not a property of the SOAP
binding.</p>
<p class='phone'><cite>John:</cite> (clarifies)</p>
<p class='phone'><cite>Phillipe:</cite> What happens in the
case of the SOAP response MEP when SOAP is using HTTP?</p>
<p class='phone'><cite>Jonathan:</cite> The SOAP response MEP,
when bound to HTTP, must use a GET.</p>
<p class='phone'><cite>Resolution:</cite> Close CR123 by
adopting Youenn's proposal.</p>
<p class='phone'><cite>John:</cite> Was the proposal we just
adopted about mandating the use of safety if binding type is
HTTP? It looks like its already mandatory?</p>
<p class='phone'><cite>Jonathan:</cite> Right now its an
extension and all extensions are optional.</p>
<h3 id="item08">CR124</h3>
<p class='phone'><cite>Jonathan:</cite> This one is already
done.</p>
<p class='phone'><cite>Resolution:</cite> Close with editorial
actions that have already occured.</p>
<h3 id="item09">CR125</h3>
<p class='phone'><cite>Jonathan:</cite> This one looks
editorial. The pattern attribute is always required. We need to
fix the misleading "defaulting" language.</p>
<p class='phone'>???: Didn't Arthur fixed this already?</p>
<p class='phone'><cite>Jonathan:</cite> Could be. The end
result is the same.</p>
<p class='irc'><<cite>plh</cite>> a/Amy/Amy/</p>
<p class='phone'><cite>John:</cite> That means taking out the
"otherwise" bit in the ???</p>
<p class='phone'><cite>Amy:</cite> The idea was that we weren't
going to require people to explicity put the attribute in.</p>
<p class='irc'><<cite>JonathanMarsh</cite>> Proposal:
<a href=
"http://lists.w3.org/Archives/Public/www-ws-desc/2006Dec/0038.html">
http://lists.w3.org/Archives/Public/www-ws-desc/2006Dec/0038.html</a></p>
<p class='irc'><<cite>JonathanMarsh</cite>> + add ? to
the pseudo-syntax.</p>
<p class='irc'><<cite>JonathanMarsh</cite>> + change the
schema</p>
<p class='irc'><<cite>JonathanMarsh</cite>> + change the
interchange format</p>
<p class='phone'><cite>Resolution:</cite> Close CR125 by
adopting Amy's proposal mod the above changes.</p>
<h3 id="item10">CR126</h3>
<p class='phone'><cite>Jonathan:</cite> (reviews issue)</p>
<p class='phone'><cite>John:</cite> Do we have any other
statements like this which talk about the document as a
whole?</p>
<p class='phone'><cite>Jonathan:</cite> I think we do.</p>
<p class='irc'><<cite>TonyR</cite>> RESOLUTION: close
CR126 with the proposal in the issue</p>
<p class='phone'><cite>Jonathan:</cite> For example
Schema-0018</p>
<h3 id="item11">CR127</h3>
<p class='phone'><cite>Youenn:</cite> (reviews issue)</p>
<p class='phone'><cite>Jonathan:</cite> Related to CR134.
They're pretty much the same thing. I have a proposal for
CR134.</p>
<p class='phone'><cite>John:</cite> Could you review CR134?</p>
<p class='phone'><cite>Jonathan:</cite> (reviews CR134)</p>
<p class='phone'><cite>John:</cite> So the proposal is to add
advice to the primer?</p>
<p class='phone'><cite>Jonathan:</cite> Yes. We've discussed
this at length.<br />
... Is this a sufficient proposal for CR127?</p>
<p class='phone'><cite>Youenn:</cite> Yes. I also think that it
might be good if Woden was able to warn people when such
situations may occur.</p>
<p class='phone'><cite>Jonathan:</cite> That would be useful.
You might want to consider that as a product feature.</p>
<p class='phone'><cite>John:</cite> You could turn this into a
warning assertion.</p>
<p class='phone'><cite>Jonathan:</cite> We've had sufficient
debate around adding normative text around operation dispatch.
We don't want to go there . . .<br />
... This proposal matches the behavior you get "out of the box"
with the HTTP binding</p>
<p class='phone'><strong class='resolution'>RESOLUTION: Close
issues CR127 and CR134 with Jonthan's proposal for
CR134</strong></p>
<h3 id="item12">CR128</h3>
<p class='phone'><a href=
"http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR128">http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR128</a></p>
<p class='phone'><cite>Roberto:</cite> The last sentence in the
issue doesn't seem to relate to the previous exposition.</p>
<p class='phone'><cite>John:</cite> The implied question is how
interface extension works.</p>
<p class='phone'><cite>Jonathan:</cite> Arthur already replied
to Cindy.<br />
... There are really two questions; does "extension" including
things extended by the thing you extended? The other question
is about the use<br />
... multiple extends attribute.</p>
<p class='phone'><cite>John:</cite> We could fix the first by
changing the wording to "extends directly or indirectly"</p>
<p class='irc'><<cite>jkaputin</cite>> The set of
operations available in an interface includes all the
operations</p>
<p class='irc'><<cite>jkaputin</cite>> defined by the
interfaces it extends directly or indirectly, together with any
operations it directly</p>
<p class='irc'><<cite>jkaputin</cite>> defines</p>
<p class='irc'><<cite>jkaputin</cite>> The set of
operations available in an interface includes all the
operations</p>
<p class='irc'><<cite>jkaputin</cite>> defined by the
interfaces it extends directly or indirectly, together with any
operations it directly</p>
<p class='irc'><<cite>jkaputin</cite>> defines</p>
<p class='phone'><strong class='resolution'>RESOLUTION: Close
CR128 with above changes</strong></p>
<p class='irc'><<cite>jkaputin</cite>> clarify visibility
of schema components and ensure the spec is clear</p>
</div>
<h2><a name="ActionSummary" id="ActionSummary">Summary of Action
Items</a></h2><!-- Action Items -->
<strong>[NEW]</strong> <strong>ACTION:</strong> Jonathan to
factor multipart out of MessageTest-2G [recorded in <a href=
"http://www.w3.org/2007/01/18-ws-desc-minutes.html#action01">http://www.w3.org/2007/01/18-ws-desc-minutes.html#action01</a>]<br />
<br />
[End of minutes]<br />
<hr />
<address>
Minutes formatted by David Booth's <a href=
"http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm">
scribe.perl</a> version 1.127 (<a href=
"http://dev.w3.org/cvsweb/2002/scribe/">CVS log</a>)<br />
$Date: 2007/01/18 17:42:23 $
</address>
</body>
</html>