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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-transport message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RE: Implementation question for RM spec!



I agree with David.  We need to develop the list of grey-area topics.

The first thing to do with the list is to decide which topics are
messaging-service topics and which are for the application-services layer.

I view the application-services layer as part of the run-time middleware.
It is really implementation but if there isn't some kind of run-time
interoperability specification, there will be serious interoperability
problems. I view the RosettaNet Implementation Framework document as an
example of an interoperability specification.

Regarding David's example of checking that the sequence of messages
received agrees with the choreography, I view this as outside the scope of
the messaging service.  The sequence of messages is defined by the business
process definition and manifested in the TPA as the sequencing rules in
tpaML or whatever equivalent the TP and BP teams come up with.  Checking
the sequence of messages is a job for the run-time middleware (application
support services) since it can be done generically for all business
processes based on what is specified in the TPA.

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
*************************************************************************************



"Burdett, David" <david.burdett@commerceone.com> on 10/04/2000 08:56:32 PM

To:   Christopher Ferris <chris.ferris@east.sun.com>,
      ebxml-transport@lists.ebxml.org
cc:
Subject:  RE: Implementation question for RM spec!



I agree with Chris (again!) that we should not enforce sequencing of
messages but keep it separate. However sometimes (often?) the sequencing in
which a services processes messages is the same as the sequnce in which
they
were sent. So it does indeed fall into the "fuzzy grey area" as Chris
describes it.

Perhaps where Chris and I differ is that I think we (i.e. ebXML and
probably
TRP) need to address fuzzy grey area topics such as this as otherwise many
business processes will have to invent similar (but different and
non-interoperable) solutions to the problem.

Other topics that fall into this area include:
* checking the sequence in which documents are sent/received agrees with
the
document choreography
* validating and authenticating the sender of a message

