OASIS ebXML Messaging Services TC

Re: [ebxml-cppa] [ebxml-msg] Attributes specified in both the messageand the CPA

  • 1.  Re: [ebxml-cppa] [ebxml-msg] Attributes specified in both the messageand the CPA

    Posted 11-01-2001 22:52
       Date: Thu, 1 Nov 2001 16:21:20 -0500
       From: "Martin W Sachs" <mwsachs@us.ibm.com>
    
       For version 1.1, the F2F ended up breaking out 6 or 8 separate Boolean
       parameters that together define the delivery semantics.  
    
    6 or 8?  Oh, come on, gimme a break... The only breaking out we did
    was to separate retry/ack from duplicate elimination to create the
    four possibilities BestEffort, AtLeastOnce, AtMostOnce, and
    OnceAndOnlyOnce.
    
    You may be thinking of a table with 8 *rows*, due to *3* booleans.
    The reason there were 3 booleans in the table was to distinguish
    between Ack and DeliveryReceipt and/or between hop-by-hop Ack and
    end-to-end Ack, a distinction that was *already* in place before the
    F2F meeting.
    
    							    The CPA
       will have to agre with however this redefinition comes out in the MS
       spec. This point applies to all the following paragraphs.
    
    Yes, I agree that the CPA will have to agree with this.
    
       MWS: I think there is a problem with interpreting the word "idempotent".
       Formally, idempotent means that repeating the function will produce the
       same result and therefore it is not necessary to eliminate duplicates,
       which I think is what you are saying here.  The problem (which I think
       we discussed at the F2F) is that "idempotency" in our context means
       "test for duplicates" (a common misuse of the word "idempotency"). We
       should say "eliminate duplicates", not "idempotency".
    
    I agree.  The word "idempotent" has been around for a very long time
    with the formal meaning that you give above, and we should not try
    to redefine it.
    
       MWS: I agree:  The problem with splitting delivery semantics into
       a bunch of boolean parameters means that some combinations are meaningless
       and in other cases, settings of two different parameters to "yes" is a
       redundancy.
    
    I see it the other way: by splitting one boolean into two orthogonal
    booleans, we get four combinations, each of which is meaningful and
    potentially valuable.  The current CPA, in contrast, has booleans for
    "idempotency" (sic) and "reliable", which are not orthogonal, hence
    the meaningless combinations.
    
    -- Dan