On 24 March 2011 14:47, Rafael Schloming <[email protected]> wrote:

> On 03/24/2011 09:42 AM, Robert Godfrey wrote:
>
> I think one of the most important factors to consider is how we build out
> protocol support in a way that avoids some of the significant
> maintainability issues we’ve had with our previous approach. It’s pretty
> clear that one of our primary pain points has been with client support. The
> practice of transcoding wholesale from one client language into another has
> resulted in a significant number of write-only implementations that have
> proven impractical to maintain.
>
> IMHO, one of the key elements of our 1-0 strategy going forward has to be
> to share the minimum possible number of protocol implementations between as
> many different client and broker environments as possible. This goal has in
> fact been a key principle in the design of the 1-0 version of the protocol.
> Its symmetry and layering is specifically designed to allow for the majority
> of the protocol machinery to be encapsulated within a single transport layer
> with a simple interface that can be embedded within a wide variety of
> environments.
>
>
I agree with this.  The idea of a common transport layer is one that has
been raised before and which I think had broad support.  To me, the primary
goal of the Apache Qpid Project must be to aim to be the de facto standard
implementation of AMQP.  In order to achieve this goal we need to be able to
provide client APIs across as many languages as possible (and across OS and
machine architectures as well).  We can already see that our current
approach to this is not sustainable - we’ve had suggestions that we should
drop a number of client API artefacts from the 0.10 release as they are no
longer able to be maintained.

Having said that I think we need a little more clarity in defining what we
mean by a “common transport layer”.  Firstly, at what level do you see the
API here - is it simply an implementation of the AMQP 1-0 protocol, or are
we aiming at a higher abstraction that will allow us to have implementations
of the “transport layer” which use AMQP 0-10, 0-9-1 etc. as their protocol?
Secondly, if we are looking to share the transport layer between “clients”
and “brokers” it will need to be designed in such a way that the very
different programming models (by which I really mean threading models) work.

Lastly, and I guess most crucially, how do we see this work being
incorporated into our current Qpid implementations?

-- Rob



> --Rafael
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:[email protected]
>
>

Reply via email to