You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by uromahn <ul...@ulrichromahn.net> on 2014/09/19 11:28:38 UTC

Qpid Proton - Overall Project Quality (some "venting")

Hi Folks,

I apologize first for venting out my deep frustration here, but I think it
is time to "rattle the cage" a bit and bring this to everyone's attention
working with or on Qpid Proton.

I have been trying to work with AMQP 1.0 for quite some time now. After
doing my research, I soon found out that there are very few alternatives for
client libraries in Java.
I started with the "classic" qpid-java-amqp-1-0-client-jms library (which is
not based on Qpid Proton), but abandoned it for various reasons that I won't
elaborate here.
Then I researched some other alternatives outside of Apache, also without
much success.
I finally ended up trying out Qpid Proton-j since it is being used by many
excellent projects (ActiveMQ, Apollo, QPid Java Broker) to enable AMQP 1.0.
However, I found using Qpid Proton-j to be extremely cumbersome to say it
even politely and here is the main reason:

Qpid Proton-j has no meaningful or useful developer documentation and the
Java examples are limited to two extremely primitive applications
demonstrating a sender and receiver using the messenger API. Unfortunately
this example is far from being useful because it really demonstrates the
obvious which would need the least amount of documentation.
I then tried to figure out how to use Proton-j for my own project beyond the
messenger API trying to determine which interfaces and classes may be useful
for me and which not. Unfortunately, I was not very successful with this
either, because the Javadoc is not really useful either mostly due to the
absence of any informative documentation (beyond the standard generated API
Doc). Even looking into the source isn't helping very much since the
structure is not revealing something obvious and the lack of comments in the
sources is really stunning.
Don't get me wrong here! I am not trying to imply that the source code is of
bad quality, but the lack of comments and overall documentation also doesn't
make it a real "gem" among all the other open source projects.

After spending (too much) countless hours trying to make sense of all of
this, I thought I study the AMQP 1-0 specification (again). Unfortunately, I
am finding it very hard to relate the code artifacts in proton-j to the AMQP
1-0 specification.

And finally, there seems to be absolutely no documentation or write up
available talking about the high-level architecture and "philosophy" beyond
Proton (unless I completely missed it) which would allow me to grasp some of
the high-level concepts helping me to understand the project and its
intended usage better.

So here is my pleading to all the insider: please, please, please, improve
the overall quality of your project by adding more meaningful documentation
for users like me! I know that writing documentation is really boring
(compared to coding) and writing good documentation is very hard (sometimes
even harder than writing code)! I am also aware that this is a
community-driven project which lives from outside contributors, but please
spare me with any rhetoric response telling me that "my contribution would
be welcome"! In my current state, I would not be able to write any
meaningful documentation to contribute, as you may have already gathered
from this post.

If someone from the "insider" group who understands proton (or claims to
understand it) would provide me something to start with, I am more than
happy to dig my feet in and continue, but without anything right now, I am
just lost...

With that I am hoping to have stirred up a lively (and maybe controversial)
discussion,
-Uli Romahn
Senior Architect at a large Silicon Valley based payments company

DISCLAIMER: the post above is my own personal opinion and does not represent
any official statement from my employer.



--
View this message in context: http://qpid.2158936.n2.nabble.com/Qpid-Proton-Overall-Project-Quality-some-venting-tp7613867.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org