WS-I

Conformance Claim Attachment Mechanisms Version 1.0

Final Material

2004-11-15

This version:
http://www.ws-i.org/Profiles/ConformanceClaims-1.0-2004-11-15.html
Latest version:
http://www.ws-i.org/Profiles/ConformanceClaims-1.0.html
Errata for this Version:
Editors:
Mark Nottingham, BEA Systems
Claus von Riegen, SAP
Administrative contact:
secretary@ws-i.org

Abstract

This document catalogues mechanisms that can be used to attach WS-I Profile Conformance Claims to Web services artifacts (e.g., WSDL descriptions, UDDI registries).

Status of this Document

This is a final specification. Please refer to the errata, which may include normative corrections to it.

Notice

The material contained herein is not a license, either expressly or impliedly, to any intellectual property owned or controlled by any of the authors or developers of this material or WS-I. The material contained herein is provided on an "AS IS" basis and to the maximum extent permitted by applicable law, this material is provided AS IS AND WITH ALL FAULTS, and the authors and developers of this material and WS-I hereby disclaim all other warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THIS MATERIAL.

IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR WS-I BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS MATERIAL, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.

Feedback

If there are areas in this specification that could be clearer, or if errors or omissions are identified, WS-I would like to be notified in order to provide the best possible interoperability guidance.

By sending email, or otherwise communicating with WS-I, you (on behalf of yourself if you are an individual, and your company if you are providing Feedback on behalf of the company) will be deemed to have granted to WS-I, the members of WS-I, and other parties that have access to your Feedback, a non-exclusive, non-transferable, worldwide, perpetual, irrevocable, royalty-free license to use, disclose, copy, license, modify, sublicense or otherwise distribute and exploit in any manner whatsoever the Feedback you provide regarding the work. You acknowledge that you have no expectation of confidentiality with respect to any Feedback you provide. You represent and warrant that you have rights to provide this Feedback, and if you are providing Feedback on behalf of a company, you represent and warrant that you have the rights to provide Feedback on behalf of your company. You also acknowledge that WS-I is not required to review, discuss, use, consider or in any way incorporate your Feedback into future versions of its work. If WS-I does incorporate some or all of your Feedback in a future version of the work, it may, but is not obligated to include your name (or, if you are identified as acting on behalf of your company, the name of your company) on a list of contributors to the work. If the foregoing is not acceptable to you and any company on whose behalf you are acting, please do not provide any Feedback.

Feedback on this document should be directed to wsbasic_comment@ws-i.org.


Table of Contents

1. Introduction
1.1. Notational Conventions
2. Conformance Claim Attachment Mechanisms
2.1. WSDL 1.1 Claim Attachment Mechanism for Web Services Instances
2.2. WSDL 1.1 Claim Attachment Mechanism for Description Constructs
2.3. UDDI Claim Attachment Mechanism for Web Service Registrations
2.4. UDDI Claim Attachment Mechanism for Web Service Instances
3. Conformance Claim XML Schema
4. Conformance Claim tModels
4.1. UDDI Version 2
4.2. UDDI Version 3
Appendix A: Acknowledgements

1. Introduction

To allow advertisement of profile conformance, artifacts can be annotated with conformance claims, which use URIs to assert that a particular claim subject (e.g., an artifact or a party to a Web service) meets the appropriate requirements in the indicated profile.

The requirements considered in-scope for a particular conformance claim are those placed upon the conformance target(s) associated with the claim attachment mechanism by the relevant profile.

Therefore, every profile specifies its own conformance claim URI. Furthermore, every profile documents which of its conformance targets are in-scope for each claim attachment mechanism described in the following sections.

1.1 Notational Conventions

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119.

This specification uses a number of namespace prefixes throughout; their associated URIs are listed below. Note that the choice of any namespace prefix is arbitrary and not semantically significant.

2. Conformance Claim Attachment Mechanisms

2.1 WSDL 1.1 Claim Attachment Mechanism for Web Services Instances

Conformance claims can be attached to a wsdl:port element in a WSDL 1.1 description as a child of its wsdl:documentation element, using the Conformance Claim Schema (see "Conformance Claim XML Schema").

Such conformance claims indicate that the associated Web service instance exhibits conformant behavior, as determined by the requirements associated with this attachment mechanism by the referenced profile.

A conformance claim attached to a wsdl:port element also indicates that it itself is a conformant XML construct. Additionally, the same claim is made for all elements recursively referenced by it, based on the transitivity rules described in "WSDL 1.1 Claim Attachment Mechanism for Description Constructs."

wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl" 
  xmlns:tns="http://example.org/myservice"
  xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap"
  xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/"
  targetNamespace="http://example.org/myservice"> 
  <wsdl:portType name="MyPortType"> 
      ... 
  </wsdl:portType> 
  <wsdl:binding name="MyBinding" portType="MyPortType" > 
      ... 
  </wsdl:binding> 
  <wsdl:service name="MyService" > 
    <wsdl:port name="MyPort" binding="tns:MyBinding" > 
      <wsdl:documentation>
        <wsi:Claim 
         conformsTo="http://ws-i.org/profiles/basic/1.0" />
      </wsdl:documentation>
      <soapbind:address  
       location="http://example.org/myservice/myport" />
    </wsdl:port> 
  </wsdl:service> 
</wsdl:definitions>

2.2 WSDL 1.1 Claim Attachment Mechanism for Description Constructs

Conformance claims can be attached to wsdl:binding, wsdl:portType, wsdl:operation (as a child element of wsdl:portType, but not of wsdl:binding) and wsdl:message elements in a WSDL 1.1 description, using the Conformance Claim Schema (see "Conformance Claim XML Schema").

A conformance claim attached to any of these elements indicates that it is a conformant XML construct, as determined by the requirements associated with this attachment mechanism by the referenced profile. Additionally, the same claim is made for all elements that it references, based on the following transitivity rules, applied recursively:

2.3 UDDI Claim Attachment Mechanism for Web Service Registrations

Conformance claims can be attached to a uddi:tModel in a UDDI Version 2 or 3 registry using the appropriate ws-i-org:conformsTo:2002_12 category system tModel (see "Conformance Claim tModels").

A conformance claim attached to a tModel indicates that it is a conformant XML construct, as determined by the requirements associated with this attachment mechanism by the referenced profile.

uddi:tModels should be constructed so that the conformance claims placed upon them are consistent with the conformance claims made by the wsdl:bindings to which they refer.

The categorization value should correspond to the conformance claim URI for the profile.

<tModel tModelKey="...">
   <name>BarSOAPService</name>
   <description xml:lang="EN">Bar's SOAP Service</description>
   <overviewDoc>...</overviewDoc>
   <categoryBag>
      <keyedReference
         tModelKey="uuid:65719168-72c6-3f29-8c20-62defb0961c0"
         keyName="ws-i_conformance:BasicProfile1.0"
         keyValue="http://ws-i.org/profiles/basic/1.0" />
   </categoryBag>
</tModel>

Here, the tModel with the name "BarSOAPService" claims to conform to the Basic Profile 1.0, as indicated by the keyedReference – the tModelKey references the ws-i-org:conformsTo:2002_12 category system and the keyValue identifies the conformance claim URI for the Basic Profile 1.0.

In UDDI Version 2 registries, uddi:bindingTemplate elements can't be categorized because the UDDI Version 2 XML Schema does not provide a uddi:categoryBag for them. Hence, the conformance claim made by wsdl:port elements can't be documented in their corresponding UDDI Version 2 uddi:bindingTemplates.

2.4 UDDI Claim Attachment Mechanism for Web Service Instances

Conformance claims can be attached to a uddi:bindingTemplate in a UDDI Version 3 registry using the ws-i-org:conformsTo:2002_12 category system tModel specified in Section 4.2. Note that this attachment mechanism is not available in UDDI Version 2 registries.

Such conformance claims indicate that the associated Web service instance exhibits conformant behavior, as determined by the requirements associated with this attachment mechanism by the referenced profile.

A conformance claim attached to a uddi:bindingTemplate also indicates that the tModel itself is a conformant registry contruct. Additionally, a claim made for a uddi:bindingTemplate is made for all tModels it references.

<tModel tModelKey="uddi:example.org/myservice">
   <name>BarSOAPServiceDefinition</name>
   <description xml:lang="EN">Bar's SOAP Service Definition</description>
   <overviewDoc>...</overviewDoc>
   <categoryBag>
      <keyedReference
         tModelKey="uddi:65719168-72c6-3f29-8c20-62defb0961c0"
         keyName="ws-i_conformance:BasicProfile1.0"
         keyValue="http://ws-i.org/profiles/basic/1.0" />
   </categoryBag>
</tModel>

Since UDDI Version 3 allows the categorization of uddi:bindingTemplates, It would be ambiguous if the conformance claim a uddi:bindingTemplate made were not consistent with the claim made by the wsdl:port it represents, when used in combination with a WSDL 1.1 description. Therefore, uddi:bindingTemplates must be constructed so that the conformance claims they make are consistent with any wsdl:ports that they refer to.

<bindingTemplate bindingKey="...">
   <description xml:lang="EN">Bar's SOAP Service</description>
   <accessPoint>http://example.org/myservice/myport</overviewDoc>
   <tModelInstanceDetails>
      <tModelInstanceInfo tModelKey="uddi:example.org/myservice" />
   </tModelInstanceDetails>
   <categoryBag>
      <keyedReference
         tModelKey="uddi:65719168-72c6-3f29-8c20-62defb0961c0"
         keyName="ws-i_conformance:BasicProfile1.0"
         keyValue="http://ws-i.org/profiles/basic/1.0" />
   </categoryBag>
</bindingTemplate>

3. Conformance Claim XML Schema

When possible (i.e., when a claim attachment is made in an extensible XML document), conformance claims SHOULD be made with an Element Information Item conformant to the following XML Schema:

<?xml version="1.0" encoding="UTF-8" ?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  targetNamespace="http://ws-i.org/schemas/conformanceClaim/"
  xmlns:tns="http://ws-i.org/schemas/conformanceClaim/" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  elementFormDefault="qualified" 
  attributeFormDefault="unqualified" > 

  <xsd:import namespace="http://schemas.xmlsoap.org/soap/envelope/" 
    schemaLocation="http://schemas.xmlsoap.org/soap/envelope/" />

  <xsd:element name="Claim" > 
    <xsd:complexType> 
      <xsd:sequence> 
        <xsd:any namespace="##any" processContents="lax" 
         minOccurs="0" maxOccurs="unbounded" /> 
      </xsd:sequence> 
      <xsd:attribute name="conformsTo" type="xsd:anyURI" use="required" /> 
      <xsd:attribute ref="soap:mustUnderstand" use="prohibited" />
      <xsd:anyAttribute namespace="##any" processContents="lax" /> 
    </xsd:complexType> 
  </xsd:element> 

</xsd:schema>>

The Claim element has a mandatory conformsTo attribute, whose value contains the actual conformance claim URI. The conformance claim schema explicitly allows for extensibility elements and attributes.

4. Conformance Claim tModels

4.1 UDDI Version 2

The content for the ws-i-org:conformsTo:2002_12 UDDI Version 2 category system tModel is:

<tModel tModelKey="uuid:65719168-72c6-3f29-8c20-62defb0961c0"> 
  <name>ws-i-org:conformsTo:2002_12</name> 
  <description xml:lang="EN">
  Category system used for UDDI entities 
  to point to the WS-I profile to which they conform
  </description> 
  <overviewDoc> 
    <overviewURL>http://ws-i.org/schemas/conformanceClaim/</overviewURL> 
  </overviewDoc> 
  <categoryBag> 
    <keyedReference 
      keyName="uddi-org:types:categorization" 
      keyValue="categorization"
      tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4" /> 
  </categoryBag> 
</tModel>

4.2 UDDI Version 3

The following is the UDDI Version 3 ws-i-org:conformsTo:2002_12 category system tModel.

<tModel tModelKey="uddi:65719168-72c6-3f29-8c20-62defb0961c0">
  <name>ws-i-org:conformsTo:2002_12</name>
  <description xml:lang="EN">
  Category system used for UDDI entities
  to point to the WS-I concept to which they conform to
  </description>
  <overviewDoc>
    <overviewURL>
      http://ws-i.org/schemas/conformanceClaim/
    </overviewURL>
  </overviewDoc>
  <categoryBag>
    <keyedReference
      keyName="uddi-org:types:categorization"
      keyValue="categorization"
      tModelKey="uddi:uddi.org:categorization:types"/>
  </categoryBag>
</tModel>

The Version 3 tModelKey for the ws-i-org:conformsTo:2002_12 tModel is "uddi:65719168-72c6-3f29-8c20-62defb0961c0". In a multi-version registry this results in the correct Version 2 key allowing conformance claims work correctly across versions.

Appendix A: Acknowledgements

This document is the work of the WS-I Basic Profile Working Group, whose members have included:

Mark Allerton (Crystal Decisions Corp), Steve Anderson (OpenNetwork), George Arriola (Talking Blocks, Inc.), Siddharth Bajaj (Verisign), Keith Ballinger (Microsoft Corp.), David Baum (Kantega AS), Ilya Beyer (KANA), Rich Bonneau (IONA Technologies), Don Box (Microsoft Corp.), Andrew Brown (Verisign), Heidi Buelow (Quovadx), David Burdett (Commerce One, Inc.), Luis Felipe Cabrera (Microsoft Corp.), Maud Cahuzac (France Telecom), Mike Chadwick (Kaiser Permanente), Martin Chapman (Oracle Corporation), Richard Chennault (Kaiser Permanente), Roberto Chinnici (Sun Microsystems), Dipak Chopra (SAP AG), Jamie Clark (OASIS), David Cohen (Merrill Lynch), Ugo Corda (SeeBeyond Tech), Paul Cotton (Microsoft Corp.), Joseph Curran (Accenture), Alex Deacon (Verisign), Mike DeNicola (Fujitsu Limited), Paul Downey (BT Group), Jacques Durand (Fujitsu Limited), Aladin Eajani (Hummingbird, Ltd.), Michael Eder (Nokia), Dave Ehnebuske (IBM), Mark Ericson (Mindreef Inc), Colleen Evans (Microsoft Corp.), Tim Ewald (Microsoft Corp.), Chuck Fay (FileNET Corp.), Chris Ferris (IBM), Daniel Foody (Actional Corporation), Satoru Fujita (NEC Corporation), Shishir Garg (France Telecom), Yaron Goland (BEA Systems Inc), Marc Goodner (SAP AG), Pierre Goyette (Hummingbird, Ltd.), Hans Granqvist (Verisign), Martin Gudgin (Microsoft Corp.), Marc Hadley (Sun Microsystems), Norma Hale (Webify Solutions Inc), Bob Hall (Unisys Corporation), Scott Hanselman (Corillian), Muir Harding (Autodesk Inc.), Loren Hart (Verisign), Andrew Hately (IBM), Harry Holstrom (Accenture), Lawrence Hsiung (Quovadx), Hemant Jain (Tata Consultancy), Steve Jenisch (SAS Institute), Erik Johnson (Epicor Software), Bill Jones (Oracle Corporation), Anish Karmarkar (Oracle Corporation), Dana Kaufman (Forum Systems), Takahiro Kawamura (Toshiba), Oldre Kepka (Systinet), Bhushan Khanal (WRQ Inc.), Sandy Khaund (Microsoft Corp.), Jacek Kopecky (Systinet), Sanjay Krishnamurthi (Informatica), Sundar Krishnamurthy (Verisign), Eva Kuiper (Hewlett-Packard), Sunil Kunisetty (Oracle Corporation), Christopher Kurt (Microsoft Corp.), Lars Laakes (Microsoft Corp.), Canyang Kevin Liu (SAP AG), Ted Liu (webMethods Inc.), Donna Locke (Oracle Corporation), Brad Lund (Intel), Michael Mahan (Nokia), Ron Marchi (EDS), Jonathan Marsh (Microsoft Corp.), Eric Matland (Hummingbird, Ltd.), Barbara McKee (IBM), Derek Medland (Hummingbird, Ltd.), David Meyer (Plumtree Software Inc.), Jeff Mischkinsky (Oracle Corporation), Ray Modeen (MITRE Corp.), Tom Moog (Sarvega Inc.), Gilles Mousseau (Hummingbird, Ltd.), Greg Mumford (MCI), Jim Murphy (Mindreef Inc), Bryan Murray (Hewlett-Packard), Richard Nikula (BMC Software, Inc.), Eisaku Nishiyama (Hitachi, Ltd.), Mark Nottingham (BEA Systems Inc), David Orchard (BEA Systems Inc), Vivek Pandey (Sun Microsystems), Jesse Pangburn (Quovadx), Eduardo Pelegri-Llopart (Sun Microsystems), Mike Perham (Webify Solutions Inc), Eric Rajkovic (Oracle Corporation), Shaan Razvi (MITRE Corp.), Rimas Rekasius (IBM), Mark Richards (Fidelity), Graeme Riddell (Bowstreet), Sam Ruby (IBM), Tom Rutt (Fujitsu Limited), Saikat Saha (Commerce One, Inc.), Roger Sanborn (Crystal Decisions Corp), Matt Sanchez (Webify Solutions Inc), Krishna Sankar (Cisco Systems Inc.), Jeffrey Schlimmer (Microsoft Corp.), Don Schricker (Micro Focus), Dave Seidel (Mindreef Inc), AKIRA SHIMAYA (NTT), David Shoaf (Hewlett-Packard), Yasser Shohoud (Microsoft Corp.), David Smiley (Ascential Software), Seumas Soltysik (IONA Technologies), Joseph Stanko (Plumtree Software Inc.), Andrew Stone (Accenture), Julie Surer (MITRE Corp.), YASUO TAKEMOTO (NTT), Nobuyoshi Tanaka (NEC Corporation), Jorgen Thelin (Microsoft Corp.), Sameer Vaidya (Talking Blocks, Inc.), William Vambenepe (Hewlett-Packard), Claus von Riegen (SAP AG), Rick Weil (Eastman Kodak Company), Scott Werden (WRQ Inc.), Ajamu Wesley (IBM), Ian White (Micro Focus), Dave Wilkinson (Vignette), Mark Wood (Eastman Kodak Company), Prasad Yendluri (webMethods Inc.), and Brandon Zhu (NetManage Inc).