So how about us developing a "grey list" then we can work out which items
on
the list we want (or don't want) to address in what priority.

David

-----Original Message-----
From: Christopher Ferris [mailto:chris.ferris@east.sun.com]
Sent: Wednesday, October 04, 2000 5:36 AM
To: ebxml-transport@lists.ebxml.org
Subject: Re: Implementation question for RM spec!


Marty/All,

I don't necessarily think that the issue is sequence of
delivery to the BPH (business process handler). Rather, it
is (IMHO) one of having the specification REQUIRE the sequencing
by a blocking protocol on the SENDING MSH. I just don't believe
that the specification should go there. I can think of any
number of creative ways in which sequence could be preserved
from the perspective of the receiving BPH without necessating a blocking
protocol on the part of the sending MSH.

I think that this is clearly an implementation detail which
is out of scope for the MS specification. It might be something
which TP should consider (e.g. an attribute of the BP stipulating
that ordering/sequencing be preserved/enforced by XXX).
I do believe that this falls in the area of the "fuzzy grey area"
of application support though.

Cheers,

Chris

Martin W Sachs/Watson/IBM wrote:
>
> If a logical channel is not blocked until the ACK is received, retries
will
> get messages out of order.  If every message has a business-level
response
> and ordering of messages is enforced by sequencing rules, then everything
> will stay in order. Of course, that only means that blocking is taking
> place at the business process level and it doesn't matter whether
blocking
> takes place at the MS level.
> Blocking is needed at the MS level to keep messages in order when the
> business process level doesn't force ordering.
>
> The questions are:
>    Do we want to restrict ourselves to scenarios where ordering is
>    preserved at the business process level?
>    If the business process level does not preserve ordering, do we care
>    whether the MS level gets things out of order?
>
> The conservative answer is not to let the MS level get messages out of
> order on a given logical channel.  That may or may not be the best
design.
>
> Note also that MS blocking is only within a single logical channel.
> Blocking in one channel does not cause other channels to stall (assuming
a
> good implementation).
>
> 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
>
****************************************************************************

*********
>
> christopher ferris <chris.ferris@east.sun.com> on 09/29/2000 11:24:06 PM
>
> To:   ebxml-transport@lists.ebxml.org
> cc:
> Subject:  Re: Implementation question for RM spec!
>
> Jim/All,
>
> It isn't clear to me why it would be necessary to
> block until the previously sent message is ack'ed.
> That would be one manner of implementing, but not an
> approach I'd choose.
>
> Since each message is ack'ed individually, you can
> send as many messages as you like and process the
> acks or retry (in the case of a timeout) oob.
>
> The specification stipulates that one MAY use either
> the sequence number OR the messageId (refToMessageId)
> for the purposes of determining which message is being
> ack'ed.
>
> This is my understanding of what we have worked out for
> phase one. Possibly, it is misguided, but I for one would
> not advocate a (logically) blocking protocol.
>
> Cheers,
>
> Chris
>
> Jim Hughes wrote:
> >
> > Sanjay,
> >
> > Reliable Message grouping (sending one ACK for a group of messages) was
> > eliminated in phase 1 for a variety of reasons - error propagation not
> well
> > understood, how to handle partially sent groups, how to recover, etc.
The
> > result is a very simple solution that does enforce a single pipeline as
> you
> > point out, with each reliable message being acknowledged before the
next
> > one is sent (unreliable messages flow at any time). We will remove the
> > restriction after Phase 1, when there will be more normative
> specifications
> > for implementors. Simplicity rules for the moment...
> >
> > Jim Hughes
> > Fujitsu
> >
> > At 06:56 PM 9/29/2000 -0700, Patil, Sanjay wrote:
> >
> > >Jim,
> > >
> > >Could you please also comment on the third question in my original
mail.
> > >It's about parallelism between any given sender-receiver pair.
> > >Is this restriction of working on one message at a time between
> > >any given sender-receiver pair a result of some TRP
> > >decision to get rid of the windowing. I vaguely remember
> > >your initial RM spec talking about windowing.
> > >
> > >Please advise.
> > >
> > >thanks,
> > >Sanjay Patil
> > >
>
----------------------------------------------------------------------------

>
> > >------------------------------
> > >Work Phone: 408 350 9619
> > >http://www.netfish.com
> > >
> > >
> > >-----Original Message-----
> > >From: Jim Hughes [mailto:jfh@fs.fujitsu.com]
> > >Sent: Friday, September 29, 2000 6:37 PM
> > >To: ebxml-transport@lists.ebxml.org
> > >Subject: Re: Implementation question for RM spec!
> > >
> > >
> > >Marty's exactly right on the complexity issues.
> > >
> > >The current TRP resolution for RM requires each sending MSH to
generate
> > >sequence numbers for each sender-receiver pair (regardless of
> transport).
> > >Whether a receiving MSH actually uses the sequence number or the
> globally
> > >unique MessageID to detect duplications is implementation dependent.
> It's a
> > >lot easier to detect dups using sequence numbers...
> > >
> > >Jim
> > >
> > >At 06:10 PM 9/27/2000 -0400, Martin W Sachs/Watson/IBM wrote:
> > >
> > > >I believe that you correctly understand the intent of the RM
protocol
> and
> > > >its implementation requirements.  There indeed has to be a separate
> > > >"logical channel" for each pair of channels, if not for each
> conversation,
> > > >using reliable messaging, precisely to avoid the  blocking you
> mention.
> > > >That's what it takes to get the parallelism you mention.
> > > >
> > > >I believe that the implementation would be simplified and perform
> better if
> > > >the sequence numbers were eliminated as someone (yourself?) has
> already
> > > >suggested.  I assume that sequence numbers have been discussed at
this
> > > >week's TRP face to face.
> > > >
> > > >Except for the sequence number question, I believe that exactly the
> same
> > > >implementation considerations would be present if reliable messaging
> were
> > > >done in the transport layer instead of the message service.
> > > >
> > > >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
> > > >
>
***************************************************************************
> > >**********
> > > >
> > > >
> > > >
> > > >"Patil, Sanjay" <Spatil@netfish.com> on 09/27/2000 02:45:15 PM
> > > >
> > > >To:   "Ebxml-Transport (E-mail)" <ebxml-transport@lists.ebxml.org>
> > > >cc:   "Ebxml-Poc (E-mail)" <ebxml-poc@lists.ebxml.org>, "Askary,
Sid"
> > > >       <saskary@netfish.com>
> > > >Subject:  Implementation question for RM spec!
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >I was going through the Reliable Messaging spec for scoping the work
> > > >involved in implementing the spec for the upcoming Tokyo POC.
> > > >Questions about the same ...particularly in the context of the
> following
> > > >requirement posed by the RM spec ...
> > > >      A sender MSH should not send the next message till it receives
> > > >      an Acknowledgement Message from the Receiver.
> > > >
> > > >   1>This will necessitate instantiating a separate MSH instance for
> each
> > > >recipient
> > > >      party, as it will not be fair for blocking outgoing messages
to
> > > >Parties
> > > >having
> > > >      a clear messaging channel while Messages to Parties with poor
> links
> > > >are
> > > >
> > > >      successfully sent (tried to send).
> > > >
> > > >   2>This will also mean that separate outbound message queues are
to
> be
> > > >      maintained for each recipient. For each recipient Party, I
will
> have
> > > >to
> > > >manage
> > > >      the lifecycle of a dedicated SequenceCounter i.e.recycling the
> > > >SequenceCounter
> > > >      upon tripping over the max as well as when they get stale
after
> "long
> > > >time".
> > > >      In hub scenarios, this will amount to a lot of runtime objects
> > > >creation
> > > >and
> > > >      will also require an ongoing activity in the server to manage
> the
> > > >queues and
> > > >      lifecycles of the SequenceCounter objects.
> > > >
> > > >   3>With lots of outbound messages for the same recipient Party,
> there
> > > >      should be some provision for parallelism. Typically when
servers
> can
> > > >handle multiples
> > > >      of parallel message exchanges, the RM spec will necessitate
> using a
> > > >single
> > > >      pipeline resulting into underutilization of capacity and
slowing
> down
> > > >of the entire
> > > >      process. Critical messages requiring immediate transfer might
> get
> > > >stuck
> > > >in the
> > > >      queue for unreasonable amount of time.
> > > >
> > > >Or am I missing something very fundamental. It's been a while I have
> done
> > > >ebXML,
> > > >and with the Tokyo POC not very far, I got to catch up :-).
> > > >
> > > >thanks,
> > > >Sanjay Patil
> > > >
>
---------------------------------------------------------------------------
> > >-
> > > >
> > > >------------------------------
> > > >Work Phone: 408 350 9619
> > > >http://www.netfish.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





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC