On 11 Feb 2011, at 15:24, Rajith Attapattu wrote:
On Thu, Feb 10, 2011 at 2:11 PM, Gordon Sim <[email protected]> wrote:
On 02/10/2011 02:54 PM, Rajith Attapattu wrote:
The above is not a formal authoritative document that describes what our
Common API is.

If by authoritative you mean '100% accurate and complete' then I accept it
is not there yet.


Actually by authoritative I didn't really mean accuracy and completeness,
rather I was expecting a document in a different form.
Perhaps something similar to the JMS spec. I believe you and I have a
different vision about how this document should look like.
Perhaps that is where the disconnect is. As time permits I will try to work out a document and post it to provide a more complete picture of what I was
envisaging.

*Please* don't repeat the mistakes the JMS specification made! I really feel it's too vague and wooly for a formal specification, whereas it ought to be precise and informative. There are too many situations where I have checked the JMS specification, only to find it describes behaviour that could be interpreted in several different ways, or worse is simply undefined or up to the provider. This style is more suitable for a programmer's guide describing the common API, covering the technical terms of reference, design philosophy, illustrating common use cases and giving concrete examples of code. This type of document was (the first) 2. on your list and 4. on mine, assuming your list to be describing six different types of document.

I still think UML is a concise and reasonable way to model the AMQP common API in a language agnostic fashion. This is document 1. in both our lists, and it MUST have a well-defined correlation with the official AMQP specification(s).

Take a look at Enterprise Architect (very good, I used it a lot at Yell for data modelling) or the Eclipse modelling tools (never used in anger) for UML design tools. To be hones, I think UML is probably too powerful when it comes to describing AMQPs data structures and commands, but that should make the task easier. It has the benefit that any competent programmer can mentally translate between UML and $FAVOURITE_LANGUAGE, and there are tools to automatically create HTML documentation or Java, C++ or whatever code templates.

Andrew.
--
-- andrew d kennedy ? do not fold, bend, spindle, or mutilate ;
-- http://grkvlt.blogspot.com/ ? edinburgh : +44 7582 293 255 ;

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to