Minutes: 4 August 2004 WS Description WG FTF

Minutes, 4 August 2004 FTF, London
Web Services Description Working Group

Present:
 David Booth            W3C
 Allen Brookes          Rogue Wave Software
 Helen Chen             Agfa-Gevaert N. V.
 Roberto Chinnici       Sun Microsystems
 Glen Daniels           Sonic Software
 Paul Downey            British Telecommunications
 Youenn Fablet          Canon
 Hugo Haas              W3C
 Jacek Kopecky          DERI
 Jonathan Marsh         Chair (Microsoft)
 Jeff Mischkinsky       Oracle
 David Orchard          BEA Systems
 Bijan Parsia           University of Maryland MIND Lab
 Arthur Ryman           IBM
 Igor Sedukhin          Computer Associates
 Asir Vedamuthu         webMethods

Observers:
 Anish Karmarkar        Oracle

Regrets:
 Ugo Corda              SeeBeyond 
 Martin Gudgin          Microsoft 
 Peter Madziak          Agfa-Gevaert N. V.
 Jean-Jacques Moreau    Canon 
 Jeffrey Schlimmer      Microsoft
 Prasad Yendluri        webMethods, Inc.

Scribe: Asir

-------------------------------------------------------
Wednesday 4 August
-------------------------------------------------------
Marsh: outlines changes to the agenda

09:00 Primer
    - Overview from DBooth, next steps

Primer is available at http://www.w3.org/2002/ws/desc/wsdl20-primer
DavidB:   describes the structure of the primer doc.  There is a pile 
          of miscellaneous topics, section 5.  Status, we have rough 
          material for all the sections.  Will rely on experts for
          independent topics, primer editors will be contacting them
Marsh:    How synchronized is the primer with the LC drafts?
DavidB:   Should be mostly.  Any comments?
Glen:     Looks good
WG:       Do you have enough resources working on it?
DavidB:   At the moment yes, except for the pile of misc topics
Arthur:   Re-iterates his request for validated examples
DavidB:   Primer will cover only the core, not all the features; primer 
          will provide enough basis to use the spec as a reference.
          Publish a WD by end of Aug or early Sep.  It is little odd 
          that the primer is a REC
Pauld:    Request text on "is WSDL 2.0 suitable for REST interactions, 
          and if so how do you do them?" and "what is the RDF mapping
for?"
Marsh:    It is easy to add items to the pile of misc topics, we have 
          to make sure that these topics are useful
[Discussion of constraints around contributions from experts on advanced
topics.]
DavidB:   Changes between WSDL 1.1 and 2.0 are described in Part 1
Pauld:    Expect a note on how to map from WSDL 1.1 to 2.0
DavidB:   Nope, primer will not cover it
GlenD:    Schema primer is useful, elementFormDefault q vs. uq, would 
          expect a similar approach in WSDL primer
Marsh:    Section 5 may contain best practices that some members may 
          dis-agree
[may be a strawpoll to gate what is in section 5]
WG:       Thanks David and Kevin for the good work
DavidB:   Examples may not be correct, WG can help us

10:00 Glen: Property "required"
      Glen: Composition model

