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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-msg message

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


Subject: RE: Layering, to allow alternative protocols between particular h ops


Dan

You make a good argument for a two layer approach to ebxml (hop-to-hop and
end-to-end) and a clearly defined interface between them. However, I think
this is a version 2.0 rather than a 1.1 issue.

David

-----Original Message-----
From: Dan Weinreb [mailto:dlw@exceloncorp.com]
Sent: Saturday, September 15, 2001 1:23 AM
To: mwsachs@us.ibm.com
Cc: ebxml-msg@lists.oasis-open.org
Subject: Layering, to allow alternative protocols between particular
hops


   Date: Fri, 14 Sep 2001 10:19:28 -0400
   From: "Martin W Sachs" <mwsachs@us.ibm.com>

Let me address your points in a different order than the order in which
you presented them.

   Also, as the Arpanet evolved (into the Internet), 

OK, I promise, no more Arpanet.  From now on I'll use Internet analogies.

						     everything in the cloud
   speaks IP.  There is no free-for-all choosing of unique protocols between
   different nodes.

Sure there is: you have to keep in mind the layers of the protocol
stack.  A TCP implementation is a software module running at layer 4
(ISO OSI terminology).  It runs the TCP algorithms and finally calls
into layer 3.  The layer-4-to-layer-3 API specifies that layer 4
passes an Internet Protocol packet, which specifies a destination in
the form of a 32-bit Internet address, and layer 3 promises to make an
effort to deliver the packet.  The software module running at layer 3
now has, precisely, a free-for-all choosing of unique protocols at
layer 2.  It might decide, for example, to use Ethernet, or it might
decide to use token ring.

Now, there seems to be lack of universal agreement about whether we're
trying to put together the kind of architecture in which there can be
an A-B-C-D link in which B talks to C using some protocol that we
didn't define.  I think the mail of the last few days shows that some
people think this is within our charter and some have not thought of
it as being in our charter.  Somewhere along the line, I would think
that a decision has to be made about this.  For purposes of exploring
the former alternative I will assume that this is what we're trying to
do.

If we're trying to do this, I think it's cleanest to adopt a layered
approach analogous to the Internet example.  In this analogy,
hop-to-hop communication is analogous to ISO layer 2.  Each hop-to-hop
link can make its own choice about whether to use one or another layer
2 protocol.  And note that there would be nothing special about the
*first* hop!

   Re:  "Is there some special rule about hops to which the endspoints are
   parties, that makes those hops different from IM-to-IM hops?"

   Of course, there is such a rule.  If A and D want to communicate via
ebXML,
   each one has to be using an ebXML interface (MSH) and therefore both A
and
   D have to use ebXML to get to their adjacent intermediaries.

I've tried, above, to explain why I think that in a clean
architecture, if B and C are allowed to pick an appropriate protocol,
then A and B should be treated exactly the same way.

If B and C can pick their own protocol, then we need to split the
concept of "protocol" as we've been using it into two layers.  The
higher layer is the "protocol" by which A talks to D (analogous to
layer 3, the Internet Protocol).  The lower level are the protocols by
which A talks to B or B talks to C (analogous to layer 2, which ISO
calls the Data Link layer).

Having done that, we clearly want to define the higher layer.  It's
also completely clear that we want to define the official API between
the higher layer and the lower layer.  Do we want to specify any
particular lower layer protocol?  You (Marty) said earlier that B
should be allowed to talk to C however it wants to, including using
protocols that were not defined by the ebXML MS group.  So, B and C
have a menu of alternatives, some of which are not from us.  Do we
want to provide one of those alternatives, or do we want to consider
that to not be in our charter and say that *all* of them are not from
us?  I suspect the former, but as I mentioned earlier, there doesn't
seem to be unanimity about our charter here.

   Re: "far clearer to portray ebXML as two protocol layers".  We have that
   right now, one is defined by the MS spec and the other is defined by the
   BPSS spec.  I don't think that there is much inside the MSH that can be
   split into to layers that may be in different boxes.

By my reckoning, the BPSS spec is more like layer 4.  If you want to
count the BPSS as a layer, then I'm saying that we need to have
*three* layers instead of two, if we want a clean implementation that
lets B and C pick their own protocol.

One of the main reasons for using layering in protocol designs is to
control sharing: what is common and what is not common.  On the
Internet, we all do TCP and IP in common, but we can pick and choose
among Ethernet, token ring, and whatever Data Link implementations are
being used over the backbone fibre nets these days.  In your model of
multi-top ebXML, we all adopt a common concept of how A and D talk to
each other, and yet we are free to allow B and C to pick their own way
to talk to each other.

----------------------------------------------------------------
To subscribe or unsubscribe from this elist use the subscription
manager: <http://lists.oasis-open.org/ob/adm.pl>


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


Powered by eList eXpress LLC