- From: Christopher B Ferris <chrisfer@us.ibm.com>
- Date: Sun, 27 Oct 2002 20:31:06 -0500
- To: Amelia A Lewis <alewis@tibco.com>
- Cc: "'www-ws-desc@w3.org'" <www-ws-desc@w3.org>
- Message-ID: <OF247D66E5.2E26E2D2-ON85256C5F.004F4E1D-85256C60.00083682@rchland.ibm.com>
Amy, This is quite interesting work (both the property binding and alternate email binding proposals). Some comments on the property binding proposal[1]: 1) Why have you chosen xs:string for the type of the algorithm/@name attribute? I would think that a QName would be preferable so as to avoid potential for name collision. Also, it might be useful to replace algorithm/@name with algorithm/@xsi:type (a QName) such that it could reference a schema defined type that defined the constraints on the content of the algorithm element (which would be declared as abstract in the schema definition and as a restriction of xs:string). This latter approach would allow the content of the algorithm element to be validated against the constraints (such as restricting the xs:pattern facet) stipulated in the schema definition of that algorithm type. 2) The use of an open-ended enum for the wsdl:*Property/@locationType attribute suggests to me that rather than define this as an enum, that it be defined as a QName and that the "built-in" or WSDL defined locationTypes be bound to the WSDL namespace. If other bindings define their own locationTypes, then they would be bound to their respective namespaces. 3) While having such a formal algebra for mapping the unbound abstract properties of a feature is IMO, quite useful, it does not seem to me to be appropriate that a WSDL description apply these for *each* binding defined in a WSDL description. I think that it increases the complexity of a given wsdl:binding unnecessarily. Rather, I see this formal notation/algebra as being quite useful for mapping a feature(s) to a protocol binding that is implied by the choice of binding namespace (e.g. http://www.w3.org/@@@@/@@/wsdl/soap) and the association of chosen features, by reference to their assigned URI. In other words, I think that it would be useful to be able to define a feature and its associated properties and property references, and then, for each defined protocol binding, define the mapping/binding of the abstract features in a manner such as you have proposed. This need only be defined once, and then simply referenced. e.g. <wsdl:feature name="NCName" uri="xs:anyURI"> <wsdl:documentation>burble</wsdl:documentation>? <wsdl:properties> <!-- enumerate the referenced set of properties used by the feature. These may come from multiple namespaces, not just the targetNamespace --> <wsdl:propertyRef property="QName"/>+ </wsdl:properties> <wsdl:featureBinding feature="QName" protocol="xs:anyURI"> <choice> <wsdl:simpleProperty property="QName" locationType="QName" use="required|optional|prohibited">location</wsdl:simpleProperty> <wsdl:complexProperty property="QName" locationType="QName" use="required|optional|prohibited">location</wsdl:complexProperty> <wsdl:propertyChoice property="QName" use="required|optional|prohibited"> <choice> <wsdl:simpleProperty/> <wsdl:complexProperty/> </choice>+ </wsdl:propertyChoice> </choice>+ </wsdl:featureBinding>+ </wsdl:feature>+ <!-- define the set of properties bound to the targetNamespace of this WSDL document --> <wsdl:property name="NCName" type="QName"> <wsdl:documentation>burble</wsdl:documentation>? </wsdl:property>+ Thus, a binding could simply reference the set of features it uses by either the feature's URI or by its QName. The binding-specific property mapping is then determined by matching the protocol URI with the value of wsdl:featureBinding/@protocol. Comments on the alternate email binding proposal[2]: 4) Why is the message-id property a xs:string? Seems to me that requiring it be a xs:anyURI would be "a good thing(tm)" IMO. Again, this is just the property, not a binding location's value. A property binding could provide an algorithm that converted the URI the an appropriate representation. e.g. mid:1035577985.4183.28.camel@xerom maps to: Message-Id: <1035577985.4183.28.camel@xerom> 5) The feature for MIME composite messages should be (IMO) a realization of/binding to the SOAP1.2 Attachment Feature[3]. I believe that this (MIME Composite) isn't a feature as much as a feature-specific binding. 6) Why have you chosen to separate out the Failure Destination feature from the Message Address feature? Message Address has a response-address property. Seems to me that the fdest:failure-destination sh/could be incorporated into the set of address properties and that in some cases, the failure-destination would simply be a reference to the response-address property (which itself might be a (defaulted) reference to the original-source property). Cheers, Christopher Ferris Architect, Emerging e-business Industry Architecture email: chrisfer@us.ibm.com phone: +1 508 234 3624 [1] http://lists.w3.org/Archives/Public/www-ws-desc/2002Oct/att-0128/01-property-binding.html__charset_ISO-8859-1 [2] http://lists.w3.org/Archives/Public/www-ws-desc/2002Oct/0126.html [3] http://www.w3.org/TR/soap12-af/ Amelia A Lewis wrote on 10/25/2002 04:33:05 PM: > Heyas ... > > After doing some work to try to use the various proposed frameworks, > I've come up with the following proposal to place on the table as well. > This work is based on the information in the SOAP 1.2 email binding > proposal, which went out earlier today. I realize that we're loading > all youse guys down with stuff to read on your otherwise delightful > weekends, but hey ... we had to *write* it. So there! *laugh* > > The attached is a proposal for defining, specifically, how a service may > bind abstract properties within the context of a particular protocol > binding. Feedback and responses welcome. > > Amy! > -- > Amelia A. Lewis > Architect, TIBCO/Extensibility, Inc. > alewis@tibco.com > [attachment "property-binding.html" deleted by Christopher B Ferris/Waltham/IBM]
Received on Sunday, 27 October 2002 20:31:43 UTC