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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-rx message

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


Subject: Proposed Resolution for Issue i052


Title: Proposed Resolution for Issue i052

This is my proposal for resolving Issue 52 [IssuesList]:  
 
In a nutshell, this is what I am proposing:

(1) Make Delivery Assurance as a separate assertion, not a parameter.

Rationale:

(a) The engagement of RM and DAs are two separate concerns.

(b) While it is appropriate for RM to apply to all messages in an endpoint, DA is specific, and more granular than endpoint.

The DA concerns about the delivery of a message and requires a finer granularity. Further, the RM applies to the protocol, where the DA is a read only assertion which applies to the delivery guarantee of a specific message to an application. DA does NOT change the at least once protocol. 

The DA applies to a specific message, not to an endpoint. We could provide a syntactic shortcut to apply the same DA to all the messages in an endpoint, but this would be equivalent to stating the same DA for each message.

An endpoint may contain multiple message exchanges where each message exchange may require a different DA although they may be governed by the same RM configuration (MaxMessageNumber, AcknowledgementInterval). Therefore, it is imperative that we separate out these concerns with two separate assertions as they apply to different things and compose differently.

(2) Change the current representation not to use attributes, but element values. I really do dislike Policy Assertions using attributes with values, instead of using element content. This is not common practice.

Instead of using two attributes, I propose that we simplify to use 6 different element values. It is simpler to determine what the DA represents. (EOIO, EO, etc).


(3) Add a section for Attachment for the new assertion.

I propose adding the DA to a message Policy Subject, but only in the binding. Since RM engagement is an endpoint concern, the DA is at the binding level not at the abstract level.



Please NOTE that the specific lines would probably require more tweaking as a result of resolution of other issues, such as i050, i080 but the lines provided below will illustrate the spirit of the proposal and will allow us to discuss how to represent the DA concretely. Therefore, I am open to friendly amendements on the writeup.

Thanks.

--umit


--------------------------------------------------------------------------------------------------------------------


Change Section 2.5 in [wsrmp-02] As follows:

Replace Lines 186-192:

{The Delivery Assurance indicates a delivery assurance claim in effect between an Application Source and
an RM Source or an Application Destination and an RM Destination. The wsrmp:DeliveryAssurance
described below specifies the Delivery Assurance as defined by WS-ReliableMessaging [WS-RM].

The normative outline of a Delivery Assurance is:

}

With

{The Delivery Assurance Assertion indicates a delivery assurance claim in effect between an Application Source and
an RM Source or an Application Destination and an RM Destination. This assertion
described below specifies the Delivery Assurance as defined by WS-ReliableMessaging [WS-RM].

The Delivary Assurance Assertion does not affect the messages that are sent on the wire and the RM protocol.

The normative outline of a Delivery Assurance is:

}



Replace line 193-194
{<wsrmp:DeliveryAssertion mode="[AtLeastOnce|AtMostOnce|ExactlyOnce]"
ordered="[xs:boolean]"? ...="" >
}

With
{<wsrmp:DeliveryAssertion>AtLeastOnce|AtMostOnce|ExactlyOnce|AtLeastOnceInOrder|AtMostOnceInOrder|ExactlyOnceInOrder</wsrmp:DeliveryAssurance>

}

Retain line 195
The following describes additional, normative constraints on the outline listed above:

Replace lines 196-217
{/wsrmp:DeliveryAssertion
An assertion that makes a claim as to the delivery assurance policy in effect at the destination
endpoint.

/wsrmp:DeliveryAssertion/@mode
This required attribute specifies whether or not all of the messages within an RM Sequence will be
delivered by the RM Destination to the Application Destination, and whether or not duplicate
messages will be delivered.

A value of 'AtMostOnce' means that messages received by the RM Destination will be delivered to
the Application Destination at most once, without duplication. It is possible that some messages in
a sequence may not be delivered.

A value of 'AtLeastOnce' means that every message received by the RM Destination will be
delivered to the Application Destination. Some messages may be delivered more than once.
A value of 'ExactlyOnce' means that every message received by the RM Destination will be
delivered to the Application Destination without duplication.

/wsrmp:DeliveryAssertion/@ordered

This attribute, of type xs:boolean, specifies whether, or not, the destination endpoint ensures that
the messages within an RM Sequence will be delivered in order, by the RM Destination to the
Application Destination. Order is determined by the value of the RM message number. Ordered
delivery would mean that the messages would be delivered in ascending order of the message
number value. A value of 'true' indicates that messages will be delivered in order. A value of 'false'
makes no claims as to the order of delivery of the messages within a RM Sequence. If omitted,
the default implied value is 'false'.
}

