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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-tx message

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


Subject: Re: [ws-tx] Issue 012 - WS-C: Make precise, permissive statementrelating to methods of context propagation


Title: Message
I think the point is to say

a) if the context info gets to a service by any means then this enables the service to register participants (which is already said). This is unavoidably true, and anything we say can't prohibit OOB communications (e.g. via e-mail).

b) if the context is sent as a SOAP header element then it should do so with mustUnderstand=true (which is already said). This is a legitimate normative statement, helping to make precise usage in the 80-90th percentile of use cases.

and then to avoid making any other statements that might be interpreted as normative (which is to say, any statement that doesn't include "for example", "e.g.", and is especially true of any statement that shouts MUST).

Definitions of "flow", "propagate" and "infect" are not strictly necessary.

Alastair

Peter Furniss wrote:
Are you saying that an application that included the Coordination context as a descendant element of a SOAP:Body, with the expectation that the receiving service would register a Participant would NOT be "propagating the activity" ?  (this obviously would be equivalent to OTS explicit propagation).
 
We aren't really specifying normative behaviour here, but rather giving a (normative) definition of the term "propagate an activity". Recasting the text as a definition, avoiding MUST may be helpful. Then it becomes a distinct aspect of the issue of what behaviour we wish to include in the definition, and what other, narrower or wider terms we wish to define (e.g. "flowing a context", "infection")
 
Some candidate behaviours would be:
    a) CoordinationContext as a soap header element in a request (including one-way)
    b) CoordinationContext as a soap header in a response
    c) CoordinationContext as descendant element of soap body
    d) CoordinationContext as field in non-soap communication sent at coordinator-side initiative (e.g. multicast email)
    e) CoordinationContext as field in non-soap communication (e.g. http response)
     f) communication of the semantics and content of CoordinationContext, such that receiving party can send Register, but without actual transmission of the normative CoordinationContext element.
 
 
I'd call all of those "propagating the activity". f) is clearly out of our scope, but still legitimate and the Register/RegisterResponse exchange and subsequent ws-tx protocol exchanges are in scope. And the activity has clearly got propagated by some means.
 
We might want to say more about a) and b) as being typical, or even give them a special name.
 
Peter
 
 
 
-----Original Message-----
From: Thomas Freund [mailto:tjfreund@us.ibm.com]
Sent: 13 December 2005 05:26
To: ws-tx@lists.oasis-open.org
Subject: Re: [ws-tx] Issue 012 - WS-C: Make precise, permissive statement relating to methods of context propagation

In general the specification defines the normative behavior. When read the text from that perpective it seems to read fine. The sentences might be tightened slightly (as per the suggestions) to read "When an application propagates an activity, it includes a Coordination context as a header element of a SOAP application message" (11 177-178), i.e. retaining the semantics of the normative behavior.

If the user choses to do something else they are operating outside the scope of the document (and we certainly wouldn't want to include any text to explain that).

Regards
Tom

Inactive hide details for "Peter Furniss" <peter.furniss@choreology.com>"Peter Furniss" <peter.furniss@choreology.com>



To

<ws-tx@lists.oasis-open.org>

cc


Subject

[ws-tx] Issue 012 - WS-C: Make precise, permissive statement relating to methods of context propagation

This is hereby declared to be ws-tx Issue 012.

Please follow-up to this message or ensure the subject line starts Issue
012 - (ignoring Re:, [ws-tx] etc)

The Related Issues list has been updated to show the issue numbers.


Issue name -- WS-C: Make precise, permissive statement relating to
methods of context propagation.

Owner:  Alastair Green [mailto:alastair.green@choreology.com]

Target document and draft:

Protocol:  Coord

Artifact:  spec

Draft:

Coord spec working draft uploaded 2005-12-02

Link to the document referenced:

http://www.oasis-open.org/committees/download.php/15738/WS-Coordination-
2005-11-22.pdf

Section and PDF line number:

Section 2 "Coordination Context", ll. 136-137, ll. 177-178


Issue type:  Editorial (minor)


Related issues:

Issue 013 - WS-C: Remove fault 4.5 ContextRefused


Issue Description:

Means of context propagation by application cannot be prescribed by
WS- Coordination.


Issue Details:

ll. 136-137 contain the following sentence:

"CoordinationContext elements are placed within application messages."

ll. 177-178 read:

"When an application propagates an activity using a coordination
service, applications MUST include a Coordination context in the
outgoing message."

These two statements are examples of how contexts may be communicated,
flowed or propagated. They are not the only examples. This wording is
overly prescriptive. It is also a little imprecise.

For example: a context might have a static value, which is well-known,
and is supplied by publication which does not even involve computers.
Imagine a procurement
transaction which
occurs daily, but reuses the same
static context value. All registered suppliers are provided with a
context value, which they receive by means
which are out-of-band to the distributed procurement system. The term
"application message" tends to convey
"network message".

The general statement used elsewhere in the spec (ll. 26-27) is
preferable:

"Once a coordination context is acquired by an application, it is then
sent by whatever appropriate means to  another application."

The second aentence cited above (ll. 177-178) contains a very strong
(MUST) statement, whose meaning is not
very clear, in several respects.

 * An application does not "propagate an activity using a
   coordination service", it propagates the context
   of an activity, which has been generated by a
   coordination service.  The coordination service is not the
   agent of propagation.

 * The term "outgoing message" is not defined. Outgoing from who to
   whom? There may not be an outgoing
   message in a given application protocol.

 * The term "include" is not well-defined. If an interoperability
   spec makes a statement that something
   MUST be done then it usually implies that something
   predictable will
   happen, either on the wire, or in
   terms of the actions or reactions of an actor in a
   protocol. Here, the most we can say is that the context
   will have to arrive in the hands of a registering service
  (requester) by some means.

The statement immediately following (ll. 179-180), relating to use of
SOAP headers and the MustUnderstand flag, is precise and necessary.


Proposed Resolution:

Replace the paragraph (ll. 135-139), which reads:

"The CoordinationContext is a Context type that is used to pass
Coordination information to parties involved in a coordination
service. CoordinationContext elements are placed within application
messages. Conveying a context on an application message is commonly
referred to as flowing the
context. A CoordinationContext provides access to a coordination
registration service, a coordination
type, and relevant extensions."

with the paragraph:

 "The CoordinationContext is used by applications to pass Coordination
information to parties involved in an  activity. CoordinationContext
elements are propagated to
parties which  may need to register Participants for
the activity, using application-defined mechanisms -- e.g.
as a header element of a SOAP application message
sent to such parties. (Conveying a context in an application
message is  commonly referred to as flowing the
context.) A CoordinationContext provides access to a coordination
registration service, a coordination type, and relevant extensions."

Replace the statement (ll. 177-178)

"When an application propagates an activity using a coordination
service, applications MUST include a Coordination context in the
outgoing message."

with the following sentence:

"An application may propagate a CoordinationContext element as a child
element
of the Body, or of the Header,  of an application SOAP message. [delete
new paragraph and run
on to next sentence]"






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