Marsh:    Is this a last call comment?
Glen:     Yes
[Last Call Documents are on TR page!}
[dbooth: Last call document listed: http://www.w3.org/TR/]
Glen:     The required attribute on Property element is ridiculous
Roberto:  Agrees
Glen:     Describes using an example, security feature
Allen:    Are you saying that the requiredness will come from a 
          feature/module spec?
Glen:     Yes
DavidB:   You would always use properties in conjunction with a feature,

          so you don't have to declare that they are required
DOrchard: mustUnderstand is extrinsic to feature/module and draws a 
          parallel to property/@required.  Wouldn't the required 
          properties be listed in a feature/module spec?
Glen:     Yes
[dorchard: mustUnderstand is external to a particular spec, isn't this 
          like property:required.]
Anish:    Properties are independent of the features, are env variables,

          req or optional is irrelevant, is that your argument?
[dorchard: to which Glenn sez "a feature is required and can be speced 
          in wsdl. But a property is req/optional by a feature. The 
          prop might be set by run time"]
[I hear lots of yes from Glen]
[properties are used in conjuction with explicit or implicit features]
dbooth:   It is not clear on how the properties are used when explicit 
          features are not declared in WSDL
[pauld:   properties are uniquely identified by a URI, so don't need 
          a feature for scope, no?]
jeff:     There may be implicit features and may consume one of these 
          properties in WSDL
dbooth:   what about interop?
jeff:     agrees that this will lead to interop problems
Marsh:    lets look into what Umit is loosing if we adopt this
[really, MAY lead to interop issues -- but this really has little to do
with requiredness of properties, but comes from the fact that the WSDL
doesn't contain the entire description of "the contract". You have to go
read the feature spec, which is not machine processable, to find out how
the feature works]
[pauld:  introduced endpoint as an example of an implicitly 'required'
         property]
Glen:    re-iterates that the req/opt, must, default/fixed values, etc. 
         will come from a feature/module spec. Depending on the presence

         or absence of a value, feature/module runtime will react, say
use 
         default value or fail.
Jeff:    Property model is broken, they are just global variables
dbooth:  Why is it broken?
Glen:    It is about having floating properties shared by multiple 
         features/modules
[observe little confusion on what is the issue]
Marsh:   lets go back to Umit's response
Roberto: why should WSDL declare them
Jeff:    outlines Umits pushback
Pauld:   it is non-sensical to have a required flag on property
Igor:    feature may say that a property is optional but an endpoint may

         say that it is requried. How do I declare that property 
         requiredness in WSDL?
Glen:    That is a weird case, feature designer should provide an 
         additional knob to control it
[I heard tri-state]
Pauld:   Would it be useful to have a feature description language
Glen:    We have talked about it
dbooth:  You are welcome to the constraints and capabilities workshop
[pauld:  looks forward to seeing the WS-Addressing F&P spec]
Allen:   Igor likes to refine an existing feature by tweaking the 
         properties, say optional to required
DaveO:   How far do we want to go? This is similar to schema 
         restriction mechanism
[btw, schema keyword is SUBSUMPTION]
Glen:    Acknowledges the 2 cases described by Igor, are they important?

Igor:    I can use a policy mechanism to declare them
Marsh:   Do we have to explain these scenarios if we remove this 
         required flag?
Glen:    No, not in our spec
Straw Poll: how many are in favor of removing the required attribute in 
            the property element?
  favor = 10,
  oppose = 1,
  abstain = 2
[GlenD:  Explaining these (and other) scenarios is certainly going to be
important, it's just that we don't need to do it normatively, IMHO.]
RESOLUTION: to remove the required flag on property element and make 
            appropriate changes to the component model

10:50 Schema Versioning Task Force - where do we go from here?
    - DaveO: versioning

Marsh:    Introduces the topic, describes how fuzzy it is, may be 
          will generate a few last call issues
[turning over to DavidO]
Marsh:    Looking for concrete things for WSDL
[tech difficulties]
dorchard: "WSDL: Versioning"  Introduces a new topic, INTERFACE 
          Versioning
[dorchard will post his slides later, please insert link here]
dorchard: Proposal to
          (a) add primer material to say that optional messages should 
              have defined behavior
          (b) add a "compatibleWith" boolean to interface
Marsh:    Didn't we consider this solution before
dorchard: This works only in conjunction with extends attribute
Allen:    Request dorchard to relate his proposal to the problem space 
          in the previous slide
[pauld:   supportive of the compatibleWith attribute combined with 
          extends since there is a relationship with the explicit
          relationship with the original version.  It solves my
          issue of the version attribute implying transitive
compatibility]
dbooth:   Is your definition of compatible transitive?
dorchard: Yes
dbooth:   If it is incompatible, why wouldn't you justify that as a new 
          service?
dorchard: Sure, you can
dbooth:   Then, why do you need this?
dorchard: But, in practice, they want to use the same endpoints
[we are running out of URIs]
[pauld:   Also wanted to express how important mustIgnore is to BT.
We're 
          at a point of publicly discrediting toolkits which don't
employ 
          the mustIgnore rule.]
Roberto:  I don't get when you claim that this isn't choreography?
dorchard: Would you accept that it doesn't get very far
Roberto:  Agree, then it doesn't belong in the description
Bijan:    Where does it belong? should we coordinate with Choreography?
Roberto:  Definition of message optionality is vague, this is a fairly 
          rough weapon that you are attempting to deploy. Good solution 
          should be specific. But, that gets into the choreography
space.
          We need a new relationship between interfaces, interface A 
          extends B (compatible), interface A includes B means lexical 
          include, may be that is the right thing to do. Semantic 
          extends vs. syntactic include
[Roberto: It wouldn't quite be a lexical include; essentially, if 
          interface A includes B, A would contain carbon-copies of 
          the sub-components of B, adjusted to be correct in the 
          context of A per the component model rules.  The "extends" 
          relationship would be reserved for compatible/semantic 
          extensions, which are natural to developers from their 
          experience with programming languages]
[pauld:   +1 to roberto's new relationship verb]
jeffm:    Agrees with Roberto's to establish a new relationship, 'cos 
          in normal practice people used substitution and inheritance 
          as substitutes for versioning
igors:    Talks about versioning discussion in the ws-management tc 
          (OASIS), there are limited cases that can be done using WSDL, 
          say for example, changes to binding, endpoints, types. You 
          need some extrinsic information about what has changed, say 
          interface changed, binding changed, etc. There are very
limited 
          cases that we can do it within WSDL. Such a situation calls 
          for an external solution. 
[igors:   e.g. a formalization of one's CVS log with regards to the WS
          endpoint being deployed.  WSDM TC has a requirement to address

          versioning too.  That is WS versioning management...]
[glad you mentioned that]
[pauld:   But CVS describes the chain of change, but communicating a 
          break in compatibility is left to informal comments]
Marsh:    Summarizes, some solutions to explore, lets come back to this
dbooth:   Concerned that we may end up endorsing a solution that re-uses

          the same uri
[pauld quotes a BT example]
[igors:   Paul, I meant in a "spirit" of a CVS log. In reality one needs

          a markup of a "revision" which indicates a NUMBER of "changes"
          which are attributed with "compatibility" and refer to "what" 
          (e.g. XPath)]
[i hear music]
[pauld:   A company could have a single endpoint for the whole company, 
          e.g MQ://www.bt.com which authenticates and then routes 
          messages to appropriate service.]

12:00 Lunch     ----------------------------------------

Scribe: Jacek

Jonathan talks about the rest of the agenda

13:00 DaveO: Multiple namespaces and schemas

Daveo:    Now that our bindings are layered (SOAP on top of HTTP), 
          the rationale for multiple namespaces is significantly
reduced.
          We don't have a schema for our bindings because of 
          extensibility vs. wildcards
Glend:    Why?
Daveo:    We can't have a schema because an optional element from a 
          different namespace cannot be followed by a wildcard
[pauld:   Wonders how this relates to his 'collapse binding namespace'
proposal:
http://lists.w3.org/Archives/Public/www-ws-desc/2004May/0063.html]
Glend:    We have schemas for the extension elements, separately
Daveo:    We cannot restrict the occurrence of the extensions in WSDL.
          The other solution is just to make all in one namespace, then 
          you can write a schema controlling where it all goes
Glend:    Only solves the problem for our elements, doesn't help other 
          Extensions.
Daveo:    Yes
Glend:    It doesn't gain us a whole lot *and* the current approach 
          demonstrates our idea of extensions in different namespaces
Daveo:    There are few or no extensions out there apart from ours
JacekK:   Systinet puts extensions in its WSDLs
Glend:    How about giving them a WSDL validator, they won't need so 
          much a schema validator doing as much as possible
Daveo:    One bar for partial validity is schema-validity
Bijan:    Is there a reason for "demonstrating the extensibility 
          architecture?"
JacekK:   Signaling that the extensions are in fact extensions
[Roberto: +1 to Jacek's comment]
JacekK:   Also, reuse of the current extensions (would-be options) would
          be limited
Jonathan: Our attributes are limited to our elements
Daveo:    Am I the only one who finds the status quo of mixing various 
          namespaces weird?
Glend:    No, we had a similar proposal before
Asir:     Daveo, you mentioned about the issues that I pointed out in 
          your sample WSDLs, most of those are described in Part 1 WSDL 
          core schema and the rest are semantic issues, that cannot be 
          described using XML Schema.  Using one namespace will not help

          you in these specific cases
Glend:    (possibly pauld's point) maybe we should just drop
wsdl:binding 
          and replace it with soap:binding.  This proposal was shot
down.
Pauld:    The proposal was in two parts, both "too far"
Glend:    Realistically, the optionality would not be so clear if we had

          only one namespace
Jonathan: With only the WSDL namespace schema, I get incompletely 
          validated instance, but all WSDL stuff is validated
JacekK:   Schema not being fixed yet is too little of a rationale for 
          changing the status quo that is intuitively designed
Jonathan: All validation tools have a point where they will just leave 
          off
Daveo:    I agree there is a bar and I'd like our things to be inside 
          the bar. While we cannot do anything about the greater schema
          extensibility problem, we can do something about our
extensions
Pauld:    In a few years, for example our bindings could become replaced

          by a new cool binding everybody agrees on, so then the value 
          we'd get from putting our stuff in one namespace would be 
          greatly diminished.
Daveo:    Schema has the same namespace in two documents
Jonathan: Our case is breaking the spec (and namespace) so that people 
          can reuse parts of it
Asir:     We should have split the namespaces as well in schema, into 
          three: structures, extensions, simple types
Strawpoll: how many folks like folding our namespaces into one?
  1 strawvote for, 9 strawvotes against
RESOLUTION: dropping the idea of folding namespaces into one.


13:45 Test suite and QA
    - Survey expected implementation schedules
    - Arthur: review formalizations in the spec. e.g. remove the
ambiguities

Arthur:   Presents his slides
Roberto:  Additional aspect: does a processor construct the correct 
          component model?
Arthur:   Schema validation, for example, doesn't touch components
Roberto:  The constraints are mostly phrased in terms of component model
Arthur:   You're getting into how validation works, but what we're 
          validating is documents
Roberto:  I think we should still test the interpretation of the WSDL 
          doc into component model
Arthur:   We have WSDL spec, particular documents, and those are valid 
          or not
JacekK:   Testing the interpretation of a WSDL document into a component

          model is not doable
Arthur:   We don't define language bindings and the component models 
          in implementations are in programming languages, not testable
Roberto:  We could define a simpler serialization
Arthur:   That's something extra.  When talking about processors I 
          meant passages like "processor ignores, fails etc."
[presentation continues]
Jonathan: Don't see a need for a new ML only for testcases. We could
have 
          a Mailing List for testing purposes
Hugo:     Schema had a list that specified that submissions there were 
          licensed by the author the right way
ACTION:   Jonathan to check the policy with AB and team and perhaps set 
          up a ML for testing.
Pauld:    I'm creating tests, each is uniquely and stably identified.
          Wondering about the life cycle of a test.
Jonathan: So we have two things: test submissions and building the 
          actual test suite
[hugo:    XMLP test suite contribution:   
          http://www.w3.org/2000/xp/Group/1/10/ts-contribution]
Jacek:    XML Schema WG has done substantial work on how to collect 
          test cases, process, patents, etc. I bet that we can learn 
          from them.  I request the WG to look at schema wg test page,
          http://xw2k.sdct.itl.nist.gov/tonyc/xmlschema2004-01-14/
Anish:    XMLP created a list of features from the list of MUSTs and 
          SHOULDs (and MAYs), then cross-referenced that list to 
          actual tests.  Then it's possible to see which of the 
          features are or are not covered
Jonathan: We decided to have a bit of markup around the assertions 
          (MUSTs etc.)
Arthur:   That's not sufficient.  We can already assume well-formedness 
          and validity against schema.  We should have docs tho that 
          validate against schema but violate other syntactic 
          constraints from the spec
[presentation continues]
[pauld:   The test coverage tool may also be used to categorise our 
          pool of tests]
Roberto:  Does Z notation use a lot of special symbols?
Arthur:   Not too much
Jonathan: We could embed XML markup representing Z in our spec, right?
Arthur:   Yes, we could replace the pseudoformal text by the Z notation
Jonathan: To do WSDL in infoset, we can use only a small, simple subset 
          of Z
Arthur:   There are three types of information in part 1, I've only done

          the component model.  The others include the mapping of that 
          to XML and interpretation
Roberto:  The text is clearer than what we have in the spec, right?
Arthur:   Yes, because the exercise of formalization has preceded it
Pauld:    And in this version the sections are consistent in structure
Arthur:   This approach also forces you to catch all the hidden rules.
          My exercise actually resulted in comments simplifying the 
          Spec.  Z also allows reuse, all qnamed components can be 
          modeled as such.
[arthur goes through his comments created during the formalization]
Arthur:   So I suggest that as soon as we get the HTML rendering OK we 
          try a version of the spec written in Z
Jonathan: Let's first do a side-by-side comparison of the two versions
Hugo:     How much work is it to produce the XML vocabulary for Z?
Arthur:   Not much.  I think we could do a decent job...
Jonathan: Seems like formalization is great for uncovering stuff, but 
          it cannot cover advice or intention
Arthur:   Z notation is not the only normative part.  There are still 
          unclear parts of the spec, specially in the area of 
          processors.  Right, Z cannot give you a 100% coverage, but 
          the more the better
Roberto:  As a schema implementor and user I'd like to have the same 
          thing done for Schema
Pauld:    Henry Thompson invented his own formal notation, own logic
Roberto:  How does this relate to testing effort?
Arthur:   The component model is now represented as a set of formal,
          testable assertions
[pauld:   A Logical Foundation for XML Schema:
http://www.idealliance.org/papers/dx_xmle04/html/abstract/02-06-02.html]
Arthur:   I was trying to express these assertions so that they easily 
          map to a programming language.  Further, the assertion has a 
          clear name.  The three parts of the spec are: abstract 
          component model (done in Z), constraints on the infoset 
          (translatable to XML Schema), the mapping between.  To do 
          the mapping we'd need to formalize the infoset constraints 
          as well.
Asir:     Thus far XML Schema has gone through 4 forms of formalization
          That taught us about a lot of issues.  Schema is much more 
          complicated than WSDL, has 5 parts.
Pauld:    One of the benefits is that it's more readable by removing 
          semi-formal English; this hasn't really succeeded in XML 
          Schema, right?  I feel very positive about this direction, 
          I think we should endorse it
Jonathan: We should not push it too far though
Arthur:   Z was invented for unclear programming languages.  Z is a 
          formal spec language, we are writing a spec. 8-)
Asir:     For a subset we can be successful
Arthur:   The biggest bang for the buck is formalizing the component 
          model
Roberto:  The hardest part to write is the infoset constraints, I'd like

          to be able to generate that
Arthur:   I started from the infoset, then did the component model and 
          could finish with the mapping
Jonathan: Let's wrap up.  Thanks to Arthur for all the work on this, 
          and to Paul for joining in as well.  We'll be working on the 
          XML notation of Z and the stylesheet.  Then we can compare 
          with the status quo, judge utility, see how much of spec is 
          removable as effect.  Still worried about the 
          understandability of Z for our audience
Arthur:   We could have a simpler version with that removed
[pauld:   an appendix which explains the vocabulary of Z we're using ..]
Arthur:   Would like to work with the editors
[nobody disagrees with pursuing this path, deciding later]
Roberto:  But would we need a normative infoset formalization?
Arthur:   That's pretty simple
Jonathan: XML Core could be interested in this.
Jonathan: Schedule? getting a side-by-side version by the next f2f?
  ACTION: Arthur and Jonathan to produce a mockup of Z in the spec for
          next FTF.

15:00 Break     ----------------------------------------

15:20 Review master schedule for next 12 months, expected
      deliverables, expected workload. 

Jonathan: Our schedule calls for CR in October, depends on the scale 
          and number of LC comments, we might be able to meet it.
          Still have to publish a WD of the primer, perhaps LC of 
          the media type spec.  RDF mapping, primarily Bijan's work, 
          we'll see at next f2f.  Basically we don't have massive 
          problems with scheduling.  The CR phase could take a bit, 
          expect Rec next summer-ish.
PaulD:    To help testing, test cases can be used as canned services.
Jonathan: And we don't mind sticking in CR if that actually improves  
          our spec
Jonathan: c'ya in September, thanks to Paul for hosting and the 
          executive treatment we've received
ACTION: Hugo to set up Sep f2f registration page
we call it a week

16:00 Adjourn

Received on Tuesday, 24 August 2004 19:18:36 UTC