View
212
Download
0
Category
Preview:
Citation preview
Report from the ATFReport from the ATF
ATF teamATF team
22
What is an Attribute?What is an Attribute?
Think of it this way:Think of it this way:– Attributes define a pattern or short hand for messages Attributes define a pattern or short hand for messages
that are supported by a servicethat are supported by a service– Attribute MAY be used as a constraint on the values for Attribute MAY be used as a constraint on the values for
input and output messages on certain operationsinput and output messages on certain operations– An Attribute MAY be viewed as an element of a “logical An Attribute MAY be viewed as an element of a “logical
document” associated with the servicedocument” associated with the service
Some applications of Attributes:Some applications of Attributes:– Represent properties/values associated with the serviceRepresent properties/values associated with the service– Represent values of a service’s “metadata”Represent values of a service’s “metadata”– Represent the manageable properties of a serviceRepresent the manageable properties of a service– Represent values of a service’s “state”Represent values of a service’s “state”– Other things that sgg cannot currently imagineOther things that sgg cannot currently imagine
33
What is Needed?What is Needed?
A single standard for modeling attributes at the interface A single standard for modeling attributes at the interface levellevelA simple base mechanism to get/set values associated A simple base mechanism to get/set values associated with attributeswith attributes– But, doing this in a way that supports more sophisticated But, doing this in a way that supports more sophisticated
mechanismsmechanismsGet/Set subsets of all the attributes for a service in a single Get/Set subsets of all the attributes for a service in a single operationoperationQuery mechanisms on the values of multiple attributesQuery mechanisms on the values of multiple attributes
The exact set of requirements are in the reportThe exact set of requirements are in the reportOther domains (eg OASIS WSDM, GGF) MAY define Other domains (eg OASIS WSDM, GGF) MAY define interface(s)/operation(s) that provide more sophisticated interface(s)/operation(s) that provide more sophisticated access to the values represented by the attributeaccess to the values represented by the attribute
44
Why is this Needed?Why is this Needed?
Several vendors/users are passionate about this workSeveral vendors/users are passionate about this workSeveral groups (eg GGF, WSDM) have independently Several groups (eg GGF, WSDM) have independently defined approaches in this space, therefore impetus to defined approaches in this space, therefore impetus to standardizestandardizeStandardizing this in WSDL increases probability of Standardizing this in WSDL increases probability of interoperability on the definition and the simple interoperability on the definition and the simple operationsoperations– The aforementioned groups have stated preference that this The aforementioned groups have stated preference that this
concept be standardized in WSDLconcept be standardized in WSDL
Provides standard base upon which others can define Provides standard base upon which others can define more sophisticated operations over attributesmore sophisticated operations over attributes
55
ATF ProposalATF Proposal
As with the last proposal (in Raleigh)As with the last proposal (in Raleigh)– Model “attribute” as a first class component Model “attribute” as a first class component
child of interfacechild of interface– Sibling of operationSibling of operation
What is different?What is different?– The base binding mechanismThe base binding mechanism– Simpler, message pattern exchange approachSimpler, message pattern exchange approach
66
As with last time, Define Attribute As with last time, Define Attribute Component on the InterfaceComponent on the Interface
<definitions><definitions> <interface><interface> <attribute<attribute element="element="xs:QNamexs:QName"" access= “read” | “write” | “read-write”? >access= “read” | “write” | “read-write”? > <documentation /><documentation /> </attribute>*</attribute>* </interface></interface></definitions></definitions>
77
Bindings define how to do simple Bindings define how to do simple get/set on the attribute’s valueget/set on the attribute’s value
Define the way that bindings inform the Define the way that bindings inform the consumers of the WSDL the consumers of the WSDL the message setsmessage sets for get/setfor get/set
This is analogous to the way that bindings This is analogous to the way that bindings inform WSDL consumers how to interpret inform WSDL consumers how to interpret operationsoperations
All bindings MUST define how they treat All bindings MUST define how they treat attributes that appear in the interfaceattributes that appear in the interface
88
SOAP/HTTP BindingSOAP/HTTP Binding
Get requestGet request<soap:envelope><soap:envelope> <soap:body><soap:body> <wsdl:get-attribute name=<wsdl:get-attribute name=xsd:QNamexsd:QName/>/> </soap:body></soap:body></soap:envelope></soap:envelope>
Get ResponseGet Response<soap:envelope><soap:envelope> <soap:body ...><soap:body ...> <<xsd:QNamexsd:QName> current value </> current value </xsd:QNamexsd:QName>> </soap:body></soap:body></soap:envelope></soap:envelope>
Possible fault messages:Possible fault messages:– UnknownAttributeUnknownAttribute– WriteOnlyAttributeWriteOnlyAttribute
99
SOAP/HTTP BindingSOAP/HTTP BindingSet requestSet request
<soap:envelope><soap:envelope>
<soap:body><soap:body>
<xsd:QName> new value </xsd:QName><xsd:QName> new value </xsd:QName>
</soap:body></soap:body>
</soap:envelope></soap:envelope>
Set ResponseSet Response– Currently (none)Currently (none)– We are considering that there should be a formal ack and the We are considering that there should be a formal ack and the
possibility of soap:fault messagespossibility of soap:fault messages– Lack of soap:fault message in response body to be interpreted Lack of soap:fault message in response body to be interpreted
as successas success
1010
HTTP BindingHTTP Binding
Get (use http get verb)Get (use http get verb)urlurl?attribute-ns=?attribute-ns="xsd:anyURI"&attribute-localname="localName""xsd:anyURI"&attribute-localname="localName"
Value of the attribute (or error message) appears in body Value of the attribute (or error message) appears in body of http response of http response Set (use http post verb)Set (use http post verb)– Body of the post contains new value:Body of the post contains new value:
<<xsd:QNamexsd:QName> new value </> new value </xsd:QNamexsd:QName>>
Set ResponseSet Response– Currently (none)Currently (none)– We are considering that there should be a formal ack and the possibility We are considering that there should be a formal ack and the possibility
of fault messages and/or appropriate HTTP codesof fault messages and/or appropriate HTTP codes– Interpret the http header to determine successInterpret the http header to determine success
Recommended