You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by arunkumar S <co...@gmail.com> on 2011/01/23 06:17:45 UTC

AMQP Standard

Hi,

I'm new to AMQP and i am trying to read up on the standard.

I saw that the network level messaging has been standardized.

But I could not determine if the actual API that clients might use (from
C/C++/Java etc) is part of the standard or not.

Could someone please clarify this for me?

Thanks
Arun

Re: AMQP Standard

Posted by Gordon Sim <gs...@redhat.com>.
On 01/23/2011 05:17 AM, arunkumar S wrote:
> Hi,
>
> I'm new to AMQP and i am trying to read up on the standard.
>
> I saw that the network level messaging has been standardized.
>
> But I could not determine if the actual API that clients might use (from
> C/C++/Java etc) is part of the standard or not.

No, they are not. However documents describing mappings from existing 
APIs (JMS and WCF), and standardising aspects of those deemed necessary 
for interoperability, are being developed.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: AMQP Standard

Posted by Alan Conway <ac...@redhat.com>.
On 01/24/2011 01:44 PM, arunkumar S wrote:
> On Mon, Jan 24, 2011 at 5:20 PM, Steve Huston<sh...@riverace.com>  wrote:
>
>>
>> No, the API is not part of the standard.
>>
>>> Could someone please clarify this for me?
>>
>> JMS is an API that is often used with Java and it is more-or-less
>> standard for Java messaging. However, it doesn't have access to all AMQP
>> features and the other APIs to Qpid are not standardized and may differ
>> from the API to other AMQP implementations.
>>
>
> Thanks for the explanation Steve. May i know why this is so ?
>
> I would have thought that having the API along with the network specs would
> have completed the loop and would have enabled users to move between
> multiple messaging systems with ease, without compromising the
> understanding, which would have increased the AMQP's development ease.
>
> Isnt it a risk to have differences in API break the interoperability like
>
> sendMessage() from vendor A has xyz as side effects whereas sendMessage()
> from vendor B only has xy side effects? Or is AMQP meant to be the glue
> between different systems like MQ / MSMQ ?
>
> I ask in the interest of learning
>

It's not uncommon to standardize interoperability before portability. It's hard 
work to get consensus on a lot of details so interop is a more tractable initial 
target and is useful in its own right. The AMQP working group may standardize 
APIs in the future but I don't know of any specific plans. We would probably 
propose the QPID API if that happens.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: AMQP Standard

Posted by arunkumar S <co...@gmail.com>.
On Mon, Jan 24, 2011 at 5:20 PM, Steve Huston <sh...@riverace.com> wrote:

>
> No, the API is not part of the standard.
>
> > Could someone please clarify this for me?
>
> JMS is an API that is often used with Java and it is more-or-less
> standard for Java messaging. However, it doesn't have access to all AMQP
> features and the other APIs to Qpid are not standardized and may differ
> from the API to other AMQP implementations.
>

Thanks for the explanation Steve. May i know why this is so ?

I would have thought that having the API along with the network specs would
have completed the loop and would have enabled users to move between
multiple messaging systems with ease, without compromising the
understanding, which would have increased the AMQP's development ease.

Isnt it a risk to have differences in API break the interoperability like

sendMessage() from vendor A has xyz as side effects whereas sendMessage()
from vendor B only has xy side effects? Or is AMQP meant to be the glue
between different systems like MQ / MSMQ ?

I ask in the interest of learning

Thanks
Arun

RE: AMQP Standard

Posted by Steve Huston <sh...@riverace.com>.
Hi Arun,

> I'm new to AMQP and i am trying to read up on the standard.

Great - welcome!

> I saw that the network level messaging has been standardized.

Yes.

> But I could not determine if the actual API that clients 
> might use (from C/C++/Java etc) is part of the standard or not.

No, the API is not part of the standard.

> Could someone please clarify this for me?

JMS is an API that is often used with Java and it is more-or-less
standard for Java messaging. However, it doesn't have access to all AMQP
features and the other APIs to Qpid are not standardized and may differ
from the API to other AMQP implementations. However, programs written to
other APIs should interoperate with other AMQP implementations at a
compatible version of the standard. That is, a .NET program written to
one API should interoperate with a C++ program or Java written to
another API as long as they're all using AMQP 0-10, for example, and
using a broker implementing AMQP 0-10.

-Steve

--
Steve Huston, Riverace Corporation
Total Lifecycle Support for Your Networked Applications
http://www.riverace.com


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org