Properties and Features proposed pros and cons summary

Here is a pros and cons summary that the PnF task force will use during
the properties and features discussion at the f2f meeting:

Cons:
 - verbose syntax:

  <soap:operation soapAction="http://example.com/GetLastTradePrice"/>

  vs

  <feature
     uri='http://www.w3.org/2002/12/soap/features/action/'
     required='true'/>
  <property
     uri='http://www.w3.org/2002/12/soap/features/action/Action'>
    <value>http://example.com/GetLastTradePrice</value>
  </property>
 
 NOTE: the SOAP binding will contain lots of default values. The feature
 action will always be activated by default and therefore the previous
 code could be reduced to:
  <property
     uri='http://www.w3.org/2002/12/soap/features/action/Action'>
    <value>http://example.com/GetLastTradePrice</value>
  </property> 

 - lost in XML Schema validation
   the value cannot be checked by an XML Schema processor.

 NOTE: While we cannot do the check by an XML Schema processor, a WSDL
 processor will be able to do the XML Schema validation by using the
 constraint construction:
  <property
     uri='http://www.w3.org/2002/12/soap/features/action/Action'>
    <value>http://example.com/GetLastTradePrice</value>
    <constraint>xs:anyURI</constraint>        
  </property>

 - departure from the WSDL 1.1 syntax.

  While this is correct, SOAP Action is now better defined in SOAP 1.2,
  and people that are used to SOAP 1.1 will need to adapt themselves to
  SOAP 1.2 anyway, so why don't we make the same jump in WSDL 1.2? Also,
  the "basic" users don't produce WSDL themselves but leave it to the
  toolkit to generate it, so they won't even see a change.

 - we can define the soapAction attribute as having the same semantic as
 the SOAP action property: it is just short cut. While this is correct,
 we should make this kind of decision on a per-property basis.

Pros:

 - Reusability of the properties

  A property can be used by more than one feature. The SOAP Action
  property could be reused outside the scope of the SOAP feature. If you
  come with a binding for the protocol HTCPCP and happen to reuse the
  SOAP property, would you come up with the following syntax:
  <htcpcp:operation soapAction="http://example.com/GetLastTradePrice"/>
  or simply reuse the property without having to define a syntax?
  You can also define an element, instead of an attribute but in which
  namespace are you going to put this element? If you reuse the element
  outside its origin context, you'll be forced to use 2 namespaces.

 - It will be hard to avoid properties anyway: SOAP 1.2 introduces
 several properties (such as MEPs, web methods, ...). Are we going to
 avoid using properties at all and define a shortcut syntax for each of
 them or simply use the properties and features define in SOAP 1.2?

 - if it's a property, you know that you make the value or constraint
 available to the context, if it's an attribute or an element, your WSDL
 Processor need to understand it first. Glen will provide more on that 
 during the f2f.

Philippe

Received on Tuesday, 6 May 2003 11:56:21 UTC