John,<br><br>Thanks for the reference to the earlier discussion. I missed that one. I am also influenced to some degree by what MQ did for its admin control.<br><br>I&#39;d like to contrast my approach with the QPID one.<br>
<br>My approach was extremely pragmatic and bottom-up. It did not try to solve all the problems and create a grand design. The QPID approach is at the opposite end of the spectrum. Both approaches have merits and shortcomings. Mine is very limited and short-sighted, but has the advantage of being very easy to understand, and immediately available to play with and get a feel for what is wanted and needed. The QPID approach would take a great deal more work, and testing, just to get something usable on RabbitMQ. This impedes progress. I have always been a proponent of eliciting realistic requirements by prototyping (as long as the prototype does not suddenly become the production version, which is always a danger). It grounds us in practicalities right from the start. Once we see what actually works, we do another iteration to expand the design to become more generic. Another disadvantage is that we may not think of a very important feature until late in the game, and have to change the entire architecture. That&#39;s why it&#39;s best to get high-level requirements up front, in a timeboxed fashion to prevent analysis paralysis, and then try the various features out for real-world usability, and iterate until cooked.<br>
<br>QPID&#39;s approach is interesting in that it uses the AMQP protocol itself as the communication mechanism. I quite like this idea from the point of view that every AMQP language binding will be able to use it. On the other hand, it&#39;s a bit clumsy and heavyweight in that you have to set up one or more private queues just to talk the the management broker, and as far as I can see, it&#39;s very generic, so I am uncertain of exactly what capabilities are exposed (e.g. how do you delete a queue?).<br>
<br>The major QPID concepts seem to be:<br><ul><li>Defining the concept of a flexible schema structure</li><li>Querying object information</li><li>Setting up monitoring<br></li><li>Calling object methods</li><li>Defining the communication protocol<br>
</li></ul>It suddenly struck me as I was writing this that there is already a very well defined standard that does all this, which is SNMP. Since SNMP is a widely-used standard, and Erlang supports it, and SNMP v3 has security features built in, and SNMP allows one to monitor, configure and control any arbitrary object, shouldn&#39;t we consider adding an SNMP agent to RabbitMQ, and using SNMP for all these tasks?<br>
<br>The huge advantage of this is that it makes a RabbitMQ node automatically become part of any SNMP management infrastructure. There are many existing SNMP Management tools, and a lot of information and books on SNMP. Another huge advantage is it would not be reinventing the wheel. The disadvantage is that it is orthogonal to AMQP, but maybe that&#39;s not such a bad thing.<br>
<br>The task then becomes mostly one of defining appropriate MIBs that can describe, monitor and control an AMQP infrastructure.<br><br>Thoughts? Am I missing something?<br>
<br>Regards,<br>Edwin Fine<br><div class="gmail_quote">On Thu, Jul 17, 2008 at 9:27 AM, John Watson &lt;<a href="mailto:JWatson@sis.tv" target="_blank">JWatson@sis.tv</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">










<div link="blue" vlink="purple" lang="EN-US">

<div>

<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">When this was discussed earlier on the rabbit forum:- <a href="http://www.trapexit.org/forum/viewtopic.php?p=37702" target="_blank">http://www.trapexit.org/forum/viewtopic.php?p=37702</a>
I thought that one of the most interesting responses described the approach taken
by QPID: <a href="http://cwiki.apache.org/qpid/management-design-notes.html" target="_blank">http://cwiki.apache.org/qpid/management-design-notes.html</a>
.</span></p>

<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span></p>

<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">Cheers</span></p>

<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">John Watson</span></p>

</div>


<p><span style="font-size: 8pt;">**********************************************************************</span></p>
<p><span style="font-size: 8pt;">Satellite Information Services Limited Registered Office:</span></p>
<p><span style="font-size: 8pt;">17 Corsham Street London N1 6DR, Company No. 4243307</span></p>
<p><span style="font-size: 8pt;"></span></p>
<p><span style="font-size: 8pt;">&nbsp;</span></p>
<p><span style="font-size: 8pt;">The information in this e-mail (which includes any files</span></p>
<p><span style="font-size: 8pt;">transmitted with it) is confidential and is intended for the</span></p>
<p><span style="font-size: 8pt;">addressee only. Unauthorised recipients are required to</span></p>
<p><span style="font-size: 8pt;">maintain confidentiality. If you have received this e-mail</span></p>
<p><span style="font-size: 8pt;">in error please notify the sender immediately, destroy any</span></p>
<p><span style="font-size: 8pt;">copies and delete it from your computer system. </span></p>
<p><span style="font-size: 8pt;">**********************************************************************</span></p>
<p><span style="font-size: 8pt;">&nbsp;</span></p></div>


</blockquote></div><br><br clear="all"><br>-- <br>The great enemy of the truth is very often not the lie -- deliberate, contrived and dishonest, but the myth, persistent, persuasive, and unrealistic. Belief in myths allows the comfort of opinion without the discomfort of thought.<br>

John F. Kennedy 35th president of US 1961-1963 (1917 - 1963)