You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Jeffrey Bride <jb...@redhat.com> on 2009/01/30 21:44:23 UTC

use of JMS or AMQP style clients ??

Hi,
  The U.S. Marine Corps is moving toward a service oriented approach of
developing their software.  As such, we've decided to use AMQP as the
wire protocol between services.
  Our first stab with AMQP has JBoss ESB gateways and notifiers
communicating with the latest C++ QPid broker.  We are using the QPid
java client libraries.   

  I have the liberty of deciding whether to use a JMS or AMQP flavored
(via org.apache.qpid.transport.Session) approach in my producers and
consumers and I'm wondering whether experts on this list might have a
bias between the two ?  In particular, I've been using the examples
included in :

$QPID_JAVA_SRC/client/examples/src/main/java/org/apache/qpid/example/amqpexample.*
    and 
$QPID_JAVA_SRC/client/examples/src/main/java/org/apache/qpid/example/jmsexample.*

personally, I like using org.apache.qpid.transport.Session to produce &
consume messages because it seems much more inline with the way the AMQP
spec describes things.

thoughts ??

thank you !    jeff 





-- 
Jeffrey Bride
RedHat / JBoss
303-523-7885



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


Re: use of JMS or AMQP style clients ??

Posted by Jeffrey Bride <jb...@redhat.com>.
Roger, Marnie & Rajith ,
  Thank you for the responses ... they have clarified a lot.  I'm
currently working on a QPid gateway for the JBoss ESB.  For the most
part, it is working well.  I did experience a couple of issues and I'll
follow this up with a new post that addresses them.

thanks again!

jeff

On Sat, 2009-01-31 at 22:36 +0000, Marnie McCormack wrote:
> I'd agree with Robert here, particularly with the upcoming work to implement
> AMQP 0-10 and 1-0 on the Java Broker. I'd stick to JMS, unless there's a
> feature you need exposed that this won't give you ?
> 
> Marnie
> 
> On Fri, Jan 30, 2009 at 9:01 PM, Robert Greig <ro...@gmail.com>wrote:
> 
> > 2009/1/30 Jeffrey Bride <jb...@redhat.com>:
> >
> > >  I have the liberty of deciding whether to use a JMS or AMQP flavored
> > > (via org.apache.qpid.transport.Session) approach in my producers and
> > > consumers and I'm wondering whether experts on this list might have a
> > > bias between the two ?  In particular, I've been using the examples
> > > included in :
> >
> > This question has been debated on the list in the past. My own
> > (strong) opinion is that JMS is the better choice for nearly all use
> > cases.
> >
> > JMS is widely understood by developers, and is not subject to change
> > as the AMQP specification evolves. For example AMQP 1.0 will be, as I
> > understand it, different from 0-10 and you should not have to change
> > clients based on the protocol version.
> >
> > AMQP is a wire level protocol, and JMS is an API standard. In your
> > applications I believe you should adopt API standards where possible
> > and appropriate.
> >
> > RG
> >
> > ---------------------------------------------------------------------
> > Apache Qpid - AMQP Messaging Implementation
> > Project:      http://qpid.apache.org
> > Use/Interact: mailto:users-subscribe@qpid.apache.org
> >
> >
-- 
Jeffrey Bride
RedHat / JBoss
303-523-7885



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


Re: use of JMS or AMQP style clients ??

Posted by Marnie McCormack <ma...@googlemail.com>.
I'd agree with Robert here, particularly with the upcoming work to implement
AMQP 0-10 and 1-0 on the Java Broker. I'd stick to JMS, unless there's a
feature you need exposed that this won't give you ?

Marnie

On Fri, Jan 30, 2009 at 9:01 PM, Robert Greig <ro...@gmail.com>wrote:

> 2009/1/30 Jeffrey Bride <jb...@redhat.com>:
>
> >  I have the liberty of deciding whether to use a JMS or AMQP flavored
> > (via org.apache.qpid.transport.Session) approach in my producers and
> > consumers and I'm wondering whether experts on this list might have a
> > bias between the two ?  In particular, I've been using the examples
> > included in :
>
> This question has been debated on the list in the past. My own
> (strong) opinion is that JMS is the better choice for nearly all use
> cases.
>
> JMS is widely understood by developers, and is not subject to change
> as the AMQP specification evolves. For example AMQP 1.0 will be, as I
> understand it, different from 0-10 and you should not have to change
> clients based on the protocol version.
>
> AMQP is a wire level protocol, and JMS is an API standard. In your
> applications I believe you should adopt API standards where possible
> and appropriate.
>
> RG
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>

Re: use of JMS or AMQP style clients ??

Posted by Robert Greig <ro...@gmail.com>.
2009/1/30 Jeffrey Bride <jb...@redhat.com>:

>  I have the liberty of deciding whether to use a JMS or AMQP flavored
> (via org.apache.qpid.transport.Session) approach in my producers and
> consumers and I'm wondering whether experts on this list might have a
> bias between the two ?  In particular, I've been using the examples
> included in :

This question has been debated on the list in the past. My own
(strong) opinion is that JMS is the better choice for nearly all use
cases.

JMS is widely understood by developers, and is not subject to change
as the AMQP specification evolves. For example AMQP 1.0 will be, as I
understand it, different from 0-10 and you should not have to change
clients based on the protocol version.

AMQP is a wire level protocol, and JMS is an API standard. In your
applications I believe you should adopt API standards where possible
and appropriate.

RG

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


Re: use of JMS or AMQP style clients ??

Posted by Rajith Attapattu <ra...@gmail.com>.
I would use JMS unless there is a feature you need is currently not exposed
via configuration + pure JMS.
My experience is that most use cases could be handled using pure JMS +
configuration via the JNDI file.
There are currently a few limitations such as not being able to bind a queue
to multiple exchange/routing key pairs or not being able to specify
arguments when declaring queues/exchanges or when binding queues. However we
are currently working/planning to work on these aspects.

The danger of using something close to the AMQP wire protocol is that there
will be some pain when it changes.
So I would avoid using such an API atleast until there is support for AMQP
1.0 where there will be some guarantee on backwards compatibility.

If you are in doubt about whether your use cases can be met with pure JMS +
configuration please feel free to descibe them in abstract form.
The Qpid developers could help find the solutions within the current
structure or if unable to meet we could make sure we add them to our to do
list.

Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

On Fri, Jan 30, 2009 at 3:44 PM, Jeffrey Bride <jb...@redhat.com> wrote:

> Hi,
>  The U.S. Marine Corps is moving toward a service oriented approach of
> developing their software.  As such, we've decided to use AMQP as the
> wire protocol between services.
>  Our first stab with AMQP has JBoss ESB gateways and notifiers
> communicating with the latest C++ QPid broker.  We are using the QPid
> java client libraries.
>
>  I have the liberty of deciding whether to use a JMS or AMQP flavored
> (via org.apache.qpid.transport.Session) approach in my producers and
> consumers and I'm wondering whether experts on this list might have a
> bias between the two ?  In particular, I've been using the examples
> included in :
>
>
> $QPID_JAVA_SRC/client/examples/src/main/java/org/apache/qpid/example/amqpexample.*
>    and
>
> $QPID_JAVA_SRC/client/examples/src/main/java/org/apache/qpid/example/jmsexample.*
>
> personally, I like using org.apache.qpid.transport.Session to produce &
> consume messages because it seems much more inline with the way the AMQP
> spec describes things.
>
> thoughts ??
>
> thank you !    jeff
>
>
>
>
>
> --
> Jeffrey Bride
> RedHat / JBoss
> 303-523-7885
>
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>