Friday 20 November 2009

RestMS where I am at

I received an e-mail a few days ago inquiring about my work on a RestMS implementation. In writing a response I was inspired to consider some of the things which I had discovered in my research so far.

After working through a prototype for the REST API I started delving into the message handling and ran into a bit of brick wall. The RestMS protocol leans on AMQP, as far as I can tell, for a lot of it's concepts in the area of "messaging".

So if your looking to understand RestMS do your self a favor and go and learn how AMQP works, there are few implementations around I am currently using RabbitMQ and it's java based API. Once you have kicked the tires of a few implementations you will go back to the RestMS specification and understand a lot more.

This brings me to a question, are these specifications viewed as autonomous specifications, or indeed are they joined at the hip for some of their core concepts? If RestMS is to be presented as it's own protocol there may be a requirement to carve out the concepts in the AMQP protocol and fork them into this specification.

At this stage it looks like my best option is to enhance an existing messaging server, rather than writing a RestMS server from scratch. My research is however not all for naught, I have quite a good understanding of RestMS, REST and ATOM, and how these protocols/frameworks/standards work.