Slashdot Mirror


Microsoft Embraces AMQP Open Middleware Standard

AlexGr writes to tell us that Microsoft apparently has plans to embrace a little known messaging standard called AMQP (Advanced Message Queuing Protocol). Red Hat, a founding member of the AMQP working group, was very excited about the news and wrote to welcome Microsoft to the party. "Suffice it is to say that AMQP is to high-value, reliable business messaging what SMTP is to e-mail. The proprietary message oriented middleware (MOM) products on the market today like IBM's MQ or Tibco's Rendezvous fulfill the same function as AMQP. But they operate exclusively in single-vendor fashion and utterly fail to interoperate with each other. They are also — perhaps not by coincidence — burdensomely expensive. As a result their use is mostly limited to wealthy organizations such as Wall Street banks (at least the ones who are still in business) that need to exchange huge volumes of business messages very reliably and very quickly. But AMQP's supporters feel the market for such reliable messaging could be much larger if a less expensive and truly open solution became available."

122 comments

  1. Embrace, something, something by Anonymous Coward · · Score: 5, Insightful

    Hmm.. Microsoft Embracing a new technology... I wonder what their two next steps are.

    1. Re:Embrace, something, something by Ethanol-fueled · · Score: 4, Funny

      Empathize and Excell?

    2. Re:Embrace, something, something by ScoLgo · · Score: 1, Funny

      No, I think their plan might be more like...

      1) Embrace
      2) ?
      3) Profit!

      If that doesn't work, Plan 'B' will probably involve throwing some chairs around while cursing.

      --
      "Michael, I did nothing. I did absolutely nothing - and it was everything that I thought it could be."
    3. Re:Embrace, something, something by Anonymous Coward · · Score: 0

      1. Embrace
      2. Extend (aka make it proprietary with a few useless additions.
      3. Profit (thanks to monopoly)

    4. Re:Embrace, something, something by Anonymous Coward · · Score: 0

      Don't know, but I am pretty sure of the fourth step.

      1. Embrace a new technology
      2. ????
      3. ????
      4. Profit!!

    5. Re:Embrace, something, something by Kojacked · · Score: 1

      Educate, Exonerate

      Same old lil' penguins...

      1. Damn Microsoft and their proprietary protocols!
      2. Damn Microsoft for using standards based protocols!

      It's not "don't fear the penguins"... It's "don't be afraid little penguins."

    6. Re:Embrace, something, something by Richard_at_work · · Score: 2, Insightful

      I have mod points, but I feel obliged to reply instead of moderating. What should Microsoft do? If they go it alone, they are accused of anti-competitive measures through use of proprietary protocols et al. But if they decide to adopt a given standard, the first thing you hear on Slashdot is 'Embrace, extend, extinguish!!'. They can't win.

      So tell me, Mr Anonymous Coward and all who modded you up - what should Microsoft do? Just lie down and die because you dislike them?

    7. Re:Embrace, something, something by Bert64 · · Score: 1

      Some people do learn from history you know...
      The microsoft way has always involved being as proprietary as possible to force users onto their products, and if that means a temporary use of open protocols to temp users over before screwing them over and locking them in, then that's what they do.

      History has taught us to be extremely wary of microsoft's actions, and that they will not hesitate to screw people over given the chance.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    8. Re:Embrace, something, something by Anonymous Coward · · Score: 0

      Phase 1:Embrace, Phase 2: ???, Phase 3:Profit!!!

    9. Re:Embrace, something, something by causality · · Score: 1

      I have mod points, but I feel obliged to reply instead of moderating. What should Microsoft do? If they go it alone, they are accused of anti-competitive measures through use of proprietary protocols et al. But if they decide to adopt a given standard, the first thing you hear on Slashdot is 'Embrace, extend, extinguish!!'. They can't win.

      If they "can't win" that is their problem. Isn't that simple enough?

      They have caused so many problems with "embrace and extend" practices that there is a reason why they have little to no credibility in the eyes of some. The more past examples of this behavior there are, the more stupid you're going to feel if you trust them and they do it to you. Isn't that a good thing? How is it bad that other corporations who might try the same thing see that there actually is a price to pay, that abusing things like open standards is not entirely free? I'm sorry but really, how much of a pro-Microsoft bias does it take to make someone fail to consider that maybe they soundly earned any problems that they're having?

      The problem with Microsoft is that they don't want to compete in terms of who has the best implementation of an open, agreed-upon standard. They want to avoid competing by doing everything that they can do to ensure that other products are not quite compatible. The realities of business combined with the terribly low knowledgability of the average user are such that this has caused them to be very successful. That does not actually justify anything or make it "ok", however. I would rather not live in a world where everyone blindly trusts an entity that behaves this way. What's wrong with that?

      --
      It is a miracle that curiosity survives formal education. - Einstein
    10. Re:Embrace, something, something by Richard_at_work · · Score: 1

      So why discuss it at all here on Slashdot? Every single article in this ilk is guaranteed the same outcome in these discussions.

    11. Re:Embrace, something, something by Xtifr · · Score: 1

      But if they decide to adopt a given standard, the first thing you hear on Slashdot is 'Embrace, extend, extinguish!!'. They can't win.

      Sure they can. It's simple. All they have to do is stop engaging in dishonest, underhanded, unscrupulous, blatantly anti-competitive behavior for a few years, and blammo, people will gradually stop assuming the worst every time they do something[*]. As long as people who assume the worst of them are right more often than they're wrong, they've got nobody but themselves to blame for the fact that people will tend to assume the worst.

      [*] it worked, more or less, for IBM.

    12. Re:Embrace, something, something by Anonymous Coward · · Score: 0

      Embrasse, Etouffe et Encule, in good ol' French

    13. Re:Embrace, something, something by owndao · · Score: 1

      Embrace, entangle, eviscerate

      --
      Be as you would have the world become.
  2. Which leads to the question by overshoot · · Score: 4, Insightful

    How will Microsoft's version be incompatible with the others?

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
    1. Re:Which leads to the question by Amazing+Quantum+Man · · Score: 5, Funny

      <IT-EXECUTIVE>
      Silly. Microsoft's is the standard implementation. All those other people are incompatible with Microsoft, not the other way around.
      </IT-EXECUTIVE>

      --
      Fascism starts when the efficiency of the government becomes more important than the rights of the people.
    2. Re:Which leads to the question by Anonymous Coward · · Score: 0

      Actually, Microsoft has never done a good job with early version compatibility either. Basically, they start with a crappy 1.0 implementation with poor interoperability, and gradually build it up to a less-crappy 3.0 implementation with poor interoperability.

    3. Re:Which leads to the question by Anonymous Coward · · Score: 0

      How will Microsoft's version be incompatible with the others?

      Ask Kerberos

  3. Interesting, though not necessarily a big change.. by fuzzyfuzzyfungus · · Score: 4, Interesting

    While "MS Embraces $STANDARD" is certainly rather unusual news(rather, instances of "MS Embraces $STANDARD" that aren't immediately followed by "and Extends" are), I'm not sure that this is actually a big strategic change for MS.

    For a while now, MS has been the big, bad, expensive monopolist, with *nix and FOSS the freedom loving underdogs; but it should be remembered that MS was once the scrappy, cheap alternative to Big Blue and the proprietary Unix club. In most areas that has changed, since MS has largely taken over and started to tighten the screws; but I suspect that crazy expensive corporate middleware is a fairly conservative market.

    This looks more like an alliance of the cheapish, freeish underdogs against the old school proprietary iron guys rather than a change of heart at MS.

  4. Embrace, Extend, Extinguish by Aetuneo · · Score: 0, Redundant

    Don't see why anyone would be excited about this; Embrace, Extend, Extinguish.

    --
    Everything is subjective.
    1. Re:Embrace, Extend, Extinguish by Kjella · · Score: 2, Interesting

      One might hope that other vendors would use it too, Microsoft may be big but not so big they can break any standard at will. At least in business middleware Microsoft doesn't have a monopoly on vertical will-only-work-with-our-own-products solutions.

      --
      Live today, because you never know what tomorrow brings
    2. Re:Embrace, Extend, Extinguish by E5Rebel · · Score: 2, Interesting

      It is the "Extend" part that we need to be worried about because it is the gateway to making propitiatory additions to standards. There is a useful blog entry by Glyn Moody on Microsoft's tactics over Apache, where they have been 'cleared' to contribute patches. This will effectively fork the code, according to Glyn. Will the same happen here? http://www.computerworlduk.com/community/blogs/index.cfm?entryid=1407

  5. Hey, give them time... by argent · · Score: 2, Interesting

    While "MS Embraces $STANDARD" is certainly rather unusual news (rather, instances of "MS Embraces $STANDARD" that aren't immediately followed by "and Extends" are), I'm not sure that this is actually a big strategic change for MS.

    Hey, give them time. They haven't hardly had any time at all to come up with incompatible extensions, they don't even have a product out yet. I'm sure they'll come up with their usual high quality subtle inconsistencies and undocumented XML blobs in no time.

    1. Re:Hey, give them time... by TaoPhoenix · · Score: 2, Insightful

      Yep!

      They'll come out with the undocumented inconsistencies first, call them features, and the product second!

      --
      My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  6. XMPP by tmarthal · · Score: 4, Interesting

    This is the first that I've heard of this technology. Can anyone post how this is different than XMPP (http://xmpp.org)? XMPP is the updated name of the Jabber protocol.

    I know that every project that I get on, I try to dissuade the use of JMS (Java Message Service) and use XMPP instead. Is this more of a competitor to the JMS spec, since it "reliable"? (whatever that means)

    1. Re:XMPP by Danny+Rathjens · · Score: 1

      That's proprietary information. ;)

    2. Re:XMPP by Anonymous Coward · · Score: 5, Insightful

      I try to dissuade the use of JMS (Java Message Service) and use XMPP instead.

      Why? JMS is just an API. This is sort of like protesting against POSIX or something. JMS implementations can be open source, commercial, free, expensive, whatever. I'm not sure I see your point, especially since messaging is not a core part of your app, and any sizable business will have an investment in a messaging platform already, in the form of tools, monitoring, expertise, etc.

      Is this more of a competitor to the JMS spec, since it "reliable"? (whatever that means)
      If you don't know what reliable messaging is, maybe you shouldn't be offering your advice?

    3. Re:XMPP by Anonymous Coward · · Score: 0

      No, its not a freaking Instant message protocol. Its for inter computer communication for the doling out of tasks usually with in a cluster. So forget about anything based on xml due to the overhead. Its like trying to compare a fleet of Honda civics to 40 ton dump trucks. You shouldn't use either one for the other's purpose.

    4. Re:XMPP by DragonWriter · · Score: 4, Informative

      This is the first that I've heard of this technology. Can anyone post how this is different than XMPP (http://xmpp.org)?

      AMQP seems more "enterprisey" than XMPP, focussed on traditional enterprise applications of messaging, XMPP came up from the IM world. This gives them different areas of focus, though they have considerable overlap in functionality. (There are also a number of other protocols in the messaging space: STOMP & Apache ActiveMQ's OpenWire, and most of the big commercial messaging systems use their own proprietary protocols.)

      I know that every project that I get on, I try to dissuade the use of JMS (Java Message Service) and use XMPP instead.

      JMS is an API, XMPP is a protocol. There are JMS implementations that can use XMPP as a transport protocol (Apache ActiveMQ, for instance, can use its native OpenWire protocol, STOMP, or XMPP).

      Is this more of a competitor to the JMS spec, since it "reliable"? (whatever that means)

      "Reliable" messaging usually means that once the messaging system has acknowledged receipt of the message, it has assumed responsibility for guaranteeing delivery to a suitable endpoint (possibly with some caveats). Mostly, it means in practice that the protocol or implementation provides (or, in the case of a protocol, either mandates or supports in a way which permits clients to discover whether the server is using) channels whose contents are persisted to permanent storage before they are acknowledged.

    5. Re:XMPP by NeRMe · · Score: 5, Informative

      While XMPP and AMQP do have some similarities, they were developed to solve quite different problems.

      XMPP is better for human-to-human or human-to-machine interaction. It is better for federated networks (user@jabber.someserver.com can communicate with user@jabber.someotherserver.com). It has authentication built in. It's more "Internet ready", with modules for BOSH and IRC.

      AMQP is geared more towards traditional machine-to-machine message queuing. It offers more control over the type of message delivery ("exactly once", "pubsub", "at least once"). It's aiming to just be a message queue.

      RabbitMQ is an open-source implementation of AMQP built in Erlang. They seem to be quite fond of XMPP, realizing the different natures of the protocols, and even created a module for ejabberd (also written in Erlang).

      Another interesting mashup between RabbitMQ and ejabberd is is a project I stumbled across called Rabbiter, which looks like some sort of implementation of a Twitter-link setup. They're looking to bring CouchDB (also Erlang) in the mix for persistence.

      I'm expecting to see quite a bit of interaction between RabbitMQ, ejabberd, and CouchDB over the next few months.

      Ruby AMQP Client

      Python AMQP Client

    6. Re:XMPP by DragonWriter · · Score: 2, Interesting

      No, its not a freaking Instant message protocol. Its for inter computer communication for the doling out of tasks usually with in a cluster.

      XMPP, despite having originated as an IM protocol, has been used as a transport protocol for more general messaging.

    7. Re:XMPP by ppetrov · · Score: 4, Informative

      This is the first that I've heard of this technology. Can anyone post how this is different than XMPP (http://xmpp.org)?

      Here's a post about XMPP vs AMQP by Peter Saint-Andre:

      https://stpeter.im/?p=2099

      IMNSHO, XMPP (+XEPs) makes AMQP redundant. Although some people might argue that, being a binary protocol, AMQP is faster.

    8. Re:XMPP by SanityInAnarchy · · Score: 1

      There are also a number of other protocols in the messaging space: STOMP & Apache ActiveMQ's OpenWire, and most of the big commercial messaging systems use their own proprietary protocols.

      That was actually my first thought. What does this do that STOMP doesn't?

      Leave it to Microsoft to pick the one I've never heard of...

      --
      Don't thank God, thank a doctor!
    9. Re:XMPP by DragonWriter · · Score: 2, Informative

      That was actually my first thought. What does this do that STOMP doesn't?

      Quite a bit, actually. While its not quite at 1-0 (what every other project in the universe would call "1.0") yet (the most recent release is 0-10), you can look at the high-level requirements list for 1-0, to get an overview.

      Lots of applications probably don't need what it provides over STOMP, either because they don't need it at all, or because they get it somewhere other than the basic messaging protocol, but it certainly covers a lot more than STOMP does.

    10. Re:XMPP by Anonymous Coward · · Score: 0

      I would say another important aspect is performance. With TIBCO Rendevous I can easily do 100,000+ messages per second from a stock 2x2 box with sub millisecond latency between hosts in a single datacenter. RedHat's MRG includes an AMQP implementation (Apache's qpid) but I found the performance to be horrible - 4 ms ping-pong between two processes on the same box, whereas TIB/RV can do 2ms ping pong between two boxes on either side of the Hudson River. Anyone have any other data points? Are existing AMQP implementations not ready yet for high speed messaging?

    11. Re:XMPP by cdwiegand · · Score: 2, Insightful

      MQ systems connect multiple programs without having to be constantly connected, and guaranteeing once-and-only-once delivery. Banks use MQ to do data transfers, as they know each item will be delivered once. Also, MQ systems usually allow load balancing (say you have a high speed gateway which pipes messages into an MQ and then several hundred slow-processing clients running the incoming queries, then returning the results back out another queue which the gateway picks up and sends back out via whatever protocols it speaks). It's really great for making scalable systems as you can just increase the # of gateways, clients, or whatever as your processing needs increase. I run an ActiveMQ system at work and it can process 40,000 msgs per second at approx 1K of data per message. XMPP would work great (we thought about it) but doesn't do automatic client load balancing like MQ does, and it can't guarantee that if no client picks up the message that it will get delivered when the client finally does pick up their messages/reboots/etc. Think XMPP with a hard drive queue.

      --
      . Define sqrt(x) as something really evil like (x / rand()), and bury it deep. Watch your coworkers go nuts.
    12. Re:XMPP by symbolset · · Score: 1

      Thanks for the informative post.

      That Microsoft has Embraced AMQP will hasten its demise.

      A shame, that. Binary was more efficient. I guess we're still learning from Michael Hart that although it's less efficient in the moment, in the fullness of time it's the most efficient.

      --
      Help stamp out iliturcy.
    13. Re:XMPP by phoebe · · Score: 5, Informative

      Performance wise, XMPP bills itself as high performance messaging, but the developers are focused on the WAN. AMQP comparatively is ultra-high performance messaging with optimisations for the LAN.

      This is confusing as for many projects there is limited need for ultra-high performance data rates. Numbers of the range 100,000 messages per second with latency under one millisecond. At this rate special engineering methods are required, XML, SSL, compression are too slow, focus is upon zero-copy processing, i.e. accessing and updating data in place, because the memory-bus is too slow to perform copies.

      There is a discussion between one AMQP and one XMPP developer that sums this up:

      >> So AFAIU, XMPP is not a serious candidate for high-volume messaging, right?

      No, wrong, as with anything it will all depend on the capacity of your servers and the bandwidth you have available at your disposal, there is nothing stopping high-volume messaging over XMPP if you control the infrastructure.

      http://www.mail-archive.com/jdev@jabber.org/msg19403.html

      Another major advantage for AMQP is message routing. You can define which messages are routed to different sites by their content. Again this is an unusual requirement for many projects as they do not exist on such a scale for this to normally be an issue. The closest equivalent is SMTP routing by domain, you can find more discussion on this InfoQ article:

      http://www.infoq.com/news/2008/08/amqp-progress

      The main focus on AMQP is to appear a qualified messaging protocol for certified or guaranteed messaging with the necessary tools and support from vendors to promote its usage. XMPP can do a lot of the AMQP functionality already, but most of it is optional functionality rather than a primary design goal. If AMQP support appears in the Visual Studio Development System together with MMC modules for monitoring and administration, for example, its adoption could rapidly grow.

    14. Re:XMPP by Richard+W.M.+Jones · · Score: 2, Informative

      Well, you compare two quite different things (throughput & latency), but I'll bite: You should be able to do 10-100,000 messages per second with Red Hat MRG. If you can't, then there's something wrong with your set up.

      Remember that AMQP was initially designed and written by JP Morgan to replace their existing proprietary infrastructure (IBM MQSeries-based IIRC). JP Morgan understand the performance concerns.

      Rich.

    15. Re:XMPP by pstemari · · Score: 1

      More to the point, "reliable" messaging is generally a reference (or euphemism, depending on your POV) for XA transaction support. Under XA transactions, you can combine things like database updates and queue get/puts so that they either all succeed or all fail atomically. Not so important for IM, but rather important when the database is an order cart and the message is debiting your bank account.

    16. Re:XMPP by DragonWriter · · Score: 1

      More to the point, "reliable" messaging is generally a reference (or euphemism, depending on your POV) for XA transaction support.

      Many systems offer both, but I've seen "Reliable messaging" used for systems that offer persistent channels (usually, though IIRC not always, with transactional messaging, so that multiple interactions with the messaging system itself can be wrapped up in atomic transactions) without support for XA transactions. So I don't really think that XA is key to the general meaning of "reliable messaging", though its certainly a common feature, and certainly, as you note, important in some applications.

    17. Re:XMPP by Anonymous Coward · · Score: 0

      There's also a Google Tech Talk from the RabbitMQ people. They explain what AMQP is, how RabbitMQ is implemented, and compare it to XMPP and other systems.

  7. BTDT by Colin+Smith · · Score: 1

    NNTP

    HTH.

    --
    Deleted
    1. Re:BTDT by Anonymous Coward · · Score: 0

      No, not BTDT. ATDT.

    2. Re:BTDT by John+Hasler · · Score: 1

      Not centralized: no single point of failure. That is evidently a required feature of "middleware".

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    3. Re:BTDT by Colin+Smith · · Score: 1

      Very simple; "unload, format, zip, encrypt, sign, post" but worked rather well. However it would be considered a bit slow and unwieldy these days... 3 minutes is too long apparently.

       

      --
      Deleted
    4. Re:BTDT by Barryke · · Score: 1

      unload, format,
      zip, encrypt,
      sign post,
      you name it.

      This could be a song.

      Slashdot is not UTF8 compatible: no â(TM) â(TM) â(TM) here.

      --
      Hivemind harvest in progress..
  8. What happened to their old product? by rubies · · Score: 4, Informative

    I can't even remember it's name, although it's installed here somewhere.

    The IBM MQ product is actually OK to use (very simple, lots of platforms supported) and especially double plus good if you have an IBM mainframe somewhere on your network.

    TIBCO? Shudder. About three quarters of the money they charge goes towards getting your manager drunk enough to sign the purchase order. The product itself isn't worth a damn.

    1. Re:What happened to their old product? by Amazing+Quantum+Man · · Score: 2, Informative

      You mean MSMQ?

      --
      Fascism starts when the efficiency of the government becomes more important than the rights of the people.
    2. Re:What happened to their old product? by rubies · · Score: 1

      Yeah, that's the one. I assume they will simply gut it and put the new protocol underneath (with a couple of "special" extensions to make it backwards compatible).

    3. Re:What happened to their old product? by Anonymous Coward · · Score: 0

      You mean MSMQ? It's still around.

    4. Re:What happened to their old product? by Anonymous Coward · · Score: 0

      "double plus good" ...

      You thought you could get away with it didn't you? You proles think you're so clever. Trying to discreetly pass along subtle warnings regarding our product while appearing to praise it, as if we hadn't seen that one before. Thinking maybe -just maybe- this one message will not be monitored. No one will know, right? We'll be seeing you tonight Mr. Rubies, we've got a special room just for people like you that we'd like you to spend some time in... to get to know yourself better, in a manner of speaking.

      -- Ocea^H^H^H^H^H IBM Thought Police.

    5. Re:What happened to their old product? by Shados · · Score: 1

      Most likely. MSMQ actually works fine, and its still maintained (that is, they pop out a new version roughly with every version of Windows). Its also what they used under WCF to make for a WS-Reliable (is that the real name? I forget... the OASIS standard along with WS-I basic profile and others) compliant solution. Works decently well, too, and it interoperate quite fine.

    6. Re:What happened to their old product? by Anonymous Coward · · Score: 0

      Ummm...Dude.... That link was from 6 years ago, and had nothing to do with MSMQ.

    7. Re:What happened to their old product? by nsebban · · Score: 1

      Do you mean MS Messaging Queue ? It's alive so far, and part of Vista and Server 2008.

      --
      ____
      nico
      Nico-Live
    8. Re:What happened to their old product? by Anonymous Coward · · Score: 0

      >Its also what they used under WCF to make for a WS-Reliable
      That's incorrect. WS-RM is a message vs a transport protocol. Yes you get reliability in MSMQ, no you dont need to use it to perform WS-RM in your service policies. For example, you can simply switch a setting to be on with WsHttpBinding in WCF to enable WS-RM.

    9. Re:What happened to their old product? by Shados · · Score: 1

      Yes, you can expose your service as WS-RM without it being actually reliable, which achieves pretty much nothing. I understand your point, and I guess my previous post was overly simplistic... but without the MSMQ support, enabling WS-RM is like filling the checklist of Section 508 without having a semantically acceptable page... it will "validate", but still be useless :)

  9. AMQP is to business messaging what SMTP is to emai by Anonymous Coward · · Score: 0, Offtopic

    That bad, hmmm?

  10. Why is Red Hat excited? by FranTaylor · · Score: 3, Interesting

    Perhaps they feel that Microsoft brings recognition to a technology that RedHat is poised to exploit in their products. RedHat is only too happy to compete with Microsoft on an even playing field.

  11. What is this anyway? by Just+Some+Guy · · Score: 1

    OK, I've heard people mentioning messaging and middleware, but what is this exactly? Why would I want to use this instead of XMLRPC or SOAP or something else?

    --
    Dewey, what part of this looks like authorities should be involved?
    1. Re:What is this anyway? by Knightman · · Score: 3, Informative

      Because most competent middlewares supports transaction handling, synchronous and asynchronous, triggering, queueing and prioritizing of messages.

      SOAP and XMLRPC doesn't really cut it when you need proper transaction based messaging. I've seen some bastard solutions for this but they perform poorly.

      --
      --- Reality doesn't care about your opinions, it happens anyway and if you are in the way you'll get squished.
    2. Re:What is this anyway? by DragonWriter · · Score: 2, Informative

      OK, I've heard people mentioning messaging and middleware, but what is this exactly? Why would I want to use this instead of XMLRPC or SOAP or something else?

      Architectures using messaging are more loosely coupled than those using SOAP or XMLRPC. Essentially, every component is a messaging client, asynchronously consuming and/or producing messages that get posted to specified channels. None of the clients need to know anything about any of the other clients, only what types of messages are acceptable to be put on what channels, and what channels to listen on for types of messages they are interested in.

      This makes it easier to add intermediate processing components, to scale out the number of "servers" (though they are actually a kind of clients) handling particular types of messages, etc., since multiple clients can listen on the same channels (though only one will receive each message, for a normal, queue-like channel).

    3. Re:What is this anyway? by nycguy · · Score: 4, Informative
      These products provide functionality beyond simple messaging that abstract message sources and their destinations, such as:
      • subject-based messaging: Rather than publishing to specific destinations, one publishes to a particular subject. The middleware routes the message to all recipients subscribed to that subject. (Note that one can get point-to-point messaging just by having each recipient subscribe to a unique, identifying subject.)
      • transport abstraction: One theoretically need not worry about the transport used, which may be a TCP/IP connection, UDP multicast, Unix domain socket (locally), etc. (In practice, however, high-volume messaging will expose the limitations and pitfalls of the transport.)
      • guaranteed delivery: By abstracting the message sender from the receiver, the middleware can provide more reliable messaging. For example, it can replay a message to a receiver even if the sender has disappeared. Thus, message publishers and receivers need not be running simultaneously. (In practice, this also has pitfalls. You can accidentally replay messages from a previous session if you accidentally reuse old persistence files in your configuration.)
      • data conversion: Some middleware solutions provide conversion of binary data between architectures without forcing one to write everything out in text form.

      Middleware solutions also come with tools for monitoring, configuring, etc., that simpler solutions often do not. This being said, I've had my fair share of problems with middleware in the past. Like any complex piece of software, you get a lot of functionality, but you also get a lot of baggage and hidden pitfalls that can come back to bite you when your usage of that functionality becomes demanding.

    4. Re:What is this anyway? by DerWulf · · Score: 1

      You've got some good replies already but I'd like to stress the asynchronous nature of messaging. It's like email for applications without the stupid format :) ... you push your payload to a queue and at that point can stop worrying about it: it'll either get delivered or stay on the queue. The API (in IBMs case) is very straight forward and easy to use and has bindings or implementation in most languages.

      --

      ___
      No power in the 'verse can stop me
    5. Re:What is this anyway? by mveloso · · Score: 2, Informative

      Well, middleware tends to have a bus publish/subscribe architecture. So you throw a whole lot of data onto the bus, and you don't really care where it goes. Clients are clients of the bus, and generally register for data that they're interested in.

      The standard example for this kind of stuff is stock trading. Your stock app basically dumps all the transaction information onto the bus in realtime, and clients register for notification of trades on specific ticker symbols or some kind of criteria (>1000 shares, price), or any combination of things.

      As long as the message contents are standardized, anyone can listen (or post)...assuming they have the correct permissions, etc.

      This doesn't sound hard, until you realize that comes to around 10379 trades/sec given today's DJIA trading volume.

      The bus architecture seems to have scaled up pretty well. I remember when trading volumes were a lot less. Note that the bus (solution) generally:

      * requires transactions
      * requires guaranteed delivery
      * requires a guaranteed latency time
      * requires absolute uptime during its operational period
      * requires that data never be lost, ever

      Lots of features fall out from those, such as distributed architecture, redundancy, failover, hot standby, replication, fault tolerance, etc.

      Luckily, the realtime platform only needs to run during market hours (and some period before/after). So technically you only need about 6.5 hours of uptime per day (make it 10 hours for settlements, etc).

      Why would you use a bus? Because it means you don't have to care how clients connect to you. Throw your message onto the bus, and that's all you need to worry about. You don't have to worry about transaction support, security, all that other crud. Your app's job is to connect to the bus and feed it data.

      Likewise, the client just needs to hop onto the bus and register for the messages that it cares about (and presumably understands). You'd think you'd lose performance because it's so decoupled, but you don't.

    6. Re:What is this anyway? by mrboyd · · Score: 4, Informative

      Ok, I'll try.

      Let's imagine that your organization uses a few different applications. For example a core banking, a loan management, credit card management, call center, billing etc..

      Now let's say that you would like to be able to do "fun" stuff when something "cool" happens in one of those applications. For example, when someone default on a loan payment you'd like the core banking to flag the account as "dangerous", block his credit card, cancel his vip status in the CRM, the call center will generate an automated call to connect you to a customer service rep from the debt collection department that will menace you with the word foreclosure.

      The first way to do that is to create many one-to-one relationship between all those application. "onpaymentdefaultduedate" in the loan management you could call successively each API of each application to "make it" do whatever it is that needs to be done. So the loan management will need to know about the crm, the call center, the billing etc...

      Problem is that the next time you add a fancy new application (SMS harassment gateway for example) or upgrade an existing one (API change yeah!) you'll need to upgrade all the applications that have a one-one relationship. Which mean bringing on board the vendors of each and every applications for top dollars. Plus after a few years, everyone will have forgotten how the things even works. The vendor does not provide version 2 customization and you'll have to upgrade everything to version 7.3.56 and retrain your staff because the interface has changed and you can't expect the tellers to figure it out by themselves.

      The second option is to add a middleware that will "sit" in the middle of all your other application (hence "middleware") and connect all the applications together using a publisher/subscriber model.

      In that architecture, the loan application does not know about any other application than the MQ. Whenever you start defaulting it will simply send a message ("loandefaulted userid=12 amount=345.5") to the message queue and the MQ will in turn dispatch it to whatever other applications has register an interest for it by saying something like "subscribe to event loandefaulted from loanapplication". Many applications can register to the same event. That way the CRM can flag you, the call center can call you, legal can sue you and the SMS reminder volley can begin. All of that without any applications having to care about the brand or specific implementation (J2EE or .NET?) of the other application.

      Of course this is a bit simplistic but cover 80% of the purpose of an MQ: loose coupling of application via an event based mechanism. Add to that option such as guaranteed reliability, prioritization of message, security and more complexe workflow of messages with multiple "queries" and "answers" and maybe you'll get a rough idea of why a MQ is a better design that "hard coupling" of n-application (sometime).

      Of course since once you've chosen a MQ and adapted all your applications to use it you're basically tied forever and ever to your MQ vendor who hold you by the balls and can continuously rape you over and over with astronomical maintenance fee since you now have a single coordinated point of failure that can and will eventually take everything down at some point.
      But hey, you're a big bank you can take it.. or at least you could until a month ago but whatever...

      Clearer?

    7. Re:What is this anyway? by gbjbaanb · · Score: 1

      Yeah, but what you've just described in BizTalk... only that's not quite the fire-and-forget applicationinfrastructureframework that it should be.

      So, perhaps we'll see it integrated into that, just so you can be enticed by the 'open and interoperable' MQs but then get bent over the totally un-open and expensive Biztalk server while .. you described the rest already.

    8. Re:What is this anyway? by DragonWriter · · Score: 1

      Bad form, perhaps, to reply twice, but for more information on what messaging is, a decent starting point is the Enterprise Integration Patterns website.

    9. Re:What is this anyway? by rzei · · Score: 1

      Of course since once you've chosen a MQ and adapted all your applications to use it you're basically tied forever and ever to your MQ vendor who hold you by the balls and can continuously rape you over and over with astronomical maintenance fee since you now have a single coordinated point of failure that can and will eventually take everything down at some point.

      While it's still in incubation, Apache's qpid, might be worth a look. If it sucks now, throw a developer to help with it, and you'll have a sustainable MQ for well.. Your applications whole life-cycle.

      Apache already has ActiveMQ which AFAIK is not AMQP but something still. Perhaps you could abstract the use of either in your architecture, and jump over to AMQP when you feel like it.

    10. Re:What is this anyway? by Bunzinator · · Score: 1

      A few minor nit-picks...

      Typically, commercial middleware vendors don't use the term 'guaranteed delivery', rather something like 'assured delivery'. This is supposedly because of the legal meaning of the term 'guarantee' which vendors are terrified might expose them to litigation if a message fails to be delivered.

      Also, internal translation is more often performed on text data than binary - the conversion being between the CCSID of the source platform and the destination platform.

    11. Re:What is this anyway? by Just+Some+Guy · · Score: 1

      Not at all. Thank you (and everyone else!) for a good primer on the subject.

      --
      Dewey, what part of this looks like authorities should be involved?
    12. Re:What is this anyway? by Anonymous Coward · · Score: 0

      MrBoyd, that is a GREAT explanation. May I distribute it to a couple of folks in my organization? Thanks, Dave A.

      PS. I am not an Anonymous Coward, just not registered.

  12. Sooo.... by uberjack · · Score: 1

    How long until Microsoft decides that AMQP doesn't suit its "purpose", and creates its own proprietary platform, based on what they learn. Anyone remember *cough* J++ *cough*?

    1. Re:Sooo.... by mrboyd · · Score: 1

      And you get C# which is actually a much nicer language than J++ ever was, integrate way better with Microsoft platform (for some it does matter) and gave a much needed kick in sun's behind who realized it was finally time to update Java with some interesting features. Both are now alive and kicking.
      What was your point?

    2. Re:Sooo.... by uberjack · · Score: 2, Informative

      And you get C# which is actually a much nicer language than J++ ever was, integrate way better with Microsoft platform

      Microsoft took Java, did a shitty job at writing a VM for it, ignored repeated urgings to conform, then threw a tantrum and reinvented the wheel.

      ... gave a much needed kick in sun's behind who realized it was finally time to update Java with some interesting features. Both are now alive and kicking.

      Competition's always better, and my point wasn't to compare Java and C#. It was to demonstrate Microsoft's approach to such issues, which is to dissect, then "reinvent".

      What was your point?

      Pay better attention next time

    3. Re:Sooo.... by atraintocry · · Score: 1

      did a shitty job at writing a VM for it

      Call it a conspiracy theory, but I always figured that fragmenting Java was the whole point...Sun came up with WORA, and Microsoft tried for a while to make sure that "anywhere" did not include their platform. And got away with it for a while.

  13. TIBOC Rendezvous vs. SmartSockets? by teridon · · Score: 1

    What are the differences between TIBCO SmartSockets and Rendezvous? They seem to be very similar. I suppose I could try reading the documentation for Rendezvous, but I know someone out there in /.-land knows the information already and is itching to share!

    I use SmartSockets indirectly through a secondary API in some software that I maintain. The secondary API, GMSEC, is meant to provide a standard interface to the messaging layer; i.e. so that no matter what MOM you want to use, your programs use the same API. OK, in practice, GMSEC only supports a few MOM packages, but that's the idea anyway1

    --
    I hold it, that a little rebellion, now and then, is a good thing. -- Thomas Jefferson
    1. Re:TIBOC Rendezvous vs. SmartSockets? by BillAtHRST · · Score: 1

      SmartSockets was created by Talarian, which was later bought by Tibco (when SmartSockets started to gain some traction as a competitor). Some of the Talarian people, notably Mark Mahowald, later left Tibco to found 29West (www.29west.com), which -- guess what? -- competes against Rendezvous.

  14. SMTP analogue? by pjt33 · · Score: 4, Insightful

    Suffice it is to say that AMQP is to high-value, reliable business messaging what SMTP is to e-mail.

    So it sort-of works but it's 30 years out of date and every man and his dog has a different opinion as to how to fix its gaping flaws?

    1. Re:SMTP analogue? by Anonymous Coward · · Score: 0

      Almost. It was started by a few guys at JPMorgan - I used to work with them, and the nicest thing I can say bout them is that they're a bit naive. I do wish them well though. It's just a shame they had to re-invent the wheel.

    2. Re:SMTP analogue? by Anonymous Coward · · Score: 1, Interesting

      Suffice it is to say that AMQP is to high-value, reliable business messaging what SMTP is to e-mail.

      So it sort-of works but it's 30 years out of date and every man and his dog has a different opinion as to how to fix its gaping flaws?

      A few years ago I had a look at a very early draft of AMQP. Although I did spot (and report) some potential problems in the draft specification, there was one aspect I did like a lot: the authors had taken Moore's Law into account. For example, some of today's middleware protocols place a unique RequestId n the header of messages. When a protocol does that, the protocol designers should ask themselves "If we use, say, a 32-bit integer for that RequestId/i> then how long will it take at typical message exchange rates for that 32-bit RequestId/i> to overflow? Should we use a 64-bit integer instead?" The authors of the AMQP specification decided to assume that Moore's Law would apply to growth in areas such as bandwidth, quantity of messages exchanged, amount of data in each message, and so on. Based on this assumption, they decided they wanted AMQP to be usable for at least 50 years before having to worry about overflowing integers causing problems for uniqueness of ids or "message is too large to transmit" problems.

      I haven't kept up-to-date with how AMQP has been maturing so I don't have any comment on how good or bad it is in general. However, the idea of designing a specification so it can last at least 50 years of Moore's Law growth is something that all designers should keep in mind.

    3. Re:SMTP analogue? by oever · · Score: 1

      Can you point me to the source code of the original wheel?

      --
      DNA is the ultimate spaghetti code.
    4. Re:SMTP analogue? by aproposofwhat · · Score: 1

      Well, this is sort of close...

      --
      One swallow does not a fellatrix make
  15. Will this replace MSMQ? by chiph · · Score: 1

    And will Microsoft finally have a publish-subscribe message queuing system as a result?

    Chip H.

  16. Not so little known by Monkius · · Score: 3, Informative

    Odd this came up just at this moment, though it's hardly little known.

    Implementations:

    Several here: http://jira.amqp.org/confluence/display/AMQP/AMQP+Products

    --
    Matt
  17. Mod parent up - has a clue about the subject by Reality+Master+201 · · Score: 1

    Cause unlike the grandparent poster, he actually has a clue about the subject.

  18. ActiveMQ: FOSS Messaging Middleware by DragonWriter · · Score: 1

    The proprietary message oriented middleware (MOM) products on the market today like IBM's MQ or Tibco's Rendezvous fulfill the same function as AMQP. But they operate exclusively in single-vendor fashion and utterly fail to interoperate with each other. They are also -- perhaps not by coincidence -- burdensomely expensive.

    There are also F/OSS MOM products (Apache ActiveMQ, for one) that do not operate "exclusively in single-vendor fashion" (ActiveMQ can "talk" STOMP and XMPP, as well as its native protocol, OpenWire, and of course its F/OSS), can interoperate with a number of other messaging solutions and clients, and are available without charge.

    Yes, proprietary solutions are proprietary and expensive. This isn't at all unique to Message Oriented Middleware.
     

  19. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  20. Comment removed by account_deleted · · Score: 2, Insightful

    Comment removed based on user account deletion

  21. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  22. AMQP for Beginners by mpapet · · Score: 3, Interesting

    Here's a real-world application for AMQP.

    Let's say there are two banks, BA and WTF. Every day they have debits and credits flying back and forth.

    A protocol like AMQP makes exchanging messages (aka transaction) robust. Bank's IT guy gets mad and pulls the T1 out the wall at BA? Messages do a few things like wait in a queue at BA.

    The messages that were sent to WTF before the cable was pulled were processed by WTF and wait in a queue at WTF unti BA comes back online.

    That's a simple example. There is lots of information outside of the banking world where robust messaging is required.

    --
    http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
  23. Embrace, extend... by QuietLagoon · · Score: 1
    extinguish.
    .

    Those who do not know history are doomed to repeat it.

    1. Re:Embrace, extend... by symbolset · · Score: 1

      Those who do not know history are doomed to repeat it.

      The most common lesson we learn from history is that we don't learn from history.

      --
      Help stamp out iliturcy.
  24. As the saying goes ... by causality · · Score: 1

    "If you get into bed with Microsoft, you're going to get fucked". I can't remember the attribution of this quote.

    I say that with a full understanding that this is effective business; their profitability and control of the industry speaks well enough for that. No, really -- if I wanted to find out how to be effective in the business world, I would definitely study tactics used by Microsoft and organizations like them. They have quite a genius for it and I acknowledge this freely. I just happen to be more interested in effective systems, interoperability, and truly open standards and open source, in the sense that if the best system available meant Microsoft went bankrupt, I would have the same amount of sympathy for Microsoft as Microsoft has for competitors who have difficulty obtaining marketshare. The idea that you should defend and care about a faceless corporation (any of them, really -- Microsoft just happens to be relevant to the discussion but they are by no means special) as though it had any loyalty to you or personal affection for you is just a silly example of anthropomorphosis (or astroturfing; I can't rule that out since they've done it before. Hey, some marketing practices are inherently deceptive and harm future credibility -- I hope it was worthwhile). Corporations are neither moral nor immoral; they are amoral. To expect an amoral entity to really want to cooperate selflessly with anything resembling a community is naive. To get upset with anyone who points this out is even more so.

    Replies that confuse "identifying a corporation and its business practices and calling them what they really are" with "advocating for or against said corporation's products" are indicative of either deliberate straw-man attacks or small-minded men. Don't ask me why I bother to say that; just like with moderators who care more about how something sounds than they care about whether it's true, I get the idea that anyone who can tell the difference does not need me to point it out.

    --
    It is a miracle that curiosity survives formal education. - Einstein
    1. Re:As the saying goes ... by gtall · · Score: 1

      Yes, let's trumpet the most base qualities in humans and declare them to be the standard for business. What right should we have to expect ethical behavior since there is no one to enforce it or that the entity isn't human, merely run by humans?

      Tell you what, let's make a list of the worst excesses of human behavior and pass it around to companies to use as a cheat-sheet. Business School Product should always aim high.

      Gerry

  25. Speaking of standards by thethibs · · Score: 3, Insightful

    Speaking of standards...

    We should establish, as a standard, an enumerated list of the half-dozen or so stock Microsoft whinges that end up as eighty percent or so of the comments to any article that mentions Microsoft.

    Instead of typing it fresh each time, or pasting it from a previous message, the poster could just invoke e.g. "#3", instead of "Microsoft will Embrace, Extend, Extinguish" and all its semantic equivalents.

    Better yet, since the list will be pretty short, the Slashdot UI could be modified to include a drop-down list of the standard whinges with any article that includes the Microsoft name. Select a whinge, and Slashdot automatically posts a comment for you (correctly spelled). What could be simpler?

    The aggregate time savings would be a major boon to the American economy.

    --
    I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
    1. Re:Speaking of standards by TaoPhoenix · · Score: 1

      You're being funny, but I am slowly building a little page for my eternally-PreAlpha site that charts all three-five steps of the lifecycle of various announcements. Each time we try to be future-looking and says "E-E-E was all in the past", only to see fresh examples. OOXML was the one that really slammed home for me.

      --
      My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
    2. Re:Speaking of standards by atraintocry · · Score: 1

      Like the old joke about prison inmates shouting numbers because they've all heard everyone's jokes so many times, and then the new guy stands up and says a number, but no one laughs because apparently he's not good at telling jokes.

      (I am not good at telling jokes, look what I did with that one :D )

  26. The words ring hollow by dave562 · · Score: 2, Informative

    "They are also -- perhaps not by coincidence -- burdensomely expensive."

    I've been using Exchange since 5.5 and have dealt with every revision up to the current one. When the organization that I worked for developed a need for in house IM the first place I went to look was Exchange. They had built in IM in Exchange Server 2000. We're running 2003 and surprise, surprise... IM is gone. Now Microsoft expects us to purchase some Office Communications Server or some BS like that to have the functionality that was previously free.

    Given that experience with Microsoft and IM, I don't think that they're really in the business of giving free functionality to people using their software.

    As long as I'm posting this, can anyone recommend some good, hopefully free IM clients for internal use? We only need to support about 50 users.

    1. Re:The words ring hollow by D4MO · · Score: 1
      Try OpenFire

      "Openfire (formerly Wildfire) is a cross-platform real-time collaboration server based on the XMPP (Jabber) protocol."

      --

      Rocket science is easy. Neurosurgery, now *that's* difficult.
    2. Re:The words ring hollow by atraintocry · · Score: 1

      I've yet to set one up so I can't offer you any advice based on first-hand experience. But I can tell you that you need to decide if it will be internally hosted or not. It sounds like that's what you're getting at anyway. Maybe check out Openfire (used to be Wildfire)? Java-based. Integrates with AD. I have it on the back burner as something to check out for my own users.

    3. Re:The words ring hollow by Bert64 · · Score: 1

      Yeah, use winpopup for IM, that was around in 3.11 for workgroups.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  27. The 'itsatrap' tag is on vacation today? by symbolset · · Score: 0, Offtopic

    Seriously.

    --
    Help stamp out iliturcy.
  28. Mods on crack by symbolset · · Score: 1

    And I have karma to burn.

    Parent is not "off topic"

    --
    Help stamp out iliturcy.
  29. standards by Luke-SuperDude · · Score: 1

    Its nice they want to do something according to a standard. Allthough they will probably try to "own" the standard

  30. Defacto standard! by supersnail · · Score: 2, Interesting

    The defacto standard in this area is Webshere MQ from IBM.

    It has something like 90% of the business relaible messaging market.
    All the other commercial products (MSMQ, Oracle, Tibco etc.) are niche players.

    MA is actually pretty cheap for a "Websphere" branded product starting from free for a
    try this at home folks windows installation, through a few $,000 dollars for a sizeable unix
    shop license to tens of thousands for a mainframe setup (This IS considered cheap for mainframe software!)

    If you can persuade your boss not to pay for software (always desparately hard in a business environment!) then ActiveMQ is the defacto standard for open source implementations. AFIK its just as good as IBMs product as long as you stay in the Java world.

    This all looks like an attempt to cause confusion and muddy the waters with yet another unstandard standard.

    --
    Old COBOL programmers never die. They just code in C.
    1. Re:Defacto standard! by DragonWriter · · Score: 1

      This all looks like an attempt to cause confusion and muddy the waters with yet another unstandard standard.

      While Microsoft's involvement may be about muddying the waters, the AMQP effort itself seems to be about actually having a standard enterprise messaging protocol: the main standard in the messaging space is XMPP, and it wasn't designed around enterprise needs (one might argue that in the long term, it would be better to adopt and/or extend XMPP, or that if you were going to design from the ground up AMQP hasn't made the right basic decisions, but that's all a little beside the point of understanding what is going on.) There are lots of implementations, but no standard protocols (several non-proprietary protocols, but that's not the same thing).

      I mean, look at who was involved in this before MS signed up: its mostly big customers for enterprise messaging in the financial services industry. They've got no interest in muddying the waters. Their interest is in reducing their own costs by reducing vendor lock-in and commoditizing messaging solutions.

  31. Re:Interesting, though not necessarily a big chang by aproposofwhat · · Score: 2, Interesting

    MS was once the scrappy, cheap alternative to Big Blue and the proprietary Unix club

    When was that, exactly?

    For file and print services, Netware had NT beaten hands down - for RDBMS, Oracle ran way faster on Netware than on NT, and even the mainframe integration on Netware was light years ahead of the Microsoft offerings.

    Novell were just shitty marketers, so Windows (a perfectly adequate desktop OS) ended up competing against real server OSs by default.

    OK, the server flavours of Windows are better now than they used to be, but I'd rather run Linux, a proprietary *nix or (heaven forbid) IBM on a critical system than any number of Windows servers.

    I'd expect to see a couple of the big boys supporting AMQP soon - if only to stop Microsoft diluting and perverting the standard.

    --
    One swallow does not a fellatrix make
  32. Different kind of messaging by simong · · Score: 1

    Business messaging is about the assured transfer of data using FTP or other transfer protocols, not email over SMTP or MAPI. It's done using queues and management systems to route, deliver and confirm that data has been delivered in a auditable way. Funnily enough it has more in common with instant messaging than it does with email.

    On the subject of IM, you could do worse than find a decent but surplus PC, install VMWare Server on it and get a Jabber server appliance. Jabber and XMPP is an excellent alternative to MSN but can be a bit of a pig to set up, so a ready built appliance is a good way of testing it. Use Pidgin or Adium for OSX as the client.

  33. A very fast messages broker by chrysalis · · Score: 1

    If you are looking for a very fast messages broker, have a look at the ZeroMQ project : http://www.zeromq.com/

    Although it looks not a lot of people have heard about it, and although AMQP is still on the todo-list, it's free, open-source and it works damn well.

    Regardless of the API and protocol, messages brokers are very helpful to build horizontally scalable applications.

    --
    {{.sig}}
    1. Re:A very fast messages broker by chrysalis · · Score: 1

      Before someone nitpicks: ZeroMQ is not really a messages broker, messages are directly sent to the recipient without passing through any broker and this is what makes ZeroMQ different and fast. But the end result is that you get the same features as a messages broker, just faster and easier.

      ZeroMQ is still under development though. But it really needs more exposure.

      --
      {{.sig}}
    2. Re:A very fast messages broker by DragonWriter · · Score: 2, Interesting

      ZeroMQ is not really a messages broker, messages are directly sent to the recipient without passing through any broker and this is what makes ZeroMQ different and fast. But the end result is that you get the same features as a messages broker, just faster and easier.

      Except, no, you don't get the features of a message broker. Particularly, you don't get reliable messaging. Its not really all that surprising that when you take the "middle" out of "middleware", you get a speed increase, at the same time losing a lot of what makes middleware useful.

  34. Why AMQP is important and how to use it by rabbitmq · · Score: 3, Informative

    Goodness me...

    I work on RabbitMQ which is a messaging implementation that provides AMQP and other patterns. I hope my comment here can clear up some misunderstandings in the community.

    Here is an introduction to AMQP from the RabbitMQ team - there are two presentations and a video - made at Google a few weeks ago: http://google-ukdev.blogspot.com/2008/09/rabbitmq-tech-talk-at-google-london.html

    People who are wondering why AMQP is important compared to MQ, JMS, or whatever, should check out the first presentation. The second presentation includes information about XMPP vs AMQP. The two protocols are strongly complementary and are not alternatives. You can use these today: RabbitMQ as someone mentioned above has clients in lots of languages like Java, Ruby, Python, .., and including .NET WCF and C#.

    Integration with Visual Studio has been done: http://www.rabbitmq.com/dotnet.html

    As someone else pointed out there are protocol adaptors including STOMP and XMPP: http://www.lshift.net/blog/2008/07/01/rabbitmq-xmpp-gateway-released

    It is open source - we welcome questions on the mailing list which you can find linked to from the home page: http://www.rabbitmq.com/

    Cheers,

    alexis

  35. Microsoft is changing!! by BrunoUsesBBEdit · · Score: 1

    They even heart PHP! http://www.microsoft.com/uk/servers/winclientshearts/

    Next thing you know they will have Django Ponies on their "I'm a PC" commercials. http://djangopony.com/

  36. Sounds like a GreaseMonkey script in the making... by BrunoUsesBBEdit · · Score: 1

    Nothing like it exists yet... http://userscripts.org/tags/slashdot

  37. AMQP is like SMTP? by Anonymous Coward · · Score: 0

    AMQP is to high-value, reliable business messaging what SMTP is to e-mail.

    What, trivially subject to forgery and carrying 95% SPAM?

  38. Re:Interesting, though not necessarily a big chang by gtall · · Score: 1

    "but it should be remembered that MS was once the scrappy, cheap alternative to Big Blue and the proprietary Unix club"

    Wby?

    Gerry