Re: More thoughts on making binding detail definition reusable

So essentially you are factoring out binding details?

+1 for making bindings more reusable.

In addition, I would suggest that, in bindings, we clearly 
separate message serialization from protocol "adapation". In your 
proposal, this could possibly take the form of two different 
<bindingTBD> sections. An alternative would be to split the 
existing <binding> section into two sections: <messageBinding> 
and <protocolBinding>.

Jean-Jacques.

Liu, Kevin wrote:
> 
> I made a proposal ([1])  last year to explore the idea of making binding detail definition reusable for multiple bindings. We had some discussion in  the DC F2F.  A straw poll was made later and many people expressed their interest in the idea of making binding detail definitions reusable. We tabled
> this issue due to its dependance on other issues.  Since then, the wg has made some progress in clarifying related issues.  This message tries to modify the initial proposal to reflect the recent changes (e.g. no servicetype anymore) and incoporate suggestions from other people (e.g add a "target"
> attribute to indicate where the binding detail can appear.).   I also try to list the questions the WG needs to answer to either close this discussion or move it forward.
> 
> Status Quo as in current part 1 draft [2]
> --------------------------------------
>  <binding name="ncname" type = "qname">*
>      <!-- binding details -->
>        <operation name="ncname"?>*
>          <!-- binding details -->
>          <input>*
>            <!-- binding details -->
>          </input>
>          <output>*
>            <!-- binding details -->
>          </output>*
>          <fault name="qname"?>
>            <!-- binding details -->
>          </fault>
>        </operation>
>  </binding>
> 
> Proposed new structure ( I use TBD as place holders, we need to come up with a good name for the new element and attribute)
> ----------------------------------
> 
> <bindingTBD name = "ncname" target = "binding|operation|message">*
>      <!-- binding details -->
> </bindingTBD>
> 
> <binding name="ncname" type = "qname" TBD = "qname">* 
>       <operation name="ncname"? TBD = "qname">*
>             <input TBD = "qname"/>
>            <output TBD = "qname"/>
>     	<fault name="qname"? TBD = "qname">
>        </operation>
>  </binding>
> 
> 
> Why should we bother?
> ------------------------------------
> - currently binding details are embeded within binding elements and are not reusable at all		
>       - in general, reusability is a good idea
>       - other wsdl constructs have been designed for reusability, eg 
>              - a message can be reused by multiple operations, 
>              - a portType can be reused by multiple bindings
> 	- a binding can be reused by multiple services
> 			
> - A separate wsdl construct for binding detail definition will make the extension points more manageable
>      -  status quo, we have to define 6 substitution groups (see [2]) for binding extensions
>      -  with the new construct, only one substitution group is needed
> 
> 
> Questions we have to answer
> -------------------------------------------
> - Does the benefits listed above in this case really worth the cost of adding another wsdl construct?
> - if yes, what to call the new element and the new attribute?
> 	
> Dependencies
> -------------------
> Will a better understanding of soap binding definition make it easier for us to answer the first question?
> 
> 
> [1] http://lists.w3.org/Archives/Public/www-ws-desc/2002Aug/0009.html
> [2] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#Binding
> 
> Best Regards,
> Canyang Kevin Liu
> Technology Architecture Group, 
> SAP Labs
> 3475 Deer Creek Road
> Palo Alto, CA 94304 
> (650) 849-5167 
> http://www.saplabs.com/
> 

Received on Tuesday, 21 January 2003 07:57:46 UTC