With the following text

{/wsrmp:DeliveryAssertion
An assertion that makes a claim as to the delivery assurance policy in effect for a specific message.

The element value identifies how the messages within a sequence will be delivered by the RM Destination to the Application Destination, specifically whether or not all of the messages within an RM Sequence will be deliverred by the RM Destination to the Application Destination,  whether this delivery may include duplicate messages and whether the messages will be delivered in order or not. Ordered delivery would mean that the messages would be delivered in ascending order of the message number value and when the value indicates ordering, it means that the destination endpoint ensures that the messages within an RM Sequence will be delivered in order, by the RM Destination to the Application Destination.

A value of 'AtMostOnce' means that messages received by the RM Destination will be delivered to
the Application Destination at most once, without duplication. It is possible that some messages in
a sequence may not be delivered.

A value of 'AtLeastOnce' means that every message received by the RM Destination will be
delivered to the Application Destination. Some messages may be delivered more than once.

A value of 'ExactlyOnce' means that every message received by the RM Destination will be
delivered to the Application Destination without duplication.

A value of 'AtMostOnceInOrder' means that messages received by the RM Destination will be delivered to
the Application Destination at most once, without duplication. It is possible that some messages in
a sequence may not be delivered. The messages will be delivered in order.

A value of 'AtLeastOnceInOrder' means that every message received by the RM Destination will be
delivered to the Application Destination. Some messages may be delivered more than once.
The messages will be delivered in order.

A value of 'ExactlyOnceInOrder' means that every message received by the RM Destination will be
delivered to the Application Destination without duplication. The messages will be delivered in order.

}

Add a new section as stated below:


2.6 Delivery Assurance Assertion Attachment:

Delivery Assurance assertion indicates endpoint behavior over an RM Sequence for a specific message in a direction. Therefore, the assertion has Message Policy Subject [WS-PolicyAttachment]. Alternatively, the assertion may have the Operation Policy Subject. This attachment indicates a syntactic sugar for associating all the messages in a specific operation with the same Delivery Assurance.


WS-PolicyAttachment defines the following WSDL [WSDL 1.1] policy attachment points with Message Policy
Subject.

    wsdl:portType/wsdl:operation/wsdl:input
    wsdl:portType/wsdl:operation/wsdl:output
    wsdl:portType/wsdl:operation/wsdl:fault
    wsdl:binding/wsdl:operation/wsdl:input
    wsdl:binding/wsdl:operation/wsdl:output
    wsdl:binding/wsdl:operation/wsdl:fault

A Policy expression containing Delivery Assurance is only compatiable when RM Policy Assertion is in effect.

A Policy expression containing the RM Policy Assertion MUST NOT be attached to the following attachment points as they are abstract.

    wsdl:portType/wsdl:operation/wsdl:input
    wsdl:portType/wsdl:operation/wsdl:output
    wsdl:portType/wsdl:operation/wsdl:fault


----------------------------------

[wsrmp-02]

http://www.oasis-open.org/apps/org/workgroup/ws-rx/download.php/15796/wsrmp-1.1-spec-wd-02.pdf

[IssuesList] http://docs.oasis-open.org/ws-rx/issues/ReliableMessagingIssues.xml




----------------------

Dr. Umit Yalcinalp
Standards Architect
NetWeaver Industry Standards
SAP Labs, LLC
umit.yalcinalp@sap.com
Tel: (650) 320-3095



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