[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsrm] editorial updates for 0.93
Jacques Durand wrote:
> Here is my suggested edits for spec 0.93, covering Sections 1 and 2.
> -Jacques
>
> 1.--------------------------
> Section 1.6: "Examples of Messages..."
> This section should appear much further in the doc
> after the protocol elements have been described in detail.
> No reader will expect to see these examples here, or to understand them
> that early...
>
How about at the end of section 3?
> 2.--------------------------
>
> Section 1.
> (from Tue 3 meeting minutes)
> RM Capability Text not yet put in the spec.
>
I thought we agreed to wait until resolution of wsdl annotation before
adding the capability section.
> 3.--------------------------
>
> Section 2.1: "Overview of Messaging Model"
> Propose to replace the subsection titles (e.g. "Request/Response
> Messaging Model")
> with "Request/Response Signaling Pattern", because Messaging Model
> designates the
> whole set of the three types of signaling described here (reusing the
> term
> Messaging model to name parts of the "Messaging Model" is confusing.
> Or we should at least title "Messaging Models". But I think "Model"
> should be
> the whole set.).
>
Signaling pattern is a new term which would need to be defined., I
prefer the plural "models". Signalling connotes telecom mechanisms,
like ss7 to me.
> Propose also to replace:
> "There are three ways to send back Acknowledgment message or Fault
> message as
> described as follows:"
> with:
> "There are three ways to do signaling, i.e. send back an
> Acknowledgment message or
> a Fault message. They are called here "signaling patterns""
> As well as at other places in this section.
>
We already have the term Reply pattern. Are you suggesting to change
the name to signalling pattern?
> 4.--------------------------
>
> Section 2.2 (beginning):
> insert the middle sentence, for smoother reading:
> "Every Reliable Message MUST contain a globally unique Message
> Identifier.
> >>This Message Identifier relies on the notion of group<<. A message
> always
> belongs to a group. "
>
> 5.--------------------------
>
> Section 2.3: Guaranteed Delivery:
>
> - Add at the beginning a reference to the RM agreement item that has
> been defined
> more generally in Section 1:
> "When the RM Agreement Item GuaranteedDelivery is enabled, the
> AckRequested header
> element MUST be present in the Request element of the message header,
> for each
> message under this agreement."
> Doing so allows to relate all requirements (MUST) for this feature, to
> the
> presence of this agreement item. So all these "MUST" are clearly
> conditioned
> by the enabling of this agreement item: no abstract statement such as
> "when guaranteed
> delivery is required... then header MUST..."
> When in the future a representation of the RM agreement is proposed
> (within this specification or outside), nothing in the spec body will
> need be changed:
> it will be enough to define how the RM Agreement binds to this
> represenstation.
>
> - Remove the current first sentence (no need to repeat the general
> definition given for the agreement item.)
>
> - The rule for stopping resending has actually 3 cases (not 2):
> "If the RMP sending a Reliable Message does not receive an
> Acknowledgment for a sent message
> that has not yet expired, it MUST resend the same message with same
> Message Identifier to the
> receiver RMP until either one of the following occurs (whichever
> occurs first):
> . the sender gets an Acknowledgment message from the receiver,
> . the number of resend attempts specified by the RetryMaxTimes
> agreement item is exhausted,
> . the messages expires (ExpiryTime is past).
>
> 6.-----------------------
>
> Section 2.4: Duplicate Elimination:
>
> - Add at the beginning a reference to the RM agreement item that has
> been defined
> more generally in Section 1:
> "When the RM Agreement Item NoDuplicateDelivery is enabled, the header
> element DuplicateElimination
> MUST be present in the Request element of the message header, for each
> message under this agreement."
>
> - Replace the sentence about persistence of message IDs, with:
> "In case the DuplicateElimination element is present, an RMP MUST
> check for duplicates of the message
> over past messages that have not expired yet."
>
> 7.-----------------------
>
> Section 2.5: Guaranteed Message Ordering:
>
> - Add at the beginning a reference to the RM agreement item that has
> been defined
> more generally in Section 1:
> "When the RM Agreement Item OrderedDelivery is enabled, the header
> elements MessageOrder,
> AckRequested and DuplicateElimination MUST be present in the Request
> element, for each message
> under this agreement."
>
>
> - Sections 2.5 and 2.6 should be merged, as they are both describing
> aspects of
> Guaranteed Message Ordering. The example for (1)(2)(3) should not be
> repeated
> in both (even if for different purposes) but be consolidated in 1
> example.
> Sequence number mechanism should be succinctly introduced so that reader
> understand what these numbers come from:
> "This specification defines a model that uses sequential numbers to
> represent the
> order of the messages in a sequence. The message header element
> SequenceNum holds this number as value.
> Figure 3 illustrates how ordering is enforced. Assume the sender
> application submits three messages.
> The sender RMP will number these messages in the order they have been
> submitted: (1)(2)(3) ..."
>
>
> - I would add the following text to illustrate how ordering can be
> enforced,
> and underlining that persistence is just an option (see Jun Tatemura
> mail):
> "The way a receiver RMP can enforce the ordering depends on the
> implementation:
> a common approach is to persist of out-of-order messages in a sequence,
> until the missing messages are received.
> How long the out-of-order sequence can be, is an implementation decision.
> However, a lazy approach would
> consist of simply ignoring the out of order messages, and of relying
> on the
> resending mechanism to get these
> messages later, with increased chance that missing messages are
> received in-between."
>
> - We need to describe the failure case for ordering:
> "Failure Case:
> In case a message is missing and either (1) a received out-of-order
> message has expired,
> or (2) restoring an ordered delivery would require too much effort
> from an implementation
> (e.g. the number of out-of-order messages is too large), the receiver
> RMP MUST abort
> the ordered delivery. This means that only an ordered,
> contiguous subset of the original sequence, starting from message "0",
> is allowed to be delivered.
> The sender RMP knows what are the messages that have not been
> delivered yet,
> as they are those with sequence numbers beyond the greatest number for
> which it
> has received an Acknowledgement."
>
>
> 8.-----------------------
>
> Section 2.5.1: Group Termination:
> - Add at the beginning a reference to the RM agreement item that has
> been defined
> more generally in Section 1:
> (replace the 2 first sentences with:)
> "There are two RM Agreement items - GroupExpiryTime and
> GroupMaxIdleDuration - that
> can be used to determine when a group can be terminated. These two
> items can be
> considered as controlling the persistence of group data.
> To each of these agreement items, correspond respectively the message
> header attributes:
> groupExpiryTime and groupMaxIdleTime. The following requirements
> pertain to these
> header attributes: "
>
> - second bullet need be made more precise, similar to 1st bullet:
> "If the first message has either one of the two group persistence
> parameter present
> (either groupExpiryTime, or groupMaxIdleDuration) then the group will
> be subject to
> termination rules t1, t2 or t3 described below"
>
> 9. -------------------------
> Section 2.9:
> Reword for more precision:
> "*The current version of the WS-Reliability protocol does not support
> reliability
> of WSDL response messages (the "output" messages in WSDL operations).
> It only supports reliability of the WSDL request ("input" messages).
> ** WS-I BP 1.0 disallows sending a SOAP envelope in HTTP response, so
> an RMP is
> not required to support this.
> However, this specification does not require an RMP to enforce this
> restriction
> (i.e. WS-I BP compliance).
> The receiver RMP may implement a "response" ReplyPattern if a received
> message asks for it. "
>
>
>
>
--
----------------------------------------------------
Tom Rutt email: tom@coastin.com; [email protected]
Tel: +1 732 801 5744 Fax: +1 732 774 5133
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]