OASIS ebXML Messaging Services TC

Re: [ebxml-msg] Re: Comments on the 1.09 about ConversationId

  • 1.  Re: [ebxml-msg] Re: Comments on the 1.09 about ConversationId

    Posted 11-30-2001 13:47
    
    Gimme a break, Dan!  I didn't imply any of that.
    
    No, we shouldn't set constraints like that on the BPSS.  We could't do it
    even if we wanted to.  On the other hand, we have to be careful about
    heaping complexity on top of complexity to support use cases that aren't
    realistic.
    
    It is not reasonable, in my mind, to define a business process that emits
    two messages that have no responses and expect them to be always received
    in the order in which they were issued. Your particular use case only says
    that the messages have to be sent in a particular order.  You did not say
    anything to support the conviction that they have to be received in the
    same order.  I cannot imagine any reason why it would matter what order
    they are received in.
    
    A classic reason for a business response to each message is precisely to
    keep the messages in order. Further, your example of using the fork or join
    to deal with the ordering is exactly correct and sounds to me a lot simpler
    than loading the messaging service with the ordering function per
    conversation.  In fact, for this case, it is even simpler. If the shipping
    notice arrives first, post a reminder that the invoice is expected.  You
    surely aren't thinking that the correct ordering means that I must pay
    before the shipment arrives.  By the way, if that were the case, the
    payment would be the acknowledgment that maintains order since the supplier
    would probably not ship until it received payment.
    
    Please check the actual definition of that business process to see if there
    any requirement that those two messages be received in the order in which
    they were sent.  If so, that definition ought contain a  caveat that a
    messaging system be used that keeps them in order.
    
    Again, why would that business collaboration break if the messages were
    received in the opposite order?
    
    Regards,
    Marty
    
    *************************************************************************************
    
    Martin W. Sachs
    IBM T. J. Watson Research Center
    P. O. B. 704
    Yorktown Hts, NY 10598
    914-784-7287;  IBM tie line 863-7287
    Notes address:  Martin W Sachs/Watson/IBM
    Internet address:  mwsachs @ us.ibm.com
    *************************************************************************************
    
    
    
    Dan Weinreb <dlw@exceloncorp.com> on 11/30/2001 12:48:44 PM
    
    Please respond to "Dan Weinreb" <dlw@exceloncorp.com>
    
    To:    Martin W Sachs/Watson/IBM@IBMUS
    cc:    shima.masa@jp.fujitsu.com, ebxml-msg@lists.oasis-open.org
    Subject:    Re: [ebxml-msg] Re: Comments on the 1.09 about ConversationId
    
    
    
       Date: Fri, 30 Nov 2001 10:28:03 -0500
       From: Martin W Sachs <mwsachs@us.ibm.com>
    
       This is about the use case for message ordering in the quote from Dan
       Weinreb's posting below.
    
       ...
    
       Someone, please explain why the collaboration will break if I receive
       the
       advance shipment notice before the invoice. If that happens, I will know
       to
       expect the invoice.  It seems to me that these two messages are classic
       cases for using email, in which case the order of receipt is
       unpredictable.
       The code on the other side could issue a warning to its user if the
       advance
       ship notice comes first but it shouldn't crash the collaboration. If the
       collaboration protocol design really requires that the invoice be
       RECEIVED
       before the advance shipment notice, then the collaboration protocol
       should
       specify an acknowledgment to the invoice.
    
       Maybe I am missing an important point in this use case but if I am
       right,
       then I have to ask: why must we design for a broken use case?
    
    It seems to me that what you're saying is that there must be a
    restriction on all BPSS's, saying that there SHALL NOT be a business
    transaction in which the BPSS has two states, one following another,
    in which the first one receives a message for which there is no
    business reply, and the second one receives a message.
    
    You seem to be proposing that the MS protocol should have no ability
    to do message-ordering, and that the MS team should tell the BPSS team
    that this is *their* problem, and they should outlaw all BPSS's that
    might create the need for ordering in the MS.
    
    So if party A wants to send two messages to party B, and there is no
    need for business responses to these messages, then when A and B get
    together to agree on how they're going to be do business, they must
    either (a) introduce a business response that would otherwise not be
    necessary in order to meet this requirement, or (b) write the BPSS
    with a split(fork)/join so that it explicitly doesn't depend on the
    order.
    
    That doesn't seem like a constraint that we ought to force onto the BPSS.
    
    -- Dan