ebxml-transport message


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

 


Help: OASIS Mailing Lists Help | MarkMail Help
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

Subject: Re: Expanding Reliable Messaging to meet the needs of IOTP


Henry,

RefToMessageId is already defined in the Header. I still
think that there is violation of the layers as outlined in
my previous posting.

Cheers,

Chris

Henry Lowe wrote:
> 
> David,
> 
> What you are suggesting, IMHO, does not violate layering except for
> item 1b.  If you were happy to live without 1b, I would back this
> as long as the "RefToMessageId" is in the ebXML Messaging Service
> Headers spec (it isn't yet, of course RM could put it in when they
> are integrated) and not in the underlying transport (not all under-
> lying transports may have "RefToMessageId"s and, even if they did,
> you might be back into layering problems).
> 
> Indeed, what you suggest, without 1b, probably wouldn't need any-
> thing in the TPA telling you where to look for your ACKed message
> ID (if it was a NORMAL message, you'd look in the "RefToMessageId"
> and if it was a "Acknowledgement" message you'd look in the
> "RefToMessageId", too -- nice and simple :-).
> 
> Of course, the question of how you get the fact that message 9876
> had been ACKed to the application (BP) has to be dealt with without
> violating layering, but that's easily dealt with, e.g., use the
> NOTIFICATION service (see the Technical Architecture section on
> TRP) to notify the BP that "message 9876 has been ACKed".  If we
> thought about it for a few minutes, we could probably come up
> with other alternatives.
> 
> Best regards,
> Henry
> 
> PS: Hope all got this as I stripped off all e-mail addresses except
> for the TRP list.  Let me know if you didn't get this ;-)
> ------------------------------------------------------
> At 01:06 PM 08/29/2000 -0700, David Burdett wrote:
> >Chris
> >
> >In the header we have "RefToMessageId" that identifies a message that is
> >caused "this" message to be generated.
> >
> >On an Acknowledgement message, this will refer to the message that is being
> >acknowledged.
> >
> >Why can't we simply say in the reliable messaging spec words along the lines
> >of ...
> >
> >>>>
> >Reliable delivery of a message to a destination is demonstrated by the
> >receipt of the sender of either:
> >1. A message with a Message Type of "Acknowldgement" that refers to the
> >message that was sent either:
> >  a) in the "RefToMessageId" field, or
> >  b) in the payload of the acknowledgement message (method TBD)
> >2. A message with a Message Type of "Normal" that refers in the
> >"RefToMessageId" field to the original message that was sent
> >
> >The method of acknowledging a message is specified in the Trading Party
> >Agreement or the Party Profile and is dependent on, for example:
> >* the data communications protocol being used
> >* the time taken to generate a "Normal" message in response to an earlier
> >"Normal" message.
> ><<<
> >
> >Note that the messaging service need not know *anything* about the business
> >process that is being supported.
> >
> >I honestly don't see where the complexity is or how this sort of approach
> >would violate the "layering".
> >
> >I also know that we if we don't spec this now, I will have to write our own
> >spec (that I would publish) to the list, that does it as we really, really
> >need it.
> >
> >David
> >
> >-----Original Message-----
> >From: Christopher Ferris [mailto:chris.ferris@east.sun.com]
> >Sent: Tuesday, August 29, 2000 7:03 AM
> >To: David Burdett
> >Cc: 'Henry Lowe'; 'mwsachs@us.ibm.com'; ebXML Transport (E-mail)
> >Subject: Re: Expanding Reliable Messaging to meet the needs of IOTP
> >
> >
> >All,
> >
> >I don't understand how this doesn't violate the layering.
> >It means that the MS has to track the behavior of the BP
> >which is IMHO out of the question.
> >
> >The MS shouldn't care where a given message originates
> >and the BP shouldn't be involved in any MS-level optimizations.
> >
> >This is an example of early optimization which is IMHO
> >a mistake, especially given that bandwidth is so much less
> >of a concern than it has been in the past, and the situation
> >is most definitely improving rapidly.
> >
> >This also violates the KISS principle and in my mind over
> >complicates any implementation.
> >
> >Cheers,
> >
> >Chris
> >
> >
> >David Burdett wrote:
> >>
> >> Henry
> >>
> >> You're suggesting just what I had in mind except that I think the "bit"
> >you
> >> mention could alternatively be held in a TPA.
> >>
> >> David
> >>
> >> -----Original Message-----
> >> From: Henry Lowe [mailto:hlowe@omg.org]
> >> Sent: Monday, August 28, 2000 9:43 AM
> >> To: David Burdett
> >> Cc: 'Christopher Ferris'; 'mwsachs@us.ibm.com'; ebXML Transport (E-mail)
> >> Subject: RE: Expanding Reliable Messaging to meet the needs of IOTP
> >>
> >> I must agree with David Brudett on this.
> >>
> >> First, you must remember, that for the low level
> >> "I got the message" ACK, you cannot rely on the
> >> underlying transport -- in some cases, e.g., SMTP,
> >> there just isn't an ACK with the underlying transport,
> >> and in the multi-hop case, the underlying transport
> >> ACK isn't end-to-end anyway.  What this amounts to is,
> >> if an "I got the message" MS level ACK is important,
> >> the MS has to send it!!
> >>
> >> With this in mind, what David is proposing, piggy-
> >> backing the low level and BP ACK (where it makes sense
> >> and is within reasonable timing constraints) is not
> >> only simple but also message efficient and it reduces
> >> the number of messages sent by 33% -- GOODness as it's
> >> messages, not bytes, which counts for efficiency.
> >>
> >> A simple (one bit) mechanism can be defined to implement
> >> this in the MS protocol (well, if you use XML it will be
> >> more than one bit).  In the original message sent (request
> >> of a request/response pair) set a flag (one bit?) whose
> >> semantics is, if set, hold off on ACK until response from
> >> the BP is to be sent and piggy-back the two -- in the
> >> response header you will have a similar flag which says
> >> this is a piggy-backed ACK.  Done is 2 messages instead
> >> of 3.
> >>
> >> This doesn't involve any layering violations (which I would
> >> guess is what Chris was thinking about) and involves a
> >> minimal increase of state preservation (one bit).
> >>
> >> Best regards,
> >> Henry
> >>
> >> PS: Note I'm shamelessly promoting multi-hop AGAIN.
> >> ----------------------------------------------------
> >> At 09:41 AM 08/25/2000 -0700, David Burdett wrote:
> >> >Chris
> >> >
> >> >Two main issues ...
> >> >
> >> >POINT ONE
> >> >I fundamentally disagree with you when you say ...
> >> >
> >> >>>> The business level response is just another message. It cannot be
> >> >interpreted as an ack without all kinds of kludgy whacked out code which
> >> the
> >> >MS must process to figure out which way is up.<<<
> >> >
> >> >This statement can ONLY be true IF THERE IS ONLY ONE WAY TO TECHNICALLY
> >> >SOLVE A PROBLEM which clearly is not true. I also assert that you cannot
> >> >PROVE that something can only be solved using "kludgy whacked out code"
> >> >since what would stop someone from solving the problem simply and
> >> elegantly.
> >> >Unless you can prove it is impossible to write elegant code then your
> >> >statement is fundamentally wrong.
> >> >
> >> >Anyway, to stop this getting in to a slanging match ;) What I will do
> >(but
> >> >folks please give me time - I have a day job) is write up a solution
> >which
> >> >solves the problem pretty elegantly based on a set of pseudo code that I
> >> >wrote to solve exactly this problem for IOTP.
> >> >
> >> >So Chris, I think the jury's out on this one.
> >> >
> >> >POINT TWO
> >> >Whilst I agree that we want to follow the KISS principle. We must support
> >a
> >> >reasonable set of use cases, that represent how eCommerce is actually
> >being
> >> >used today otherwise ebXML will not be adopted. Although synchronous
> >> >responses are needed for IOTP, they aren't the only cases. Commerce One's
> >> >"RoundTrip" and Ariba's "PunchOut" which both do similar things, both
> >need
> >> a
> >> >synchronous messaging system.
> >> >
> >> >So, again, to stop this getting in to a slanging match, the solution is
> >to
> >> >develop an alternative that proves that this is pretty simple to do.
> >Again
> >> I
> >> >will do this, but I need the time.
> >> >
> >> >David
> >> >PS I am about to go into a day-long meeting and might not be able to
> >> >continue this conversation until next week.
> >> >
> >> >-----Original Message-----
> >> >From: Christopher Ferris [mailto:chris.ferris@east.sun.com]
> >> >Sent: Friday, August 25, 2000 7:27 AM
> >> >To: David Burdett
> >> >Cc: 'mwsachs@us.ibm.com'; ebXML Transport (E-mail)
> >> >Subject: Re: Expanding Reliable Messaging to meet the needs of IOTP
> >> >
> >> >
> >> >I fundamentally disagree with this notion. The business level
> >> >response is just another message. It cannot be interpreted as
> >> >an ack without all kinds of kludgy whacked out code which the
> >> >MS must process to figure out which way is up.
> >> >
> >> >The MS should have a minimal set of functionality:
> >> >       send/receive a mesage, match to conversation, route to service
> >> >handler
> >> >       send/receive an MS-level ack or error, process accordingly
> >> >
> >> >which could be optimized with the windowing technique to:
> >> >       send/receive a window of messages, match to conversation, route to
> >> >service handler
> >> >       send/receive an MS-level ack or error, process accordingly
> >> >
> >> >Suggesting that a business message could double as an ack
> >> >would require all kinds of nasty logic at the
> >> >MS level which would impede performance to no end because each
> >> >receipt of a message would have to be analyzed to death.
> >> >Not only that but the design of the choreography would be overly
> >> complicated
> >> >IMO.
> >> >
> >> >The MS should be lean and mean with a minimum of boolean logic.
> >> >
> >> >Chris
> >> >
> >> >David Burdett wrote:
> >> >>
> >> >> >>>However I am concerned about relying on the business-level response
> >as
> >> >> the confirmation of receipt of the message because business-level
> >> timeouts
> >> >> can be very long<<<
> >> >>
> >> >> I agree which is why I'm proposing that the business-level response is
> >an
> >> >> *alternative* as some business processes can be very short and a
> >separate
> >> >> acknowledgement unnecessary. We can easily include the way in which
> >> >reliable
> >> >> messaging receives its acknowledgements through in the TPA.
> >> >>
> >> >> I'm also not sure that if you are having a pseudo-real-time
> >conversation
> >> >> that occurs in IOTP, that using a separate acknowledgement actually
> >works
> >> >on
> >> >> HTTP (can anyone advise).
> >> >>
> >> >> David
> >> >> PS Sending to whole list since that is what I reckon Marty intended to
> >> do.
> >> >>
> >> >> -----Original Message-----
> >> >> From: mwsachs@us.ibm.com [mailto:mwsachs@us.ibm.com]
> >> >> Sent: Monday, August 21, 2000 10:45 AM
> >> >> To: David Burdett
> >> >> Subject: Re: Expanding Reliable Messaging to meet the needs of IOTP
> >> >>
> >> >> Dave,
> >> >>
> >> >> Your suggestion has merit.  However I am concerned about relying on the
> >> >> business-level response as the confirmation of receipt of the message
> >> >> because business-level timeouts can be very long (consider a request
> >> which
> >> >> initiates a human workflow or requires the requestee to communicate
> >with
> >> a
> >> >> subcontractor first).  Waiting that long to discover than the request
> >was
> >> >> dropped by the network seems undesirable. However many of the
> >transports
> >> >> that will be used below the messaging service already have acks
> >> prescribed
> >> >> in their protocols.  If the implementation persists the message before
> >> >> sending the transport-level ACK, we should be covered without an extra
> >> >> layer of function.
> >> >>
> >> >> One case where the existing proposal seems to make sense is with SMTP
> >> >since
> >> >> SMTP has no end to end acknowledgment on a multihop path.
> >> >>
> >> >> 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 Burdett <david.burdett@commerceone.com> on 08/21/2000 11:30:37 AM
> >> >>
> >> >> To:   "ebXML Transport (E-mail)" <ebxml-transport@lists.ebxml.org>
> >> >> cc:
> >> >> Subject:  Expanding Reliable Messaging to meet the needs of IOTP
> >> >>
> >> >> Folks
> >> >>
> >> >> I suggest that reliable messaging should be expanded, so that, instead
> >of
> >> >> sending an ack, to imply that the message has been received, an
> >> >alternative
> >> >> would be to use the next "normal" message received instead.
> >> >>
> >> >> The reason I suggest this is because this is how the Internet Open
> >> Trading
> >> >> Protocol (RFC 2801) does it and I'm not sure that the current Reliable
> >> >> Messaging spec will support this method of working. In outline what
> >> >happens
> >> >> is illustrated by the following:
> >> >>
> >> >> 1. Customer sends a "Payment Request" message to a Payment Handler
> >(e.g.
> >> a
> >> >> bank) - using a HTTP Post
> >> >> 2. The Payment Handler processes the Payment Request and sends a
> >"Payment
> >> >> Response" message on the HTTP Response
> >> >> 3. If the Payment Response is not received in time, a timeout occurs
> >and
> >> >> the
> >> >> Customer resends the Payment Request
> >> >> 4. If the Payment Handler receives a duplicate Payment Request, then
> >they
> >> >> resend the Payment Response that they sent previously, but otherwise
> >> >> ignores
> >> >> it
> >> >>
> >> >> No separate acknowledgement message is needed since the receipt of the
> >> >> Payment Response by the Customer implies that the Payment Request has
> >> been
> >> >> received.
> >> >>
> >> >> Thoughts?
> >> >>
> >> >> David
> >> >>
> >> >> Product Management, CommerceOne
> >> >> 4400 Rosewood Drive 3rd Fl, Bldg 4, Pleasanton, CA 94588, USA
> >> >> Tel: +1 (925) 520 4422 (also voicemail); Pager: +1 (888) 936 9599
> >> >> mailto:david.burdett@commerceone.com; Web: http://www.commerceone.com
> >> >
> >> >--
> >> >    _/_/_/_/ _/    _/ _/    _/ Christopher Ferris - Enterprise Architect
> >> >   _/       _/    _/ _/_/  _/  Phone: 781-442-3063 or x23063
> >> >  _/_/_/_/ _/    _/ _/ _/ _/   Email: chris.ferris@East.Sun.COM
> >> >       _/ _/    _/ _/  _/_/    Sun Microsystems,  Mailstop: UBUR03-313
> >> >_/_/_/_/  _/_/_/  _/    _/     1 Network Drive Burlington, MA 01803-0903
> >
> >--
> >    _/_/_/_/ _/    _/ _/    _/ Christopher Ferris - Enterprise Architect
> >   _/       _/    _/ _/_/  _/  Phone: 781-442-3063 or x23063
> >  _/_/_/_/ _/    _/ _/ _/ _/   Email: chris.ferris@East.Sun.COM
> >       _/ _/    _/ _/  _/_/    Sun Microsystems,  Mailstop: UBUR03-313
> >_/_/_/_/  _/_/_/  _/    _/     1 Network Drive Burlington, MA 01803-0903

-- 
    _/_/_/_/ _/    _/ _/    _/ Christopher Ferris - Enterprise Architect
   _/       _/    _/ _/_/  _/  Phone: 781-442-3063 or x23063
  _/_/_/_/ _/    _/ _/ _/ _/   Email: chris.ferris@East.Sun.COM
       _/ _/    _/ _/  _/_/    Sun Microsystems,  Mailstop: UBUR03-313
_/_/_/_/  _/_/_/  _/    _/     1 Network Drive Burlington, MA 01803-0903


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Search: Match: Sort by:
Words: | Help

Powered by eList eXpress LLC