OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-caf message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [ws-caf] proposal towards a resolution for issue 132


Thank you for your answers Peter - they are pretty much what I thought
they were. I think information like this should be added to the spec. I
was asking the questions partly tongue-in-cheek to point out that if you
want interoperable implementations you need to be very explicit in the
specification. Most implementers will not have the benefit of the
collective knowledge in the heads of the TC members that has been worked
out in a lot of discussions over the development of the spec. I am sure
there are other places in the spec that should similarly be clarified.


Regarding type

Since it is likely that other specifications will want to build on the
generic context provided by WS-Context, perhaps a section should be
added to the spec indicating how other specs should be built on this
one. For instance a referencing spec needs to indicate what the context
type must be set to, any additional fields in the context structure, and
the behavior of a given role operating with the specified type of
context. Another topic that could go in this section is how a
referencing spec should extend the basic context: does the SOAP header
have to use the element name "context" or does it just need to have a
type that extends the context complex type and any element name may be
used?

The "begin" message should mention the required type field (and I agree
with you Peter - it should be named consistent with the text,
protocol-uri is not mentioned in the text at all).

The spec should probably say that a message must not contain more than 1
context header having the same value for type (and if it is optional,
not more than one message that omits the type).

Bryan


-----Original Message-----
From: Furniss, Peter [mailto:Peter.Furniss@choreology.com] 
Sent: Friday, June 25, 2004 4:05 PM
To: Murray, Bryan P.; Green, Alastair J.; Newcomer, Eric; Greg Pavlik
Cc: Mark Little; ws-caf
Subject: RE: [ws-caf] proposal towards a resolution for issue 132


On looking at the text, I believe Bryan is right, and that the type
field is under-specified at the moment. I'd never noticed, partly
because I was looking for a field with the semantic outlined below, and
inflated the text that is actually there with what I thought it meant.
On this occasion, I think, from exchanges over the months, my
understanding was close to that intended by the authors - but it doesn't
actually say so, and Bryan's questions are are not resolved in the text.
This can be taken as an object lesson in what an open specification must
say - you dare not assume others will understand what you meant if you
don't say it explicitly (which is why "thunk factor" comparisons are
specious)

So, my understanding of the type (defined as "indicating the type of the
protocol") is that identifies a particular context-using protocol. A
type URI is assigned by a referencing specification to identify itself
and the procedures, data elements and services it specifies. It could be
identical to the namespace of the xml of that referencing spec, or could
be different. (I see no distinction between a "referencing
specification" and a "context [-using] protocol", other than that one
defines the other - in fact, in this case "context[-using] protocol" is 
better, as it avoids ambiguity for the case where one document specifies
more than one protocol (set of rules) and thus more than one type URI.

As an identifying URI, the constraints on the URI are only that the
assignor can be sure no-one else will assign it, and that it won't be
re-used for something else of the same kind. Thus you can make it the
URL of your favourite web site,  but used as a context type, provided
you can be sure no-one else will. (you can bend the re-use rule if the
extent of its use is tightly known). The URI can be from any uri scheme
(http:, urn:, etc). It is just an unambiguous name.

As URIs they are the same if they match lexically (I think there is an
ietf (?, w3c ?) spec defining exact rules for this, to canonicalise
escapes, though normally case sensitive string match will work)

On this interpretation, yes you could use type as a despatching
mechanism. 

The context receiver needs to know the type because without it, there is
no well-defined behaviour the receiver can be expected or required to
follow, other than any behaviour specified in the base context, or
implied by 
the application the context is being sent with.  The behaviour specified
in the 
base context is under consideration in other issues, and could well turn
out to be none. Implying the context protocol from the application 
protocol is what Alastair is suggesting.

I believe the type is initially set in the begin message (though the xml
for begin seems to call it a protocol-uri - the names shoulod be
aligned). It is thus chosen by the initiating requestor from the set of
context protocol names known.

Peter


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]