Hi Andrea, Thanks for your interest in contributing to the qpid management project.
I agree with Arnaud's suggestion to start with an AMQP management console that bridges AMQP to JMX. A good deliverable would be the AMQP/JMX bridge and a set of tests that run against the JMX side of the bridge to verify its correct function. The tests will protect us from regressions in the future.
Once that is completed, we could move onto Java broker support either through the double-behavior you described or by bringing the Java broker up to the latest spec.
Please keep in mind that the C++ broker complies with the 0-10 version of the AMQP specification. The Java broker does not yet support this version. The AMQP management requires 0-10 as it uses field tables in some of its message formats.
Another important point: The management-design-notes spec is currently out of date. I am in the process of cleaning up an updated version of this document and will try to get it up on the Wiki in the next day or two.
Regards, and thank you again for your interest. -Ted Andrea Gazzarini wrote:
Hi all, my name is Andrea Gazzarini and (as you can read below) I'd like to help you with the development of Qpid. Arnaud told me that Broker management is an interesting area where I could do something useful... I read the Management design notes of Qpid (at the moment implemented only on the C++ broker) and with Arnaud we were thinking to create a JMX Bridge / Layer to administer and manage brokers. Current situation is that only C++ broker is supporting the AMQP management protocol (via the Management Extensions) while Java broker is managed using JMX, so basically, we can choose two ways to proceed: **** JMX Bridge with double behaviour depending on the target broker **** Implementing a JMX Layer which is able to talk AMQP with C++ broker and JMX with Java broker; Basically, for the Java side, it will be a "dummy" proxy which will forward all the requests to the existing JMX Layer This should allow us to deal immediately with the AMQP management protocol but for Java broker this should be a temporary workaround in order to get something working quickly (It should talk AMQP as other brokers); I don't know if with this kind of solution, all things written on the http://cwiki.apache.org/qpid/management-design-notes.html will be applicable for the Java broker (because for example there's no need to have the "qpid.management" exchange) . **** Development of Management Extension on Java Broker + JMX Bridge with AMQP management capabilities ***** Implementing what is written in http://cwiki.apache.org/qpid/management-design-notes.html in Java broker, too; The disadvantage in this case is that first, we have to implement it on Java Broker and only after that it will be possible to develop a JMX Bridge completely decoupled from the implementation of the (target) managed broker. It's possible that I'm wrong (because I still don't have a good understanding of the whole project) but It seems that something is missing on the Java broker in order to start to implement the Management Extensions; for example : - Is JQpid supporting the amq.topic? I'm asking that because I read that the qpid.management exchange "is a" topic with some different behaviours; - Is there somewhere the specification of the interface of the Broker Agent? for example, what is the name of the method invoked on the agent after a new queue is bound on the management exchange? I think that from this perspective, JMX Layer on the Java broker will remain (moreless) the same and a new module should be added in front of that to implement the Broker Agent (which in turns will talk to internal JMX Layer to perform method invocation); something like that : Java QPID Broker <---> JMX <---> Broker Agent <---- AMQP ----> JMX Bridge C++ QPID Broker <---> C++ Management Extensions <--- AMQP ---> JMX Bridge ??? QPID Broker <---> ??? Management Extensions <---AMQP ----> JMX Bridge Later, we will be able to add additional layers to JMX Bridge (connectors, WS-DM, etc) in order to expose management services to other clients using several protocols. Ok, I don't want to be tedious with my questions so first of all, please let me know what you are thinking about... Regards, Andrea http://www.linkedin.com/in/andreagazzarini Google talk : [EMAIL PROTECTED] Skype : gazzax72
