OASIS ebXML Messaging Services TC

 View Only
  • 1.  Groups - ebms_core-3.0-spec-wd-21.pdf (ebms_core-3.0-spec-wd-21.pdf) uploaded

    Posted 04-24-2007 22:41
    The document revision named ebms_core-3.0-spec-wd-21.pdf
    (ebms_core-3.0-spec-wd-21.pdf) has been submitted by Pete Wenzel to the
    OASIS ebXML Messaging Services TC document repository.  This document is
    revision #21 of ebms-3.0-spec-wd-04.pdf.
    
    Document Description:
    This is Working Draft 21 of OASIS ebXML Messaging Services
    Version 3.0: Part 1, Core Features.
    
    Changes since WD 20:
    * CORE-121: Corrected element/attribute capitalization,
      cardinality and qualification in schema, Section 5 and
      Examples.
    
    A "diff" marked version is also available in the document repository.
    
    View Document Details:
    http://www.oasis-open.org/apps/org/workgroup/ebxml-msg/document.php?document_id=23729
    
    Download Document:  
    http://www.oasis-open.org/apps/org/workgroup/ebxml-msg/download.php/23729/ebms_core-3.0-spec-wd-21.pdf
    
    Revision:
    This document is revision #21 of ebms-3.0-spec-wd-04.pdf.  The document
    details page referenced above will show the complete revision history.
    
    
    PLEASE NOTE:  If the above links do not work for you, your email application
    may be breaking the link into two pieces.  You may be able to copy and paste
    the entire link address into the address field of your web browser.
    
    -OASIS Open Administration
    


  • 2.  RE: [ebxml-msg] Groups - ebms_core-3.0-spec-wd-21.pdf (ebms_core-3.0-spec-wd-21.pdf) uploaded

    Posted 04-25-2007 01:14
    Thanks Pete:
    
    A substitution that we missed:
    
    - 2.2.6: the error "EmptyMessagePartitionFlow" should be renamed:
    EmptyMessagePartitionChannel
    
    - same in 3.2 (L727)
    
    - same in table 6.7.1
    
    - same in B.2.3 (L3591)
    
    - same in F.2.5.2 (L4346)
    
    Quite benign edit, and pretty straightforward...
    
    - Jacques
    
    
    


  • 3.  Re: [ebxml-msg] Groups - ebms_core-3.0-spec-wd-21.pdf (ebms_core-3.0-spec-wd-21.pdf) uploaded

    Posted 04-25-2007 18:51
    Good catch.  I'm uploading a corrected draft now.
    
    --Pete
    
    Thus spoke Jacques Durand (JDurand@us.fujitsu.com) on Tue, Apr 24, 2007 at 06:13:33PM -0700:
    > Thanks Pete:
    > 
    > A substitution that we missed:
    > 
    > - 2.2.6: the error "EmptyMessagePartitionFlow" should be renamed:
    > EmptyMessagePartitionChannel
    > 
    > - same in 3.2 (L727)
    > 
    > - same in table 6.7.1
    > 
    > - same in B.2.3 (L3591)
    > 
    > - same in F.2.5.2 (L4346)
    > 
    > Quite benign edit, and pretty straightforward...
    
    -- 
    Pete Wenzel 


  • 4.  RE: [ebxml-msg] Groups - ebms_core-3.0-spec-wd-21.pdf (ebms_core-3.0-spec-wd-21.pdf) uploaded

    Posted 04-25-2007 19:49
    Hello,
    
    I know there will be a second public review in some time, but I read some
    parts, in particular chapter 8 and appendix B and thought I might share some
    comments on them already.
    
    Line 2875:  
    Typo: line has two commas.
    
    Line 2895-2898:  
    "This response is sent back reliably over the response leg of the same SOAP
    Request-response MEP instance that carried the previous message."
    
    This seems to be refer to the specific case of an ebMS Transport Channel
    Binding of type "Sync"?     
    
    Request and response messages in a Push-and-Push message exchange can also
    both be sent reliably.  If the assumption is that sending an asynchronous
    response message reliably is like sending an asynchronous request or one way
    message reliably and needs no special discussion, then it would be useful to
    state this explicitly at this point. 
    
    If RM-SubmitResponse is not used for asynchronous ebMS response messages,
    then its name is too general, something like RM-SubmitSyncResponse would be
    more accurate.
    
    Line 2908:
    Related to earlier comment.  Does this diagram also cover the second leg in
    a Request-Reply MEP with a channel binding Two Way/Push-and-Push and Two
    Way/Pull-and-Push?
    
    Line 2966
    "the MSH" -> "the sending MSH"
    
    Line 2971:
    "generatedand" -> "generated and"
    
    Line 2982:
    "a failure do deliver must cause" -> "a failure to deliver MUST cause"
    
    Line 2984:
    "may be notified" -> "MAY be notified"
    
    Line 3025-3027:
    This will not work in case of multi-hop messaging, where the SOAP fault or
    HTTP response failure is received by an intermediary, which will often not
    have enough information or no channel to propagate this error back to the
    original ebMS sender.
    
    Line 3042:
    "periodic sending of status request ebMS signal (defined in Part 2 of this
    specification)" ->
    "periodic sending of status request signals (as may be defined in a future
    Part 2 of this specification)" 
    Reason: Part 2 does not yet exist, so some caution is good when referring to
    it.
    
    Line 3045:
    There is no section on reliability of the Two Way Push-and-Push and Two Way
    Pull-and-Push.  If they are covered by section 8.3.1, a sentence stating
    this could be added at line 3048.
    
    Similarly, there is no section on the Two-Way Push-and-Pull and Two-Way
    Pull-and-Pull. If these are covered by section 8.3.2, a similar textual
    addition would be useful.
    
    Line 3062
    "workflow":  confusing term perhaps.
    
    Line 3115:
    Formatting issue (should not be bullet)
    
    Line 3065, Figure 12, Reliability Ack 
    Would this reliability Ack be a standalone message? Some explanation might
    be useful. 
    
    Figure 13/14, second Reliability Ack. 
    Idem. 
    
    Line 3433, "OrderedDelivery: No Restriction".  
    Should there be some text here about a restriction among ConversationId and
    Group membership? It seems okay to reuse a group for multiple conversations,
    but messages that are part of a single conversation should not be in
    multiple groups (or rather concurrently active groups:  a conversation could
    start in one group, and continue in later one if that group is terminated).
    
    Line 3559-3561: 
    "Any pair of sequence lifecycle message
    (CreateSequence/CreataSequenceResponse,
    CloseSequence/CloseSequenceResponse, TerminateSequence/
    TerminateSequenceResponse ) MUST
    be exchanged over a single HTTP request-response."
    
    Does this mean that any use of WS-ReliableMessaging (in ebMS3) is tied to
    the HTTP protocol?  
    Can this MUST be relaxed to a SHOULD? Some ebMS end users have and prefer an
    all-asynchronous setup for their messaging (today ebMS2), is this not
    possible with ebMS3?
    
    Line 3458, section B.2
    Should there be some text here about correlation of use of ConversationId
    and Sequences? It seems okay to reuse a sequence for multiple conversations,
    but messages that are part of a single conversation should not be in
    different sequences (or rather concurrently active sequences:  a
    conversation could start in one group, and continue in later one if that
    group is terminated).
    
    Line 3865, figure 15.
    This is an example of a Two-Way MEP, but the PMode.MEP in the figure says
    "200704/oneWay".
     
    
    


  • 5.  RE: [ebxml-msg] Groups - ebms_core-3.0-spec-wd-21.pdf (ebms_core-3.0-spec-wd-21.pdf) uploaded

    Posted 05-08-2007 07:10
    
    
    
    
    
    Pim:
     
    inline



    mailto:pim.vandereijk@oasis-open.org]
    Sent: Wednesday, April 25, 2007 12:48 PM
    To: ebxml-msg@lists.oasis-open.org
    Subject: RE: [ebxml-msg] Groups - ebms_core-3.0-spec-wd-21.pdf (ebms_core-3.0-spec-wd-21.pdf) uploaded


    Hello,

    I know there will be a second public review in some time, but I read some parts, in particular chapter 8 and appendix B and thought I might share some comments on them already.

    Line 2875: 
    Typo: line has two commas.

    Line 2895-2898: 
    "This response is sent back reliably over the response leg of the same SOAP Request-response MEP instance that carried the previous message."

    This seems to be refer to the specific case of an ebMS Transport Channel
    Binding of type "Sync"?    

    Request and response messages in a Push-and-Push message exchange can also both be sent reliably.  If the assumption is that sending an asynchronous response message reliably is like sending an asynchronous request or one way message reliably and needs no special discussion, then it would be useful to state this explicitly at this point.

    If RM-SubmitResponse is not used for asynchronous ebMS response messages, then its name is too general, something like RM-SubmitSyncResponse would be more accurate.

    <JD> Reading again the reliability model, I think there is no reason to assume that RM-SubmitResponse is to be used only for 2-way underlying protocols, and on the back-channel of these. You are right to question why the model does not remain "abstract" here. A specific binding of  RM-SubmitResponse to the underlying protocol (e.g. to the back-channel of which) belongs to the RM bindings section (Appendix B) . I suggest we simply replace the sentence, in the definition of RM-SubmitResponse :
    "This response is sent back reliably over the response leg of the same SOAP Request-response MEP instance that carried the previous message."
    with: "This response is then sent back reliably ."
     



    Line 2908:
    Related to earlier comment.  Does this diagram also cover the second leg in a Request-Reply MEP with a channel binding Two Way/Push-and-Push and Two Way/Pull-and-Push?

    <JD> Although these "asynchronous" MEPs are not described in the core part, the answer is yes. And therefore again we should avoid the expression "Request Message" and "Response Message" unless tightly associated with the protocol level they are supposed to relate to (e.g. underlying protocol response, SOAP response, ebMS MEP response...). I suggest to change comment of Fig 10 as: "Fig 10: Operations for sending a message reliably."

    Then, in the comment immediately below, replace:

    "– either a user message in the One-Way/Push MEP, the first leg of a One-Way/Pull MEP, or the first leg of a Request-Reply MEP."

    with:

    "– as indicated in the "Reliability of ebMS MEPs" section (8.3), this sequence of operations is used for the user message in the One-Way/Push MEP, the Pull signal of a One-Way/Pull MEP, or the first leg of a Two-way/Sync MEP."

    Also, Fig 11 should be commented as:

    "Fig 11: Sending reliably a response message in an ebMS MEP."

    Then, in the comment immediately below, replace:

    "- either a pulled user message in the One-Way/Pull MEP or the response user message in a Two-Way/Sync MEP.

    with:

    "– as indicated in the "Reliability of ebMS MEPs" section (8.3), this sequence of operations is used for the pulled user message in the One-Way/Pull MEP,  or the response user message in a Two-way/Sync MEP."

    (we will indicate later in 8.3  that for 2-way async MEPs, the second leg can be treated as the first leg: using same seq of operations (RM-Submit..))

    Line 2966
    "the MSH" -> "the sending MSH"

    <JD> Right.

    Line 2971:
    "generatedand" -> "generated and"

    <JD> Right.


    Line 2982:
    "a failure do deliver must cause" -> "a failure to deliver MUST cause"

    <JD> Right.

    Line 2984:
    "may be notified" -> "MAY be notified"
    <JD> Right.

    Line 3025-3027:
    This will not work in case of multi-hop messaging, where the SOAP fault or HTTP response failure is received by an intermediary, which will often not have enough information or no channel to propagate this error back to the original ebMS sender.

    <JD> Replace: "However, in case of HTTP binding," with: "However, in case of HTTP binding and when no intermediaries are present,"

    Line 3042:
    "periodic sending of status request ebMS signal (defined in Part 2 of this specification)" -> "periodic sending of status request signals (as may be defined in a future Part 2 of this specification)"
    Reason: Part 2 does not yet exist, so some caution is good when referring to it.

    <JD> Remove the second bullet.

    Line 3045:
    There is no section on reliability of the Two Way Push-and-Push and Two Way Pull-and-Push.  If they are covered by section 8.3.1, a sentence stating this could be added at line 3048.

    <JD> Add: new section 8.3.4 "Reliability of other Transport-Channel-bound MEPs"

    that says:

    "Each one of the MEPs defined in 2.2.8: Two-way / Push-and-push, Two-way / Push-and-pull, Two-way / Pull-and-push, has been characterized as having a message choreography equivalent to a sequence of two of the previous MEPs (e.g. Two-way / Push-and-pull has a choreography equivalent to One-way /Push + One-way/Pull). The reliability of these more complex MEPs may be handled by composing reliable versions of these simpler exchanges, which are described in 8.3.1, 8.3.2, and 8.3.3. It can be noted that in such case, the reliable Two-way / Push-and-push MEP will not make use of the RM-SubmitResponse operation." 

    Similarly, there is no section on the Two-Way Push-and-Pull and Two-Way Pull-and-Pull. If these are covered by section 8.3.2, a similar textual addition would be useful.

    Line 3062
    "workflow":  confusing term perhaps.

    <JD> I think the TC settled on replacing with "operation sequence".

    Line 3115:
    Formatting issue (should not be bullet)

    <JD> Right.


    Line 3065, Figure 12, Reliability Ack
    Would this reliability Ack be a standalone message? Some explanation might be useful.

    <JD> Add: "The way the Reliability Acknowledgement binds to the underlying protocol - e.g. as a separate HTTP request, or on the back-channel of a previous message - is controlled by  the P-Mode parameter Reliability.AtLeastOnce.ReplyPattern."

    Figure 13/14, second Reliability Ack.
    Idem.

    Line 3433, "OrderedDelivery: No Restriction". 
    Should there be some text here about a restriction among ConversationId and Group membership? It seems okay to reuse a group for multiple conversations, but messages that are part of a single conversation should not be in multiple groups (or rather concurrently active groups:  a conversation could start in one group, and continue in later one if that group is terminated).

    <JD> No: both patterns are allowed and controlled by P-Mode parameters. Why wouldn't a same conversation be allowed to proceed over concurrent, intertwined reliable sequences (with different reliability levels?).

    Line 3559-3561:
    "Any pair of sequence lifecycle message
    (CreateSequence/CreataSequenceResponse,
    CloseSequence/CloseSequenceResponse, TerminateSequence/ TerminateSequenceResponse ) MUST be exchanged over a single HTTP request-response."

    Does this mean that any use of WS-ReliableMessaging (in ebMS3) is tied to the HTTP protocol? 
    Can this MUST be relaxed to a SHOULD? Some ebMS end users have and prefer an all-asynchronous setup for their messaging (today ebMS2), is this not possible with ebMS3?

    <JD> Use instead: " When an underlying two-way protocol is used, any pair of sequence lifecycle message (...) SHOULD be exchanged over a single request-response MEP of this protocol."

    Line 3458, section B.2
    Should there be some text here about correlation of use of ConversationId and Sequences? It seems okay to reuse a sequence for multiple conversations, but messages that are part of a single conversation should not be in different sequences (or rather concurrently active sequences:  a conversation could start in one group, and continue in later one if that group is terminated).

    <JD> see previous comment for Line 3433.

    Line 3865, figure 15.
    This is an example of a Two-Way MEP, but the PMode.MEP in the figure says "200704/oneWay".

    <JD>Right, should say "twoWay"

    <JD> Additionally: replace "simple request-response MEP" in B.1.4 title, with: "Two-way / Sync MEP
    "



    Original Message-----
    From: Durand, Jacques R. [mailto:JDurand@us.fujitsu.com]
    Sent: 25 April 2007 03:14
    To: pete.wenzel@sun.com; ebxml-msg@lists.oasis-open.org
    Subject: RE: [ebxml-msg] Groups - ebms_core-3.0-spec-wd-21.pdf
    (ebms_core-3.0-spec-wd-21.pdf) uploaded

    Thanks Pete:

    A substitution that we missed:

    - 2.2.6: the error "EmptyMessagePartitionFlow" should be renamed:
    EmptyMessagePartitionChannel

    - same in 3.2 (L727)

    - same in table 6.7.1

    - same in B.2.3 (L3591)

    - same in F.2.5.2 (L4346)

    Quite benign edit, and pretty straightforward...

    - Jacques



  • 6.  RE: [ebxml-msg] Groups - ebms_core-3.0-spec-wd-21.pdf (ebms_core-3.0-spec-wd-21.pdf) uploaded

    Posted 05-08-2007 08:34
    
    
    
    
    
     
    Hello Jacques,
     
    Thanks, this answers all of my questions.  In response to your question about my comment about line 3433, the restriction would be compatible with ebMS2:
     
    "The SequenceNumber is unique within the ConversationId and MSH.  The From Party MSH and the To Party MSH each set an independent SequenceNumber as the Sending MSH within the ConversationId. "
     
    I notice you are addressing how ebMS3 can do this in F.2.3.5 as a compatibility option, and that PMode.Reliability.Correlation allows to express this but also other options.
    Thinking about it more, I think you are right that this may be useful.  E.g. a "Place Order" could create a new business conversation, and then it may be necessary for each "Change Order" to be processed in sequence within the conversation. A "Cancel Order" would terminate the conversation and should be processed immediately, no need to wait until any in-process intermediate "Change Order"s have been processed, they could all be negatively accepted.  So it now seems you are offering a better In Order processing model with ebMS3 than in ebMS2.  Thanks for the clarification.
     
    Pim


    Line 3433, "OrderedDelivery: No Restriction". 
    Should there be some text here about a restriction among ConversationId and Group membership? It seems okay to reuse a group for multiple conversations, but messages that are part of a single conversation should not be in multiple groups (or rather concurrently active groups:  a conversation could start in one group, and continue in later one if that group is terminated).

    <JD> No: both patterns are allowed and controlled by P-Mode parameters. Why wouldn't a same conversation be allowed to proceed over concurrent, intertwined reliable sequences (with different reliability levels?).

    Line 3559-3561:
    "Any pair of sequence lifecycle message
    (CreateSequence/CreataSequenceResponse,
    CloseSequence/CloseSequenceResponse, TerminateSequence/ TerminateSequenceResponse ) MUST be exchanged over a single HTTP request-response."

    Line 3458, section B.2
    Should there be some text here about correlation of use of ConversationId and Sequences? It seems okay to reuse a sequence for multiple conversations, but messages that are part of a single conversation should not be in different sequences (or rather concurrently active sequences:  a conversation could start in one group, and continue in later one if that group is terminated).

    <JD> see previous comment for Line 3433.