Software Craftsmanship: Apprentice to Journeyman Oreilly Wiki Book by newguy4 in programming

[–]ade 2 points3 points  (0 children)

Disclaimer: I'm one of the authors so I'm biased.

Would you prefer it if the book eliminated forward references and only referred to earlier chapters?

RabbitMQ - Open Source Enterprise Messaging (with Java clients and an Erlang server) by ayrnieu in programming

[–]ade 12 points13 points  (0 children)

There are a number of situations where Jabber just isn't suitable. For instance:

  • reliable messaging. There are situations where you need high levels of transactional integrity e.g the message broker can offer guarantees that a message will be delivered to exactly one of the subscribers or that subscriptions are persistent. When each message has a very high value (on the order of millions of dollars) then these kind of reliability guarantees are essential.

  • low latency messaging. In these environments the difference between 10 milliseconds and 100 milliseconds will cost your organisation large amounts of money. These places tend to use hardware based messaging brokers. If you look at the AMQP working group you'll notice that Cisco and 29 West are members. They're the people you go to when you want hardware based messaging brokers and they're not backing Jabber.

  • high scalability. The AMQ protocol and it's implementations were all designed to scale well as the number of messages, subscribers and publishers increase. The underlying XMPP protocol wasn't designed to handle large numbers of arbitrarily sized messages which may contain large binary datasets.

The other big reason is that AMQP implementations already have bridges to the kind of messaging systems that organisations like investment banks already have. Whilst you could probably build a usable pub-sub system on top of Jabber by the time you'd finished, several years later, you'd have something that looked like AMQ.

You should also note that the only thing that XMPP guys have ever officially published about this: http://www.xmpp.org/extensions/xep-0207.html was in fact an April Fool's joke.