OASIS ebXML Messaging Services TC

 View Only

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

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

    Posted 12-03-2001 18:28
    
    David,
    
    If things are working right, the end of a conversation should NEVER be
    controlled by persistDuration.  The end of a conversation is when the
    application (or conversation management middleware) says that it's the end.
    
    If persistDuration expires before the software says that the conversation
    is ended, it is  killing the conversation due to an abnormal condition.  I
    hope that the MSH would at least have the decency to notify the upper
    levels that it has killed a conversation. Once the conversation has been
    killed by the MSH, no further messages should be sent with the same
    conversation ID since that would confuse the heck out of the upper levels.
    The possiblity of that happening means that perhaps there should be a
    "start of conversation" indicator in the message header so that a receiving
    MSH can distinguish between the start of a new conversation and belated
    messages for conversations that it has killed.
    
    Note also that persistDuration may have a very different time scale if we
    are going to apply it to the conversationId since a conversation can last
    minutes or longer (maybe even weeks), depending on what is going on in the
    conversation.
    
    All of this suggests that we would do well to leave all conversation
    management, including routing of messages by conversationId, to the upper
    levels. That would avoid the need to figure out how long the MSH has to
    persist a conversationId.
    
    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
    *************************************************************************************
    
    
    
    David Fischer <david@drummondgroup.com> on 12/03/2001 03:44:24 PM
    
    To:    SHIMAMURA Masayoshi <shima.masa@jp.fujitsu.com>, Dan Weinreb
           <dlw@exceloncorp.com>, Martin W Sachs/Watson/IBM@IBMUS
    cc:    ebxml-msg@lists.oasis-open.org
    Subject:    RE: [ebxml-msg] Re: Comments on the 1.09 about ConversationId
    
    
    
    I seem to be missing something.  The end of a conversation is controlled by
    persistDuration, isn't it?  I think the ConversationId is held in
    persistent
    store with the MessageId (at least in the case of MessageOrdering).  Along
    with,
    or in, the MessageId record, there must be a persistDuration field.  When
    the
    last message in that conversation is deleted from the persistent store
    (persistDuration has passed), wouldn't the ConversationId automatically go
    with
    it?  If there are still messages waiting because they are out of order,
    would
    they not also be deleted when persistDuration expires?  If you are
    concerned
    with messages going away too quickly, then make persistDuration long.
    
    There is nothing forbidding another later message to be sent with the
    original
    ConversationId but the message order would not be of concern since all the
    previous messages have expired anyway.
    
    Or, are you saying ConversationId is held somewhere else?
    
    Regards,
    
    David Fischer
    Drummond Group.
    
    -----Original Message-----
    From: SHIMAMURA Masayoshi [mailto:shima.masa@jp.fujitsu.com]
    Sent: Monday, December 03, 2001 3:54 AM
    To: Dan Weinreb; mwsachs@us.ibm.com
    Cc: ebxml-msg@lists.oasis-open.org
    Subject: [ebxml-msg] Re: Comments on the 1.09 about ConversationId
    
    
    Dan and Martin,
    
    My proposal's purpose is not management of ConversationId by MSH itself.
    Its purpose is prevention of invalid ConversationId and acquisition of
    timing information of the end of conversation in MSH. Because message
    order is guaranteed per conversation. If higher layer (application or
    middleware) gives MSH invalid ConversationId, MSH will fail in guarantee
    of message order. And also if MSH can't know when the conversation
    finishes, MSH can't decide that when the conversation's sequence number
    information can be released from MSH's resource.
    
    So I can withdraw (1) in my proposals below, but I'd like to keep (2) as
    my proposal. Because if higher layer gives MSH the status information
    (Start, Middle, End or Alone), sending MSH and receiving MSH can check
    invalid ConversationId and can know when the conversation finishes.
    
    
    On Thu, 29 Nov 2001 19:39:33 +0900
    SHIMAMURA Masayoshi <shima.masa@jp.fujitsu.com> wrote:
    > The specification of ConversationId element on page 20 has two problems:
    >
    > 1) The value of the ConversationId element is determined by the Party.
    >
    >    ConversationId is very important for guarantee of message order.
    >    Because message order is guaranteed per each conversation. Thus MSH
    >    instead of Party should determines and manages the value of the
    >    ConversationId to prevent invalid ConversationId value. I propose
    >    following change:
    >
    >    Line 823-825
    >      ... The Party initiating a conversation determines the value of the
    >      ConversationId element that SHALL be reflected in all messages
    >      pertaining to that conversation.
    >         |
    >         V
    >      ... The Party indicates start and end of conversation to MSH. The
    >      value of the ConversationId element is generated and managed by the
    >      MSH.
    >
    > 2) Receiving MSH can't know the end of conversation.
    >
    >    Receiving MSH holds received conversation's ConversationId in its
    >    persistent storage for guarantee of message order. However receiving
    >    MSH has not any way to know the end of conversation. Thus receiving
    >    MSH don't know when ConversationId's information can be removed from
    >    its persistent storage.
    >
    >    To resolve the problem, I propose to add status attribute to
    >    ConversationId element. The status attribute takes one of following
    >    three values:
    >        Start:  First message in messages belong with the conversation.
    >        Middle: A message except for first and last message in messages
    >                belong with the conversation.
    >        End:    Last message in messages belong with the conversation.
    >        Alone:  First and last message in the conversation which consist
    >                of only one message. It MUST be specified when the
    >                conversation have only one message.
    
    
    Regards,
    
    --
    SHIMAMURA Masayoshi <shima.masa@jp.fujitsu.com>
    TEL:+81-45-476-4590(ext.7128-4241)  FAX:+81-45-476-4726(ext.7128-6783)
    Planning Dep., Strategic Planning Div., Software Group, FUJITSU LIMITED
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>