WS-Choreography Conformance

Business Transaction Management


Contribution to the W3C WS-Choreography group on Conformance Statement for the Choreography Description Language ‘specification’


From: Tony Fletcher, Choreology Ltd


Introduction

This contribution makes the plea for an explicit conformance statement to be added to the WS-Choreography Language (CDL) specification. Without such an explicit statement whether an implementation conforms to a specification or not can be very much a matter of opinion and interpretation. Such a statement should make it very clear precisely what an ‘implementation’ has to be able to do, may optionally be able to do and shall not do to conform in some defined manner to the specification. For the CDL specification there are several different types of conformance that could be claimed and so it will certainly be worthwhile including a section on conformance.


In my opinion a clear conformance (/compliance) statement should always be included in a specification whenever it is the intent that it shall be possible to claim conformance for some form of implementation or compliance of some other specification. It is common for specifications to include an explicit conformance statement section – refer for instance to the W3C Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language W3C Working Draft 3 August 2004, Section 8, Extensible Markup Language (XML) 1.1 W3C Recommendation 04 February 2004, Section 5 and the OASIS Business Transaction Protocol, section 12 to name but two from a very long list of potential examples.


Issue

The Web Services Choreography Description Language, Version 1.0, Editor's Draft, 24 July 2004 does not include explicit statements as to what an implementation has to be able to do, may optionally be able to do, and shall not do to conform in some defined manner to this specification.


Proposal

Add a conformance statement section along the lines of the following text:

X. Conformance

X.1 General

An implementation can conform to this specification in one, or more, ways as described in the following sub-sections. A conformant implementation shall not do anything contrary to the statements in this specification.


If conformance to this specification is claimed for some ‘thing’, then that ‘thing’ MUST conform according one, or more, of the ways specified in sections X.2 to X.5.

X.2 Referencing specifications

A specification that references, and possibly extends this specification may require conformant implementation according to one, or more, of the sub-sections X.3 to X.5 below. It may require additional functions to be implemented, and / or add optional additional functions, which do not conflict with those specified in this specification. It may change any optional aspects of this specification to being prohibited, or required, or left optional. Thus a specification that references this specification may extend the schema given in Section 9 using the techniques of XML Schema only in ways that do not contradict or alter in any way the semantics for the elements and attributes defined in this specification as specified in section 2 of this specification.

X.3 Tools

A tool may support the functions of one, or more, aspects of the specification as specified in sections X.4 and X.5. If it supports an aspect then it shall support all the required and optional features of that aspect.

X.4 Document Conformance

X.4.1 CDL description document conformance

A CDL description document shall comply with the Schema specified in Section 9. The use of each element and attribute shall comply with Section 2 of this specification.


An element information item whose local part is package conforms to this specification if it conforms to the XML Schema for that element as defined by this specification and additionally adheres to all the constraints contained in this specification. It is NOT a conformance requirement to be able to process documents encoded in a particular version of XML.

X.4.2 CDL Web Service description document conformance

Each CDL description document may be associated with one, or more, Web service description documents as required by the CDL description. These shall comply with the requirements on port types given in section 2.x(?) and with the conformance requirements of WSDL [?].

X.5 CDL engine conformance

An implementation of a CDL engine for which conformance is claimed to this specification shall obey all the mandatory statements made in section 2. A statement shall be made as to which, if any, optional features the engine supports. If the engine supports an optional feature then it shall do so according to the requirements of this specification.


A statement shall be made with respect to any limitations on the number of different choreography descriptions that can be run simultaneously and the number of instances of each.


Add more statements about engine conformance requirements?


Page 2 of 2