qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Conway <acon...@redhat.com>
Subject Re: REST API for AMQP management?
Date Fri, 29 Aug 2014 20:59:19 GMT
On Fri, 2014-08-29 at 19:45 +0000, Gibson, Jack wrote:
> Alan - 
> I have been playing with vertx to amqp 1.0 set of restful services to
> manage dispatch routers.  So, I wouldn¹t mind helping out.  Let me know to
> engage.

I've been distracted for a while so I need to get my head back into the
dispatch management code. I have some work to finish up, mostly merging
functionality from the old C agent into the new python agent.

The python agent is basically a schema validater and dispatcher of AMQP
management requests into the C code. The management requests and
responses are essentially just name/value maps or lists of maps. The
type system is simple for now: strings, bools, integers and floats. I
doubt it will get much more complicated than that.

So I think for REST all we need is a HTTP server (presumably the default
python one would do) that converts HTTP requests to and from a
router.Message with python maps as properties and body. The management
code is already quite JSON friendly so that might be an easy way to do

Have a look at

Agent.receive() is wired up to get AMQP management messages. It calls
Agent.handle() to process the message, and returns an AMQP response.

The REST listener would be similar to receive() - create a request from
the HTTP request, feed it to Agent.handle() and convert the response to
a HTTP response.

We can tidy things up a bit to make a clean interface between REST, AMQP
messages and whatever other feeds might come along and a more generic
Agent. With a clean API we should be able to re-use the same REST code
for inside dispatch, in your vertx services, or as a stand alone tool
that converts between REST and AMQP, or in tools for managing Qpid or
other AMQP services. I want to separate and make public the AMQP
management client for scripting, so that could be the basis of a
stand-alone REST to AMQP gateway.

Let me know what you think!

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

View raw message