On 9/21/06, John O'Hara <[EMAIL PROTECTED]> wrote:
On a different strand - there is also the fact that while JMS is obviously a
very important API for the Java community it makes a lot less sense in other
languages. It's not even a great API to talk to middleware with, which is
why people using MQ series used the native Java binding for so long (and
still do).
So for C++, Python et al, why not do (dare I say this) a little bit better
than JMS?
A year ago, people would have called me a heretic for saying this, but look
at those people over at Spring proposing better ways to access messaging.
From what I hear there is a lot of agreement with the sentiment.
Agreed - e.g. take a look at NMS, it uses quite a few nice features of
C# rather than blindly making a copy of JMS.
http://incubator.apache.org/activemq/nms.html
BTW the spring folks are not really proposing new APIs for messaging
(unless you include the fairly trivial and fairly floored JmsTemplate
helper class), they and others are proposing we just hide completely
all middleware APIs which is a different thing really. We still need
some underlying API in languages to access messaging features and
there's not that many ways of doing it - the Spring folks and others
use JMS for that.
I would assert that AMQP is cleaner than JMS;
Apples and oranges?
e.g. using Lingo the entire JMS is completely invisible, so my banana
beats your apple.
when we sort out the last
niggles in the exchange/queue/binding arrangement you will have a very nice
abstraction of middleware. No one who have reviewed the spec dislikes that
setup. Dare we surface it into the API?
I think yes - it makes a whole lot more sense to send a message to an
exchange than to send it to a destination.
From an API perspective, what is the difference? Its not like a
Destination in JMS/NMS has much semantics to it - its just a URI like
in REST.
And that's the way the internet
and postal services work too (you can give your parcel to DHL or FedEx or
whoever) and indeed stock exchanges. What you don't do is give your parcel
directly to the destination address :-)
Destinations in JMS are not physical addresses, they are just logical
URIs - its up to a broker to interpret what they mean just like in
REST?
For Java there has to be JMS -- but why limit other languages?
I didn't think anyone was talking about limiting anything?
--
James
-------
http://radio.weblogs.com/0112098/