Slashdot Mirror


Open Source Message Queuing System

psicode writes "John Davies has announced AMQ, an effort at JPMorgan Chase & Co. to create an open-source message queuing system that can compete with proprietary message systems like IBM MQSeries and Tibco/RV. The announcement was made at the annual conference Web Services on Wall Street during Davies' presentation on February 1. eWeek has an article today with more details and some funny statements about Red Hat, SuSE and Sun possibly integrating AMQ into their "kernel". If JPMorgan Chase & Co. follows through with their announcement and they come up with a suitable open-source license, AMQ could become the Apache of messaging systems."

350 comments

  1. Web services by WesG · · Score: 4, Funny

    I think web services are going to be the next big thing.

    yay

    1. Re:Web services by delirium28 · · Score: 1

      No way man! CORBA is the cats meow man! I'm still holding out for that hope man! It's been a few decades, but it's due any day man, it was promised to us! IT WAS PROMISED TO US!!!

      --
      Who is John Galt?
    2. Re:Web services by YU+Nicks+NE+Way · · Score: 1

      Hey, man, did you get your flying car? I heard people would be getting them by 2000 -- I must still be on the waiting list.

    3. Re:Web services by Rob+Riggs · · Score: 4, Informative

      Funny thing is, Java EJBs are CORBA. They communicate over IIOP. You can generate CORBA IDL for them. And you can connect a CORBA client to them. CORBA isn't "due any day" -- it's here.

      Those who know history (esp. of distributed object systems) are watching SOAP and "Web Services" evolve and just laughing our asses off (or crying, depending on the situation). CORBA has been simplifying while SOAP has been complexifying. SOAP is now more complicated to develop for than CORBA.

      --
      the growth in cynicism and rebellion has not been without cause
    4. Re:Web services by n6mod · · Score: 1

      Wow, did you just use "simplifying" and CORBA in the same sentence?

      Or maybe I'm just smarting from working on a system where I had to configure network interfaces through CORBA. I still have nightmares about that one.

      --
      You have violated Robot's Rules of Order and will be asked to leave the future immediately.
    5. Re:Web services by johnnyb · · Score: 2, Insightful

      I've found the general CORBA framework to be pretty simple, and even taught it in a C++ intro class. There's a lot of details, but that's true of any well-thought-out system. Often times complaints of "complexity" are actually complaints about something being well thought out. Attempts to "simplify" just bring about evil things like SOAP, which, despite it's acronym is not simple, has nothing to do with objects, and isn't even a specced out protocol. "access" is the only part of its name that isn't a complete fabrication.

    6. Re:Web services by Anonymous Coward · · Score: 5, Informative

      You are indeed quite funny. However, the total tonnage of posts later in other threads asking about how MQ-Series competes with HTTP, InstantMessanger, J2EE containers has just made it clear to me that Slashdot hasn't been particularly illuminating to nerds - it's spent far to much time on MPAA/RIAA.

      Message-oriented middleware (MOM)is broard term encompasing a messaging system that may be sychronous or asynchronous. MQ-Series runs on over 30 platforms and allows developers to integrate apps on wildly differnet systems. How would you get an app on a Tandam-Hymalaya nonstop machine to talk to an AS400, then pass the results off to Linux box as well as supplying an audit trail to a Z/OS Mainframe?

      Remember that some of these platforms might not even support TCP/IP at your site.

      Hint: Yahoo Instant Messanger will be viewed as a sub-optimal solution.

      AC

      p.s. I was just made redundant at work yesterday. (The company closed - everyone was let go) Time to stop posting and get another job....

    7. Re:Web services by Buran · · Score: 0, Redundant

      It's the year 2000, and I don't see any flying cars! I was promised flying cars! I don't see any flying cars! Why? WHY!? WHY!!!?!?

    8. Re:Web services by agm · · Score: 2, Informative

      Just last week I developed a SOAP provider and SOAP consumer application in C++ using the gSOAP toolkit. (Check it out on sourceforge). My impression: Absolutely amazing. gSOAP makes SOAP basd applications (whether or not they were initially designed to use SOAP) a breeze to code. Totally flexible, amazingly easy. The applications are boundless.

      (No, I am not affiliated with gSOAP at all, just singing the praises for this amazing (open source) project).

    9. Re:Web services by aled · · Score: 1

      Don't you people know ANYTHING? FIRST the robots must kill 99,99% in a maniac frenzy of destruction, THEN the survivors will get the flying cars.
      Oh and YOU are not in the list of survivors.

      --

      "I think this line is mostly filler"
    10. Re:Web services by That's+Unpossible! · · Score: 1

      I was just made redundant at work yesterday. (The company closed - everyone was let go) Time to stop posting

      Strange that you stopped goofing off AFTER you were fired.

      --
      Ironically, the word ironically is often used incorrectly.
    11. Re:Web services by wintaki · · Score: 3, Interesting

      Amen! I have been crying. Sometimes I even run into people who are ignornat of the history and think EJBs invented the whole idea of distributed objects. It drives me crazy. We had a project at work built with C++/CORBA. It was pretty mature and worked really well. There was another project built on EJBs and we were suppose to get the two products talking. At the first meeting, they had a whole slideshow showing why we should rewrite our stuff with EJBs, showing all the advantages and how you could have remote objects and other things "not possible in C++". We were laughing until we realized there are MANY people who believe that. After we explained to them that their EJBs are more or less CORBA, they looked at us funny and I don't think they really believed us. They figured since they had just discovered distributed objects, it must be new and we were some crazy people who did not understand the power of EJBs...

      It's a shame. CORBA is really useful and I think very easy to work with. Granted, there are a few things to learn if you're using the C++ mapping, but if you take the time, it's actually pretty straightforward and consistent.

      It seems whenever something is at the point where it is mature and works well, it is thrown out and some new thing is invented to replace it - and they end up re-inventing the wheel many times - usually with less then spectacular results.

    12. Re:Web services by julesh · · Score: 1

      The problem with CORBA is, frankly, that all the documentation on it that I've ever seen is terrifying. To the uninitiated, it seems like a huge mess.

      SOAP, however, while it is getting more complicated over time, gives an easy in. It is very simple for somebody to look at the documentation for a SOAP service without knowing anything at all about SOAP and see it for what it is -- I send an XML encoded request in this format, get back an XML encoded response in this format (yes it can be more complicated, but for 90% of services this is all that's required -- for the rest, CORBA's probably better).

      And, of course, it's worth noting how little the average geek knows about SOAP.

    13. Re:Web services by Rick.C · · Score: 1
      p.s. I was just made redundant at work yesterday. (The company closed - everyone was let go)

      It sure was nice of them to let you hang around for an extra day or two so you could get in a few last posts to Slashdot. :)

      LAST POST!!
      --
      You were 80% angel, 10% demon. The rest was hard to explain. - Over The Rhine
      "Math in a song is good."-Linford
    14. Re:Web services by boeserjavamann · · Score: 1

      I think u are partly right. Those whole SOA-Hype might be over-complicated and not very new, but its still more "real-life" then the earlier affords. Communicating via HTTP (hey, free ports, no work for admins) is a great thing. So Standard-EJBs (the stuff J2EE 1.4) are not build for Web Services (to old :)), cause, as u said, they use RMI-IIOP

  2. Active MQ by LordMyren · · Score: 4, Informative

    I thought that's what CodeHaus's ActiveMQ was for.

    CodeHaus rocks, even if they are overly java biased for my tastes.

    1. Re:Active MQ by jdray · · Score: 3, Informative

      I think the point behind AMQ (at least it was heavily-pointed-out in the article) is that it supports bindings for C, C++, C#, Java, etc., etc., etc. ActiveMQ seems to only support bindings for Java.

      --
      The Spoon
      Updated 6/28/2011
    2. Re:Active MQ by Anonymous Coward · · Score: 4, Informative

      IBM MQ is extremely useful becuase it goes across platforms (Windows, any type of Unix, mainframe) as well as languages (C, C++, C#, Java, perl, Cobol, etc).

      Any Java-centric system is useful to tie Java programs together, but not for firm-wide integration. The same story goes for platform-specific products. Unless your firm uses only one langauge/platform, in which case you're not likely to need queueing...

    3. Re:Active MQ by clockwise_music · · Score: 2, Informative

      At an old place of work we used SonicMQ for our messaging.

      Now to be fair, the broker itself was quite stable, and if you were just using java, I assume that everything would be ok. However we were using a bunch of different languages (legacy systems) and some of the adapters for those languages were a joke.

      It became our developer in-joke. "Why did the system go down today? Sonic". Memory leaks, random crashing, threading problems, you name it. Caused us months of bug fixing. I'm sure (hope) that things have come a long way since then.

      An open source messaging tool (that worked properly and had load balancing, etc) would be a great thing.

    4. Re:Active MQ by psicode · · Score: 3, Interesting

      AMQ is not to be confused with ActiveMQ. ActiveMQ is an open-source Java JMS implementation. Sun's JMS API defines a unified interface to a messaging system. The problem with JMS is that it is Java centric and Sun did not specify a wire protocol or the binary message format. AMQ is an implementation of a messaging system that is cross language/platform, something that is, from what I know, currently only povided by commercial messaging implementations which are quite pricey.

    5. Re:Active MQ by Asgard · · Score: 2, Informative

      XMLBlaster might be a viable alternative. It is written in java but interfaces with corba, xml-rpc and a socket protocol.

    6. Re:Active MQ by LordMyren · · Score: 1

      ActiveMQ has REST bindings to make it language agnostic. This doesnt translate to native bindings for each language, true, but its something.

  3. "Kernel" by panth0r · · Score: 0

    Why was kernel in quotes?

    --
    I like suggestions, but I don't like contributing towards them.
    1. Re:"Kernel" by superpulpsicle · · Score: 2, Insightful

      Perhaps it's worth mentioning since they are integrating an app into the kernel. At least that's what it sounds like. Well if you wonder why kernels seem to get more and more bloated...

    2. Re:"Kernel" by rnturn · · Score: 1

      I was thinking the same thing. Why would I want this in the kernel? (At least in the kernel proper.) It's an application. How would this benefit the desktop user? How would this benefit the embedded user? If it doesn't benefit all of these users, then it probably (IMHO) doesn't belong in the kernel. It does sound like it might make a dynamite module that someone might want to load if they have a need to schlepp around lots of data between databases (for example).

      --
      CUR ALLOC 20195.....5804M
    3. Re:"Kernel" by MeauxToo · · Score: 2, Interesting

      For desktop users and departmental servers, integration into the kernel is just bloat. For financial institutions that use MQSeries to move real-time market and trade data, these things have to be tightly integrated down to the system level to gain the real-time guarentees and throughput required in those environments. MQSeries can be directly wired into S/390 or AIX at the system to level to provide the quality of service required (think a commodities broker for a major hedge fund initiating a trade with the wrong price and you get the idea). Without this capability, Linux and its brethern will have a hard time pentrating the core of the financial industry. It's also why Sonic and IBM can demand the amazing prices they get get for SonicMQ and MQSeries. For Redhat and Suse, it gives them a cost-effective answer to high dollar question. They can charge these banks 20% of the total cost of MQSeries for 24/7/365 support and make a killing.

    4. Re:"Kernel" by Anonymous Coward · · Score: 0

      sonicmq is just a java app - no kernel integration

    5. Re:"Kernel" by MeauxToo · · Score: 1

      Actually, no SonicMQ, is written in C++ and Java. If you are willing to pay them, they will sell you CAA which contains the platform integration stuff as well. Their bread and butter is JMS, but they also support C and C++ bindings.

  4. "Open-source message queuing system" by Anonymous Coward · · Score: 0, Funny

    *clicks*

    "Move along, nothing to see here."

    Looks like there's already an open-source message queuing system in place here.

  5. Messaging = IMing? by Mooga · · Score: 0, Redundant

    Do they mean an IMing system or a system for sending data threw a database or the like?

    --
    ~ Mooga
    1. Re:Messaging = IMing? by jdray · · Score: 1, Informative

      Might I suggest exercising your Google skillz. Try these search terms: message queuing MQSeries MSMQ Java MQ what is a message queue?

      --
      The Spoon
      Updated 6/28/2011
    2. Re:Messaging = IMing? by SubTexel · · Score: 2, Funny

      Have you ever noticed anyone who doesnt know the answer to what the person asks they tell them in a (rude) way to look it up on a search engine or to read RTFM?

    3. Re:Messaging = IMing? by jdray · · Score: 2, Informative

      Crap. In my rush to be a smart ass, I forgot to select Plain Old Text. Message was supposed to read:

      Might I suggest exercising your Google skillz?
      Try these search terms:

      message queuing
      MQSeries
      MSMQ
      Java MQ
      what is a message queue?

      Thanks for your patience.

      --
      The Spoon
      Updated 6/28/2011
    4. Re:Messaging = IMing? by jdray · · Score: 4, Insightful

      I have noticed the phenomenon you mention, though I would hardly call it "anyone." I suppose I could have elaborated on the details of how a system-based message queuing system is designed to be a lossless, connectionless method for intrasystem messaging, much like a small town post office, where one piece of software delivers a message, often packaged as XML or CSV, and marks it for entry into a particular queue or stack. When other pieces of software are subscribed to the queue in question, they pick up the messages that get registered there. The messages are either destroyed on pick up or stay in the queue, depending on what type the queue is. But all this is just a surface look at how MQs are used and how they work. A layman's introduction, it might be said. It also doesn't cover the fact that they can be used as the back-end for IM systems, if you write the appropriate client software. I was thinking that this person might like to have their choice of in-depth articles to read that would educate them far more than I was willing to in the short time alloted to me for reading Slashdot each day.

      But thanks for your concern. I'm done trolling for now, how about you?

      --
      The Spoon
      Updated 6/28/2011
    5. Re:Messaging = IMing? by SubTexel · · Score: 1, Troll

      See now was that too hard? You took the time for me ;) My daily trolling is now done.

    6. Re:Messaging = IMing? by Anonymous Coward · · Score: 0

      Read about IBM's Websphere MQ:

      http://www-306.ibm.com/software/integration/wmq/

    7. Re:Messaging = IMing? by Anonymous Coward · · Score: 0

      connectionless method for intrasystem messaging

      Quick trollette; I think you meant intersystem.

      Otherwise it would be rather like the staff of a post office sending each other letters in the internal mail.

    8. Re:Messaging = IMing? by citog · · Score: 1

      But at least you got modded informative for correcting what you said in your little fit of pique :)

  6. I agree with the FP ?!?!?! by MajorDick · · Score: 3, Interesting

    The trick is in Web Services, I was lead developer on a LARGE project during the DotCom Era (2000 ish) that used Vitria, a great system and its interop capablities blew my mind at first but if we could have utilized web services we would have halved developemnt time, not to mentio forgoing a 1 Million $ Vitria Liscence.

    It was cool though, we took about 6 different Apps on TOTALLY Different Platforms, 1 only HP UX, 1 , Two on Solaris ( on on 7 one on 2.51) One on DOS (Yes DOS it only ran there) and a couple on Windows, tied them all together through Vitria then hooked it up to a Web Front end, It was sooo slick the first VC that came to see our Proof of Concept (which was totally functional )gave us 15 Mil in VC

    But alas another DotCom fatality, we went from 12 employees to 165 in a year......can you say BAM

    1. Re:I agree with the FP ?!?!?! by Anonymous Coward · · Score: 0

      Uhh... The "DotCom Era" was well over by 2000 ish!

    2. Re:I agree with the FP ?!?!?! by Swamii · · Score: 2, Funny

      But alas another DotCom fatality, we went from 12 employees to 165 in a year

      Gee, what a failure. I suppose it went bankrupt from the excessive cash inflow?

      --
      Tech, life, family, faith: Give me a visit
    3. Re:I agree with the FP ?!?!?! by Doomdark · · Score: 1

      Nope. Things started nose-diving around late 2000... but some companies lingered on for bit longer. -+ Tatu +-

      --
      I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
  7. Article summary by wdd1040 · · Score: 5, Funny

    Buzzword buzzword buzzword, incorrectly used terminology, buzzword buzzword.

    --
    wdd
    1. Re:Article summary by TheRealMindChild · · Score: 0

      Badger Badger Badger Mushroom Badger Badger Snaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaake Snaaaaaaaaaaaaaaaaaaaaake

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    2. Re:Article summary by javaxman · · Score: 0, Offtopic
      Again, I find myself annoyed with the moderators.

      Buzzword buzzword buzzword, incorrectly used terminology, buzzword buzzword.

      That's not a 'funny' summary of the article, it's an 'insightful' summary. What is up with all of the MQ 'in the kernel' stuff ? And please keep me away from this guy:

      "Even if AMQ doesn't get widespread adoption, at some point there will be a widely accepted open-source and free message queuing application that will continue to put pressure on the so-called ESB [enterprise service bus] vendors," Schmelzer said. "The software platform is rapidly becoming commoditized, and vendor startups need to be very cautious that they are innovating ahead of where open source is pioneering."

      By the way, why am I meta-moderating 2 times a day and going for weeks and weeks without ever seeing mod points? What's up with that, did I quote a naughty word or something? I mean, I don't mind, but it's odd... it's been almost a month since I've seen mod points... and meta-moderating 2 times a day, I kid you not...

    3. Re:Article summary by Anonymous Coward · · Score: 0
      re moderating, it happened to me and I know exactly why. I moderated a well known tool's post as "flamebait" and that was the last time I ever saw mod points. I believe one of your mods got metamoderated (like I believe my mod did) and that will do it.

      On the other hand, metamoderating is just as valuable because I admit I was modbombing the guy %^) So keep metamoderating!

    4. Re: Article summary by gidds · · Score: 1

      Bingo!

      --

      Ceterum censeo subscriptionem esse delendam.

    5. Re:Article summary by woobieman29 · · Score: 1

      Perhaps your moderations are being squashed by the meta-moderators? That can take you out of the running for mod points, or at least lower your mod point frequency. Read the FAQ entries on meta-moderation, if memory serves it's explained there.

      --
      \/\/oobie
    6. Re:Article summary by citog · · Score: 1

      Sorry, it's not obvious what your issue with the quote is. Care to elaborate?

    7. Re:Article summary by julesh · · Score: 1

      Damn you!

    8. Re:Article summary by julesh · · Score: 1

      By the way, why am I meta-moderating 2 times a day and going for weeks and weeks without ever seeing mod points? What's up with that, did I quote a naughty word or something? I mean, I don't mind, but it's odd... it's been almost a month since I've seen mod points... and meta-moderating 2 times a day, I kid you not...

      I've been in this situation for about a year now. Welcome to the mod-ban club. You probably moderated an editor down, or moderated up a message that an editor thought was particularly problematic (possibly because it was insulting to one of them). This happens all the time; it's the slashdot editors' way of thanking us for doing such a conscientious job in moderating their site for them.

      It seems that some people also get banned from metamoderating, although I don't know why that happens.

    9. Re:Article summary by javaxman · · Score: 1
      Sorry, it's not obvious what your issue with the quote is. Care to elaborate?

      buzzwords for the sake of buzzwords, like the parent said...

    10. Re:Article summary by javaxman · · Score: 1
      re moderating, it happened to me and I know exactly why. I moderated a well known tool's post as "flamebait" and that was the last time I ever saw mod points.

      Lame. Sometimes, a post really is flamebait, and should be moderated as such. All to often, in fact.

    11. Re:Article summary by herrison · · Score: 1

      I've been there for a year or more. Probably because I was searching out contentious but well-made posts - or non-contentious badly-made points and moderating them appropriately. Often meant I was moderating up points-of-view that I disagree with, but were informative/insightful etc.
      Just wish they'd dump the line about being "More likely" to get get mod points though.
      I gather the likelihood of mod points goes down if the metamoderators mod down, so I'm very careful with the metamoderations.

      --
      You know what I miss? Leeches.
  8. Or ObjectWeb? by wickedhobo · · Score: 3, Interesting

    How about Joram which is supposed to be pretty good.

    --

    --Stupidity is Self Curing!
    1. Re:Or ObjectWeb? by Anonymous Coward · · Score: 1, Informative

      Until Joram works in *WELL* in a clustered mode, or doesn't decide to randomly die because it can't handle several million messages, I'd say Joram is a very poor excuse for a MQ option.

    2. Re:Or ObjectWeb? by eyeball · · Score: 2, Informative

      Joram is beautiful. Unfortunatly it's entirely java based. Sure you can interface to native C applications, but you still end up with a huge runtime, and sometimes you need really lightweight processes.

      --

      _______
      2B1ASK1
  9. Re:Jabber? by Anonymous Coward · · Score: 0

    [ ] You know, what message queing is?

    ?

  10. Strength of Proprietary Systems by MCron · · Score: 1, Offtopic

    Bankers may not love proprietary systems, but they do have some nice advantages.

    A system like AIM is not going to go offline for days at a time, and leaves the organization without the hassle of managing an extra set of servers.

    And AIM might not have message queuing built in, but systems like DoorManBot allow the function to be added.

    Then again, Open Source is always nice, but I'm for a stable system any day.

    --
    Send offline messages on AIM with DoorManBot
    1. Re:Strength of Proprietary Systems by Anonymous Coward · · Score: 1, Funny

      And getting J2EE to run on AIM can be a bitch.

      RTFM Luser.

    2. Re:Strength of Proprietary Systems by Anonymous Coward · · Score: 0

      Of course, the same doesn't apply for MSN Messenger, which has been down now for hours at a time. :)

    3. Re:Strength of Proprietary Systems by ozten · · Score: 2, Interesting

      Have you ever typed 5 quick messages in AIM...

      You're throttled so that you don't kill the system.
      Ok, so now put an API ontop where you are sending thousands of messages per second.

      Now get really clever and have the API sign up for 1,000,000 AIM handles, pool them and round robin between them.

    4. Re:Strength of Proprietary Systems by MCron · · Score: 1

      The company could always just pay AOL and have those restrictions taken away. Their own "AOL System Msg" service doesn't have restrictions.

      --
      Send offline messages on AIM with DoorManBot
    5. Re:Strength of Proprietary Systems by Anonymous Coward · · Score: 0

      You are quite confused.

      MQ has little to do with AIM. MQ is an enterprise strength technology for integrating applications.

      As for AIM's stability--are you kidding? I use AOL IM every day, and it is a pretty flaky system. Even the decades old IRC system is more stable than AIM.

    6. Re:Strength of Proprietary Systems by ckaminski · · Score: 1

      Or they could just use Jabber

    7. Re:Strength of Proprietary Systems by Anonymous Coward · · Score: 0

      Wow you have no clue what a message queueing system means in this context.

    8. Re:Strength of Proprietary Systems by MCron · · Score: 1

      Jabber is the protocol, but there is no central server running millions of connections like any of the largest IM platforms have.

      --
      Send offline messages on AIM with DoorManBot
    9. Re:Strength of Proprietary Systems by amblin · · Score: 1

      However, Jabber servers can communicate amongst themselves, so it doesn't really matter.

  11. "What Is Message Queuing?" by modifried · · Score: 5, Informative

    "Message queuing is a communication tool that allows applications to reliably interconnect in a distributed environment where one of the applications may or may not be available at any given time. The queue acts as a holding container for messages as they are sent between applications. The applications send messages to and read messages from queues to communicate back and forth. An application writes a message to a queue, which will then be received and processed by another application at some point determined by the receiving application. This type of communication is designed for asynchronous use where the applications involved are not waiting for an immediate response from the other end."

    From http://www.developer.com/net/asp/article.php/32979 11

    1. Re:"What Is Message Queuing?" by Profane+MuthaFucka · · Score: 4, Informative

      That little word "reliably" is more important than the blurb above states. Unlike some messaging systems, MQ will either deliver your message, or will let you know that it did not deliver your message. There is no such things as sending a note off into the wild blue yonder, only to have it mysteriously disappear without a trace.

      --
      Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
    2. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      Could you explain what Topics are?

    3. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 2, Insightful

      How is this different from e-mail? It sounds the just like e-mail that happens to be carrying messages that are intended to be parsed by applications, rather than humans. What's the magic? Is this just a more secure, reliable mail system?

    4. Re:"What Is Message Queuing?" by EsbenMoseHansen · · Score: 2, Insightful

      <sarcasm>Really hard to do, if it is meant in the MQSeries way.</sarcasm> If MQSeries can't deliver a message, it puts it on a dead.letters.queue. I am not impressed.

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    5. Re:"What Is Message Queuing?" by Telastyn · · Score: 0

      So maybe now you can explain how a giant network buffer is somehow revolutionary technology...

    6. Re:"What Is Message Queuing?" by molo · · Score: 0

      Asynchronous connection precludes reliability. If there is no receiver waiting, there is no gurantee that the message will get to the recipient. At best, the sender will get a bounce message.

      Surprise, surprise, this sounds just like SMTP.

      Perhaps some poor misguided soul came up with this protocol because their experience was with Exchange. I can't think of another reason to reinvent the wheel like this.

      -molo

      --
      Using your sig line to advertise for friends is lame.
    7. Re:"What Is Message Queuing?" by Greyfox · · Score: 2, Insightful
      It's not really revolutionary. It's evolutionary. I can tell you how this probably worked; someone probably noticed that they'd coded the same message code on top of TCP/IP several times and decided to make a reusable library and API so that they wouldn't have to do it again. They probably showed it to their manager, who probably thought it was cool beans and passed it up the chain. Sometimes, that's how commercial products are born, too.

      From what I've seen of MQ et al, they don't seem to offer that much on top of standard TCP/IP, but it eventually gets to be a pain in the ass to reimplement that sort of thing in every position. Especially when you factor debugging and stuff in.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    8. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      Oh, like sendmail?

    9. Re:"What Is Message Queuing?" by azaris · · Score: 2, Insightful

      Surprise, surprise, this sounds just like SMTP.

      Ever had a situation where an SMTP server screws up the mail queue and deletes all the messages? Or the server goes down at the wrong moment and as a result all messages are delivered twice? Or a message gets stuck in a loop and gets sent over and over again, thousands of times until it fills the spool?

      If that message happens to trigger a large financial transaction, that would be a bad thing.

    10. Re:"What Is Message Queuing?" by alue · · Score: 1

      So how is this different from email?

    11. Re:"What Is Message Queuing?" by molo · · Score: 2, Interesting

      And how can any of those things going wrong be prevented with another protocol and not SMTP?

      1. server screws up the queue - possible on anything with badly coded software
      2. messages delivered twice - each message has a unique message-id, allowing the detection of duplicates.
      3. message stuck in a loop - possible with any routable store-and-forward system
      4. same message repeated multiple times - see #2
      5. spool being filled - possible with any store-and-forward system

      Sounds like the same issues rehashed, SMTP or message queuing.

      -molo

      --
      Using your sig line to advertise for friends is lame.
    12. Re:"What Is Message Queuing?" by easter1916 · · Score: 2, Informative
      Asynchronous connection precludes reliability. If there is no receiver waiting, there is no gurantee that the message will get to the recipient. At best, the sender will get a bounce message.
      Why is that? An async message can be sent to a JMS topic with a durable subscriber... just because the subscriber is offline doesn't mean the message isn't delivered. It's queued for delivery until the subscriber is online again, and the message is removed from JMS when the client explicitly acknowledges receipt.
    13. Re:"What Is Message Queuing?" by vidarh · · Score: 4, Insightful
      Except that most mail servers aren't designed to give the kind of delivery guarantees that message queueing software like MQSeries does. Most are also not designed for the kind of performance you can get out of many message queuing solutions that take advantage of the fact that the number of recipients tend to be low (compared to e-mail) and keeping persistent connections to some or all queue endpoints may be acceptable; and neither are they designed to provide support for transactions etc.

      It's not that this can't be done over SMTP, but that SMTP isn't practical for it - you'd need lots of extra data in the headers, and applications supporting it.

      Sure, you can write the support for all of it on top of SMTP, or FTP or SCP or HTTP or any protocol you can think of that can move data from one point to another, but the whole point of message queueing applications is that the heavy lifting has been done for you.

      If you don't care about the transactions, or it doesn't matter if your messages can be delivered twice by mistake, or any of the other features of a proper message queuing system, then sure, go ahead and use a mail server - a previous place I worked we used Qmail with good results. It's a trade off, but the difference is huge.

    14. Re:"What Is Message Queuing?" by Unordained · · Score: 1

      If that message happens to trigger a large financial transaction, that would be a bad thing.

      Isn't this why we should be concerned with transactions, two-phase-commit, transaction managers, and asynchronous commit replies? Submit request, continue processing, and if you don't hear back about your commit for a while, do something about it? I dunno. If you want reliability, you need some way to audit your process to make sure things are actually happening as reported. Admittedly two-phase-commit has issues (ask any DBA who has to manually resync databases where limbo transactions have stacked up) but ... still.

    15. Re:"What Is Message Queuing?" by AusG4 · · Score: 4, Informative

      The message queuing they're talking about is code centric asynchronous message sending in either publish/subscribe or peer-to-peer systems. It's for when one library of code (say, manufacturing control) needs to relay an XML message (or Java object serialization, or whatever) to another library of code (say, procurement) to tell it to execute additional logic. Human beings, save for debugging purposes, never actually read the messages and indeed, many times the messages aren't even really human readable.

      So, no, not really like SMTP. Though SMTP is, I guess, a loose metaphor for how MQ servers work. That said, Exchange has nothing to do with it. The SMTP/POP3/IMAP model is just a little too much overhead for most message queue applications.

      Of course, the real problem with your statement is that asynchronous messaging doesn't in fact preclude reliability, and indeed, the word asynchronous/synchronous and reliability are more or less completely different topics and wholly unrelated.

      Most MQ servers persist undeliverable messages until such time as the destination peer (or the whole of the registered subscriber list) is available and ack's receipt of the message in question. All "asynchronous" means is that library A can send a message and continue on without ever caring about -when- the message is delivered.

      Using the manufacturing/procurement example again, you can see why it would be stupid for manufacturing to walk their ordering message over to procurement, then wait around for the mail clerk to show up, take the message, and acknowledge it's been received. This would be a "synchronous" message transmission. Surely, it's easier to just leave it in an "inbox" for the clerk to pick up later (send the message asynchronously).

      As for reinventing the wheel, I largely agree. Most large scale applications are being rolled out in J2EE or .NET, both of which offer message queuing (J2EE having tons from many different vendors - we use OpenJMS a lot in our shop).

      The only thing I can see as being beneficial is a new MQ implemented with interaction entirely in XML-RPC, etc ... as this would allow J2EE/.NET/PHP/whatever apps to use it regardless of platform.

      --
      bash-3.00$ uname -a
      SunOS panda 5.10 Generic sun4u sparc SUNW,Ultra-2
    16. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      Even persistent messages with logging are not reliable? What kind of dope do you smoke?

    17. Re:"What Is Message Queuing?" by molo · · Score: 2, Insightful

      There is no guarantee that the receiver will ever pick up the message from the queue. Just like SMTP, I can send you a message, but there is no guarantee that you will ever look at your mailspool/inbox/pop server/imap server. My point is that it is no better than SMTP.

      -molo

      --
      Using your sig line to advertise for friends is lame.
    18. Re:"What Is Message Queuing?" by 14erCleaner · · Score: 1
      Asynchronous connection precludes reliability. If there is no receiver waiting, there is no gurantee that the message will get to the recipient. At best, the sender will get a bounce message.

      If you've ever used MQ (or any other message-queueing system, such as Tuxedo queues), you wouldn't misunderstand the problem so badly.

      "Asynchronous" means the message is potentially delivered at some future time, not necessarily immediately. "Transactional" means that once the sender has delivered the message to the queueing system and committed the transaction, it WILL GET DELIVERED at some point, not just quietly thrown away (as you seem to think it will be).

      The key feature of this kind of system: guaranteed delivery. Very important to financial systems. Email, by contrast, can be faulty and nobody much cares (98% of it is spam anyway these days :).

      --
      Have you read my blog lately?
    19. Re:"What Is Message Queuing?" by molo · · Score: 1

      Ok, thanks for the additional info. It sounds like a store-and-forward version of RPC. I can see how that would be useful, and would prefer to be more lightweight.

      BTW, human interaction isn't required for SMTP/POP/whatever traffic. You could put your reliability at at the application layer with perhaps some headers for ACK/NACK, etc.

      That is really what this comes down to.. if you're going to try to make something asynchronous reliable, you're going to need an ACK/NACK/missing ACK solution.. basicly all the same pitfalls of TCP over unreliable IP. You might as well just spawn a thread to deliver the message to a host:port TCP address tuple and skip all the queuing.

      The only reason then to have the queuing would probably be regulatory.. which makes sense for the financial sector.

      I'll stop rambling now.

      -molo

      --
      Using your sig line to advertise for friends is lame.
    20. Re:"What Is Message Queuing?" by molo · · Score: 0, Redundant

      Good points, thanks.

      -molo

      --
      Using your sig line to advertise for friends is lame.
    21. Re:"What Is Message Queuing?" by molo · · Score: 2, Interesting

      Sorry, thats not transactional. Transactional means that either the message will be delievered and accepted, or it won't. There is no in between state. The sender is notified of the results. There cannot be a gurantee of delivery. The receiving side may fail, but any steps that it performed will be wound back to its original state.

      -molo

      --
      Using your sig line to advertise for friends is lame.
    22. Re:"What Is Message Queuing?" by mark_lybarger · · Score: 1

      Or the server goes down at the wrong moment and as a result all messages are delivered twice? Or a message gets stuck in a loop and gets sent over and over again, thousands of times until it fills the spool?

      sounds like my experience with MDB's, or at least with the big old app server that comes from a 3 letter company (the company doesn't start w/ a vowel).

      we were processing a measly 10,000 messages per hour, or at least that was the requirement. the system would choke at about 5000 per hour, and the queues would get backed up, the system would grind to a halt. after suspending the test, we waited for the messages to get through the queue. we constantly had messages that were unaccounted for. some messages were processed twice, others got forgotten all together.

      the "solution" was to reconfigure the server so that the messages would get through ok. tune the jvm heap, tune the threads, etc. at that point i wondered what happens when the system begins to process 20,000 / hr. and the system is already in production.

    23. Re:"What Is Message Queuing?" by 14erCleaner · · Score: 2, Interesting
      Delivered to the queueing system. At that point the queueing system takes responsibility until a client takes delivery of the message and commits. You seemed to be saying that the message would be lost if the client wasn't available when the message was sent, and that's just not true; the queueing system guarantees delivery (or it remains in the queue, or the building containing the computer burns down or whatever, but that's a different issue). High-reliability systems like this have to be monitored for non-delivery situations like the client dying, but that has nothing to do with the queueing system itself.

      This whole thing is suspect anyway until they release their source code. It isn't "open-source" if the source is kept secret!

      --
      Have you read my blog lately?
    24. Re:"What Is Message Queuing?" by AusG4 · · Score: 1

      That is really what this comes down to.. if you're going to try to make something asynchronous reliable, you're going to need an ACK/NACK/missing ACK solution.. basicly all the same pitfalls of TCP over unreliable IP.



      Indeed, and most modern MQ servers implement this.



      You might as well just spawn a thread to deliver the message to a host:port TCP address tuple and skip all the queuing.



      Why, when I can just set the MQ stack to deal with all of this for me? Of course, you're correct... but I have better things to do then write the ack/nack/missing ack logic.

      --
      bash-3.00$ uname -a
      SunOS panda 5.10 Generic sun4u sparc SUNW,Ultra-2
    25. Re:"What Is Message Queuing?" by molo · · Score: 1

      Ah, sorry if that wasn't clear.. I am considering delivery to the final recipient, not delivery to the queue. You are correct in that case.

      -molo

      --
      Using your sig line to advertise for friends is lame.
    26. Re:"What Is Message Queuing?" by slugg3r · · Score: 3, Informative

      Calling general messaging akin to SMTP is a bit far fetched at least :) Elements of messaging systems now include: a. Pub/Sub (how would SMTP support this?) b. Point to point c. Guaranteed delivery (at least once, at most once etc semantics). Associated persistence strategies need to be employed d. Message Routing e. Security f. Business rules g. Transformations h. Multiple protocol support i. Interfaces for multiple languages I have left out a couple I'm sure, but this is where ESB is going today on the functional side. Putting in clustering, ease of management and performance visibility in the mix, we have a rather complex system. I think opensource needs a high volume enterprise class messaging system badly and can't wait for one. Ok, done pontificating for now

    27. Re:"What Is Message Queuing?" by Nutria · · Score: 1

      If MQSeries can't deliver a message, it puts it on a dead.letters.queue. I am not impressed.

      You mean it doesn't do store-and-forward, in case the receiving host is down?

      --
      "I don't know, therefore Aliens" Wafflebox1
    28. Re:"What Is Message Queuing?" by that_xmas · · Score: 1

      IBM's MQ series has been around for a very long time. A oversimplified way of looking at is as a an improvement over FTP for reliably transporting large numbers of messages across diverse platforms. (For example from Solaris to Mainframe's).

      It also allows for secure/encrypted data transport across platforms. And round-robin processing. And fail-over support. And many other things that FTP on it's own cannot support.

      MQ is very big in the mainframe world and it is catching on in smaller systems.

    29. Re:"What Is Message Queuing?" by freemacmini · · Score: 1

      "The only thing I can see as being beneficial is a new MQ implemented with interaction entirely in XML-RPC, etc ... as this would allow J2EE/.NET/PHP/whatever apps to use it regardless of platform."

      Wouldn't jabber be perfect for this?

    30. Re:"What Is Message Queuing?" by phats+garage · · Score: 1
      My working theory is that "there is always a race condition." What happens is that a message reader could read the message, the message writer could then mark the message as read, then the reader immediately crashes.

      So am I wrong here? This is a serious question :-)

    31. Re:"What Is Message Queuing?" by sn0wflake · · Score: 1

      No ;)

    32. Re:"What Is Message Queuing?" by Mark+Imbriaco · · Score: 1

      That's not necessarily true. In most message queuing systems, the sender in can determine whether the message has been delivered (retrieved by the client) or not. You can't do that with SMTP.

    33. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      Depends on who handles setting the read state. If the receiving application sets "read" then it shouldn't set it until after its read and operated on it. If the underlying handler sets "read" then something like what you say can occur.

      Of course, if you have a message that crashes the reading process, your reading process will crash immediately as it tries to read the "unread" message if it never gets a chance to flag it as read.

    34. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      You dim bulbs out here do know that the conception
      that they are mistreating formerly belonged to an IPC method, and is now being incorporated, it seems, into some gizmo, buzzword bandaged, surfeit of substance that doesn't do anything to address anything much, could be wrestled up in a couple of months by any decent code shop, and is as temporally paralyzed as is any cureall for messaging that has ever existed.

    35. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      What I see beneficial about this is that (1) it works with C and C++, and (2) it does not use XML-RPC, which has got to be one of the most stupid inventions since the square wheel.

    36. Re:"What Is Message Queuing?" by ckaminski · · Score: 1

      A messaging client reads the message. At some point, the client signals the messaging middleware that the message has been received. At this point, the transaction is concluded and the middleware marks the message read. At some point in the future, it will be deleted, but is saved short term in case it needs to be replayed in the event what you describe above occurs.

      It's similar to databases keeping transaction logfiles, and filesystems keeping change journals.

    37. Re:"What Is Message Queuing?" by ckaminski · · Score: 3, Informative

      Yes. It offers either Guaranteed delivery, or guaranteed failure, something email does not do.

    38. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      MQ will, in general, do whatever you tell it. When you configure a dead letter queue, you specify the number of retries before a message is DLQ'd. If you want infinite retry you can choose not to have a DLQ. Either way you can choose to be notified, or you can choose to ignore the problem.

      I work with MQ every day, and I reckon it's worth the price tag. To build something as reliable, cross-platform, configurable, and well-tested as MQ would cost at least $1bn if you were to pay people to do it. This is probably the real reason that the banks want to make it open source.

      Of course IBM will have patented most of the useful tricks MQ uses, so the replacement version will suck unless someone coughs up for the licenses.

    39. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      The killer feature of MQ is Persistent Messaging. The maximum reliability from TCP is "your message will get there if the sender, receiver and network are all correctly configured and working between the time you start sending it and the time you finish receiving it".

      The maximum reliability you can get from MQ is "your message will get there unless both the server's log disks are destroyed or corrupted between the sender committing the put and the receiver committing the get". You could arrange physical separation of the two log disks of up to about 200km the last time I asked. That's far enough to be able to say "messages on this server will be deliverable after any event less severe than a state-wide nuclear holocaust", and that is pretty damn impressive.

    40. Re:"What Is Message Queuing?" by hpp · · Score: 2, Informative

      MQ does do store-and-forward. It puts a message on a dead-letter queue (DLQ) if it is certain that a message cannot be delivered - i.e. if the destination queue on the remote system doesn't accept a message of the relevant size, or doesn't allow the user write permission. If the target queue is full, the system will normally pause and try to re-deliver (this can be configured).

      The DLQ is essential becuase the store-and-forward system delivers messages in order - so a single stuck message might block a communications flow.

      Finally, messages on the DLQ include the complete origianl delivery info. So you can fix the undelrying problem and redeliver. I have a perl script of 100 lines to do so... not rocket science.

    41. Re:"What Is Message Queuing?" by hpp · · Score: 1

      There's three parties involved: writer, server (queue manager) and reader. The writer puts a message to a queue; the server writes it to a transaction log as an uncommitted message. The writer commits; thhe server writes a commit message to the transaction log, then informs the writer that the commit suuceeded.

      Now the reader can see the message. The server marks the provisional read in the transaction log; no other readre can see the message. Once the reader commits, the commit is written to the transaction log, and the message is slated for deletion.

      A crash at the writer/reader leads the server to back out uncommitted work (the write or read is undone unless committed). A crash at the server leads to a reply of the transaction log after the server restarts; again, if the transaction log doesn't contain the commit, the operation in progress is undone.

      There are race conditions: a writer or reader can issue a commit and then a crash can occur (reader/writer, server, network). In such a case, the reader/writer may not know whether the commit succeeded. They key si that the server has a definite opinion on this that will survive it crashing...

    42. Re:"What Is Message Queuing?" by hpp · · Score: 1

      The biggest issue with two-phase commits occurs when multiple servers are involved. A crash of one of the servers involved in an XA transaction can lead to that transaction being in limbo until that server recovers; a sufficiently bad crash may lead to the transaction being in limbo until an admin manually kills it. In many cases, the other components in the transaction will not be able to contiunue in such a scenario; thius leads to extended outages. Wall Street folks hate that...

    43. Re:"What Is Message Queuing?" by ckaminski · · Score: 2, Interesting

      Doubtful on the licensing. 90% of an MQ is in the backing store you use and the transactional logic, and much of that has been in the practice and the public domain since the mid-80s. The communications channel and routing logic is also mostly well known and understood. There's no magic voodoo here. You could build a reliable MQ tool on top of PostgreSQL, Oracle, or MS SQL Server with little effort, certainly not $1billion.

    44. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      What the other guy said. But MSMQ for example can use SMTP as the transport layer.

    45. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0
      I disagree. There are many similarities between SMTP and messaging. No they are not isomorphic, but the basic model is the same and there are many overlapping features. The main difference is generally that SMTP is heavier. I have seen SMTP used in ways people might usually use messaging, though I personally consider that SMTP abuse.

      a) mailing list (many recipients)

      b) normal SMTP message

      c) delivery status notifications

      d) source routes (though they are deprecated)

      e) PGP et al, RFC 2487 (transport layer security)

      f) ?

      g) ?

      h) ?

      i) SMTP is a standard (Internet standard) wire protocol over TCP and it is trivially easy to support SMTP with any language that has TCP support. MOM messaging is generally proprietary (MQSeries) or language dependent (JMS). It is much easier to have multiple language support for a specified protocol like SMTP.

    46. Re:"What Is Message Queuing?" by deblau · · Score: 1
      And here are the glibc bindings. For local machines, msgsnd(2) goes back to SVr1, which was released in 1981. That's right, message queueing is pushing 25 years old. You only need to actually queue header files containing socket, timing, and/or versioning information, not the 100MB data blocks. Slap on a slow but reliable network stack (TCP) for the control messages and an unreliable but high-bandwidth network stack (UDP) for the actual data, and you've got yourself a distributed system. Yes yes, it's not quite that simple, but I don't see what all the fuss is over.

      [/reinvent-wheel]

      --
      This post expresses my opinion, not that of my employer. And yes, IAAL.
    47. Re:"What Is Message Queuing?" by wfeick · · Score: 1

      Theoretically, you could do something like this over SMTP, but I don't think the performance would be good enough. Does SMTP have the ability to send multiple messages on the same socket, or do you have to open and close a socket for each message? Do you want to pay the overhead of converting every message to ASCII to send it through SMTP?

      Real world messaging systems are designed to be able to handle thousands of messages per second at least. I'd hate to stuff that through an SMTP protocol.

    48. Re:"What Is Message Queuing?" by lokedhs · · Score: 1
      A topic is like a broadcast UDP packet. I.e. you can have several receieves on a topic. A queue only has a single receiever.

      As a concequence of this, you cannot have guaranteed delivery to the receiever on a topic, since there may be zero or more receievers.

    49. Re:"What Is Message Queuing?" by EsbenMoseHansen · · Score: 1

      I can store-and-forward. Don't get me wrong: It's a fine product, for a commercial one, but it's not THAT fantastic. The delivery garantee is, e.g., worthless. It only states that if it can, it will deliver. Much as with sendmail and friends.

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    50. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0
      I've used message queue to send of money transfers to payment routers. Money transfers that could involve millions of dollars. Such a message should not get lost, not delivered twice, should be processed as soon as possible, and I should be notified the message was delivered. Oh, and it all should work even if networks or machines go down at the most inconvenient moment, or if the service I'm sending my message to switches from one node to another inside a cluster.

      And while email tries to archieve all of this, and often succeeds as well, mail does get lost, or is delivered twice.

      Message queue's have a much higher reliability than email. And while many applications don't need that high reliability, some applications do.

    51. Re:"What Is Message Queuing?" by codework · · Score: 1

      It offers neither. It offers _assured_ delivery.

      IBM quickly realised this in the early marketing of MQ, if they lost a single important message, they'd get sued. So Guaranteed quickly became Assured and the legal ass hats were happy again.

    52. Re:"What Is Message Queuing?" by julesh · · Score: 1

      Except that most mail servers aren't designed to give the kind of delivery guarantees that message queueing software like MQSeries does.

      Aren't they? I've worked on mail server software, and the primary design goal of that server was this:

      Never lose a message if you've sent the confirmation that it has been received.

      The techniques we used to achieve this (a journal of all incoming messages with a record of where they were delivered, so that undelivered messages can be reconstructed in event of failure) are all well known and thoroughly audited and tested, and can only fail in event of hardware failure. I'm pretty confident that other mail servers treat not losing messages as seriously, as losing messages is the most serious (non-security related) bug a mail server can suffer from.

      MQSeries cannot offer any more guarantees than this, because it _must_ be as susceptible to hardware failure as the software I worked on. The only way of improving this situation is to run on more reliable hardware, which is orthogonal to the design purposes of the software. I could run the mail server on more reliable hardware. I could run it on triple-redundant raid mirrored disks on a system with two entirely redundant computers kept in sync with each other, with separate power supplies, so that if one fails the other can take over and make sure nothing is lost -- IBM produce such a system, I know, and I see no reason my software couldn't run on it.

      If [...] it doesn't matter if your messages can be delivered twice by mistake

      It is very simple to add a layer on top of e-mail that ensures no message is delivered twice; you keep a database in your delivery spool of message-ids and don't deliver anything you already have. This isn't something the server I worked on does (it wasn't a design requirement) but it could easily be added. It would also be trivially easy for client software to filter out redundant messages. This seems like a non-problem to me.

    53. Re:"What Is Message Queuing?" by WhiteDragon · · Score: 1

      I once implemented a system like this, using a postgresql database as the "message queue". I had clients insert requests into the database, and the server watching the database to get the transactions out. I used postgresql's listen syntax, as well as triggers on insertion/update of the database. It worked pretty well, given the fact that I had basically no idea what I was doing. I decided to use a database so I didn't have to worry about concurrency, etc. It was completely asynchronous, and atomic. Either a request was totally inserted into the queue, or it wasn't, and the client would know that the insert failed (database down, etc.) In addition, once the server completed a task, it would mark the transaction as completed.

      --
      Did you mount a military-grade, variable-focus MASER on an unlicensed artificial intelligence?
    54. Re:"What Is Message Queuing?" by Anonymous Coward · · Score: 0

      You sir, are an idiot.

    55. Re:"What Is Message Queuing?" by easter1916 · · Score: 1

      You can have durable subscribers on a topic, though, which is effectively the same as guaranteed delivery.

    56. Re:"What Is Message Queuing?" by lokedhs · · Score: 1

      But the durable subscriber need to be registered for that to work, no? The sender has no way of knowing if his message was actually receieved by any subscriber or if it ended up in the bit bucket.

    57. Re:"What Is Message Queuing?" by easter1916 · · Score: 1

      Hmmm. What about using explicit client acknowledge? I'm asking here, I don't know the answer. If the message hasn't been acknowledged, it hasn't been delivered. I'm too lazy to check, for example, TIBCO's JMS docs to see if the APIs allow the sender to check this. You'd think it would have to, but I've been burned by that line of thinking before!

    58. Re:"What Is Message Queuing?" by Nutria · · Score: 1

      It only states that if it can, it will deliver.

      How can you ask for anything more?

      The sending host cannot guarantee that the host it wants to send to is up, or even that MQ is even running on the other system.

      --
      "I don't know, therefore Aliens" Wafflebox1
    59. Re:"What Is Message Queuing?" by EsbenMoseHansen · · Score: 1

      In those cases it could give an error.

      But that's not the point. The point is that MQseries fans will tell you that "MQSeries will either deliver you message or give an error", which is only correct if "delivered" includes delivery to the dead letters queue. Which is no great feat, IMHO. Strike that phrase, and MQSeries is just another bloated messaging suite. But at least it would be an honest system, and probably the only one that can run on Z/OS in MVS mode.

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    60. Re:"What Is Message Queuing?" by lokedhs · · Score: 1

      I believe that only acknowleges to the messaging server that the subscriber receieved and handled the message. The publisher is not involved in the message anymore at that time.

    61. Re:"What Is Message Queuing?" by vidarh · · Score: 1
      Never lose a message if you've sent the confirmation that it has been received.

      That is only a small part of providing proper delivery guarantees.

      I doubt very much your mail server has built in support for letting client applications handle transactions for instance (that is, only deliver a specific message if all messages in the transaction can be delivered).

      It is very simple to add a layer on top of e-mail that ensures no message is delivered twice; you keep a database in your delivery spool of message-ids and don't deliver anything you already have. This isn't something the server I worked on does (it wasn't a design requirement) but it could easily be added. It would also be trivially easy for client software to filter out redundant messages. This seems like a non-problem to me.

      Yes, it is simple. But you need to do it. When you add together all the things you need to do to emulate the full capabilities of a well written message queueing solution, it starts to quickly add up in terms of engineering and design time. It also means you'll end up with a system that there is no standard training available for, nor no third party tools, no ready made transaction monitors or routing software etc.

      You seem to be particularly fond of mail servers, but I could layer the exact same functionality on top of an FTP server, via SCP, UUCP or over raw TCP connections. Perhaps I should claims they are all perfect substitutes for MQSeries and other message queueing solutions?

      The only thing separating those (and many more - a web server with a CGI for instance) is the amount of additional code you'd have to write on top of it to get the message queueing functionality a proper message queueing system provides.

      If you need the capabilities of provided by a message queueing system it doesn't take many hours of team members time spent before your simple solution has ended up costing your company more than buying a ready made well supported solution would cost you.

      Use the right tool for the job.

      Sometimes that is a mail server because you simply don't need all the features of a full message queueing solution - some engineers who worked for me at my last workplace put together a really good solution based on Qmail for instance. I loved the solution. It was simple, it did the job for a fraction of the price of MQSeries.

      But it did the job because we couldn't care less about duplicate messages (all operations were idempotent) and because we judged the reliability of QMail to be good enough for THAT situation, and because cost was a major factor. So the layers my team wrote on top of it was tiny and simple.

      But many people DO need the capabilities of a full message queueing solution, and in that case using a mail server as the foundation DOES mean a substantial amount of extra engineering that is unlikely to pay off in terms of money saved unless you're planning a really huge installation.

  12. Re:Jabber? by Anonymous Coward · · Score: 1, Informative

    Since everyone else is laughing at you, I'll tell you why.

    Message Queueing != Instant Messaging. RTFM luser.

  13. Hasn't REST etc trumped these? by Ars-Fartsica · · Score: 0, Offtopic

    I am probably wrong, perhaps someone can fill me in as to how a these types of services meet a need that can't be built on top of HTTP (or are they in fact sitting on top of HTTP?) ??

    1. Re:Hasn't REST etc trumped these? by Anonymous Coward · · Score: 0

      Messaging is meant to be uber-reliable. HTTP is not.

    2. Re:Hasn't REST etc trumped these? by Anonymous Coward · · Score: 1, Informative
      You mean like every properly configured MTA since the 70s?

      Ever since sendmail, email protocols did all the store&forward & configurable retrys & multiple routes & failure-messages back to the source for error conditions, etc. that these messenging systems had. Why not use them?

    3. Re:Hasn't REST etc trumped these? by hpp · · Score: 2, Informative

      Messaging is transactional, with guaranteed once-only delivery. The messaging server (queue manager) uses database technology such as write-ahead logging to achive this.

      Implementing this across TCP/IP generally requires a lon-lived conenction, as you have seperate read/write/commit/backout operations that belong together. Doing so over HTTP is theoretically feasible, but a long-lived TCP connection makes it a lot easier. Compare to databases... insert/commit isn't over HTTP either.

    4. Re:Hasn't REST etc trumped these? by Anonymous Coward · · Score: 0

      Actually, 'Websphere MQ' eg. MQSeries can already used HTTP/HTTPS between MQ servers.

      It's not as hard as you seem to think it is, all you really need is for the server side of the connection to return an indication that everything is OK - e.g., something that says 'Yes, I have this message in a state where I cannot lose it'.

      As far as connection persistence, HTTP can already do that.

    5. Re:Hasn't REST etc trumped these? by ckaminski · · Score: 1

      Long duration connections are not a prerequisite for MQ. In fact, HTTP is a perfect delivery mechanism, since a query can be resolved in a single transaction. Connect, send data, receive response, close connection.

  14. Better colours by Anonymous Coward · · Score: 0
  15. Jabber very early moved towards IM by LemonFire · · Score: 1

    We have jabber supporting business services at work, but this turned to not be too great of a solution for us. Many of the MOM (Message Oriented Middleware) features that we need were never implemented in Jabber, due to that the early usage of jabber was in the instant message world. We have been looking primarily at XmlBlaster that seems to be somewhat feature complete, but we have yet to find a really good alternative to a commercial MOM.

  16. Re:Jabber? by Anonymous Coward · · Score: 0

    As an MQ user/programmer: It's (MQ) transactional, can failover, has all the really expensive reassurances that big business craves.

    As a Jabber enthusiast: They're exactly the same.

  17. POPFile::MQ by JohnGrahamCumming · · Score: 2, Funny

    You mean they can't just fork POPFile::MQ and use it :-)

    John.

    1. Re:POPFile::MQ by Rude+Turnip · · Score: 1

      The colons in there probably reminded them of the Cue:::::Cat days and scared them away from it.

  18. Re:Jabber? by Anonymous Coward · · Score: 0

    I think more importantly, how does this compare to MSN messenger's message queue?

  19. Open Source Honesty and Ethics by Anonymous Coward · · Score: 2, Funny

    Wall Street is also looking for a new Open Source Ethics and Honesty implementation as current proprietary implementations seem to be faulty, buggy, and expensive to maintain.

  20. MQSeries by sapped · · Score: 2, Troll

    We have had MQSeries at each IBM implementation that I have worked at (SAP software).

    My perception of MQ is that we would be better off throwing it away and FTPing files back and forth while using SAP's job control to kick things off. I cannot imagine how many weeks we have lost in a production environment because of some fiddly piece of junk involved in the MQ process decided to hiccup.

    1. Re:MQSeries by clockwise_music · · Score: 1

      Isn't MQ meant for messages? (Hence the name?) Not for large files? It sounds like you're right, you should be using FTP.

    2. Re:MQSeries by azaris · · Score: 4, Informative

      My perception of MQ is that we would be better off throwing it away and FTPing files back and forth while using SAP's job control to kick things off.

      Good luck with writing ACID transaction support, rerouting in case of failure, dead letter handling and enterprise scalability features. Then get busy convincing dozens of sysadmins to bust their firewalls open to allow the antiquated piece of crap that is the FTP protocol to get further than your office router.

      Trying to replicate enterprise functionality with naive hacks makes no sense whatsoever. I pity the fool who gets to administer the kludge you leave behind when you switch jobs.

    3. Re:MQSeries by Tek+Tekson · · Score: 1

      I don't know why parent got modded troll, but he makes a good point. We use a whole hodge-podge of solutions at work, and lots of MQSeries. In some cases, FTP worked out better. Even if you don't agree with his solution to the problem, his point is valid. MQSeries can be lame.

      I, for one, welcome our open source message queueing overlords... oh nevermind.

    4. Re:MQSeries by Tek+Tekson · · Score: 1

      You can bundle up the messages and send them in a batch via FTP. It's common practice.

    5. Re:MQSeries by Anonymous Coward · · Score: 0

      Full of shit. You either don't know how to use MQSeries, or you're smoking crack. I know MQSeries can handle a constant stream of large message and know of a large data warehouse firm that uses it to handle terabytes of data every week.

    6. Re:MQSeries by Anonymous Coward · · Score: 0

      The place I work uses eGate, apart from the eWays becoming unresponsive, the collaboration rules often look like they were created by a non-coder (apparently something that SeeBeyond touts as an advantage). This leads to much necessary(painfully slow) maintenance in production...

    7. Re:MQSeries by Anonymous Coward · · Score: 0
      Is there any relationship between messaging services like MQSeries and the new D-BUS protocol in the Linux Kernel? I seem to remember reading that D-BUS, while facilitating kernel-to-process and process-to-process communications on a single box, also allows messaging between processes on different boxes.

      Can anyone elaborate?

    8. Re:MQSeries by hpp · · Score: 1

      IBM MQ does messages of up to 100MB. Each queue can hold up to 2 TeraByte of messages, and a queue manager server can hold tens of thousands of queues. You do of course need the disk space to hold all this :-)

      So MQ is often used to send file-like data between institutions. Especially since it has built-in features like Confirm-On-Arrival and Confirm-On-Delivery. Note that MQ may not be as fast as FTP in this... but it is transactional, once-only, guaranteed delivery. When the message data is about large amounts of money, the overhead is generally worth it.

    9. Re:MQSeries by Wan · · Score: 1

      We have had MQSeries at each IBM implementation that I have worked at (SAP software). My perception of MQ is that we would be better off throwing it away and FTPing files back and forth while using SAP's job control to kick things off.

      It really depends on what you're trying to do. FTP is a valid tool to use, along with MQ, HTTP, etc. Martin Fowler's Enterprise Integration Pattern book has a good catalogue of those.

      For something small, I can see how MQ will weigh you down, especially when you start using the MQSI (or WBIMBEBCGAG.. whatever) for message brokering and pub/sub. MQ is also a pretty old technology for IBM and administering it feels "different" than administering other stuff. Most of projects I've been on, there's a dedicated MQ admin and MQSI developers - unlike DBA or WAS admin, which some developers can double as. However, for serious enterprise wide, mission critical pieces, MQ is almost always a must. FTP almost always finds its place though.

      I'm involved in a large renovation project using MQ right now and we've been pressing IBM to tell us their plans for MQ but we didn't get any meaningful information. Either our IBM people is really good at keeping secret or they don't have a clue either. Our best guess is IBM will keep MQ for indefinite period of time because of its customer base. Technology-wise, they may renovate MQ internally and at the same time grooming its replacement. CEI (Common Event Infrastructure) which was introduced in WebSphere AppServer 5.0 (WBISF edition) looks like a candidate to replace MQ.

  21. "A suitable open-source license"? by Russ+Nelson · · Score: 2, Insightful

    "they come up with a suitable open-source license, AMQ could become the Apache of messaging systems."

    If they want to be the Apache, then they'll have to use the Apache license too. Effects have causes.
    -russ

    --
    Don't piss off The Angry Economist
  22. JPM Chase? Those @#$%!@#s outsourced me... by Anonymous Coward · · Score: 0

    ... and I will never do business with them nor with anyone affiliated with them. I won't get into all the details, but it was a very shady deal. I highly recommend http://chasebanksucks.com/ as it has comments from ex-customers and ex-employees. Chase has tried to shut them down numerous times in the past, but they can't touch them since they're hosted in France. If I have detered even one person from ever working for or doing business with this shady organization, then I have done my deed for the day. I could care less about how this is modded.

    1. Re:JPM Chase? Those @#$%!@#s outsourced me... by Anonymous Coward · · Score: 0

      You were obviously cut because your skills suck. Think about another profession.

    2. Re:JPM Chase? Those @#$%!@#s outsourced me... by Anonymous Coward · · Score: 0

      LOL! You have no idea what my skills are. Let's just say that I was by far overqualified for the pion job that I had. My education and certifications exceeded the vast majority of my co-workers. Quite frankly, that company was a sinking ship anyway. I have since found employment at a much better company that actually cares about its employees, which is rather rare in the industry.

    3. Re:JPM Chase? Those @#$%!@#s outsourced me... by Anonymous Coward · · Score: 0

      I know enough about you that you look for absolution on Slashdot. Kind of sad, really. You are a clown.

  23. Aren't both TCP services? by Ars-Fartsica · · Score: 1

    Maybe these services layer on an extra confirmation mechanism...but isn't this what TCP performs in any case?

    1. Re:Aren't both TCP services? by Anonymous Coward · · Score: 0
      No. These layers do all sorts of things like store how-long-to-retry; guarantees of timing of messages (or errors returning); guarantees of ordering of messages.

      Just like email MTAs.

    2. Re:Aren't both TCP services? by slcdb · · Score: 1

      Well, no. For example, TCP cannot redirect a connection to an alternate, backup destination should the original destination crap-out mid-connection.

      --
      Despite what EULAs say, most software is sold, not licensed.
  24. Re:I thought that was sendmail? by Anonymous Coward · · Score: 4, Informative

    Message queueing is application-to-application messaging, which once-only guaranteed delivery. In addition, both the reading and writing of messages can be done transactionally, with a transaction spanning multiple queue operations.

    Think of it like a database where an application can write a record that can be read and committed by exactly one reader; however, if that reader crashes before committing, another reader can pick up that record and try to commit it, etc.

    Financial services firms use this tie their many apps together.

  25. I bet this really pisses off the copyright expansi by ShatteredDream · · Score: 3, Insightful

    As a voting libertarian, I whole-heartedly encourage companies to actively develop whatever technical solution that best fits their needs. This is one example of how open source software really fits in with the libertarian world view. It's not the "free software versus only commercial software," but a mix and match that lets both coexist. If someone wants to develop their own software, then let them and don't even begrudge them the right to give it away.

    This is what really pisses me off about the copyright expansionists. They don't want people to be able to easily develop software for free. Copyright expansionism, as pushed by groups like the "Progress and Freedom Foundation" is not about freedom, it's about protecting business against hobbyists and other "asymmetric competition." I bet it makes such groups' heads spin to think that one of the biggest corporations on Wall Street is now about to dive head first into open source development and that the result of this development could send shockwaves through a segment of the commercial software industry.

    The freedom to write open source software is the same freedom to write closed source software. If you erode the foundation for the former, then you have no right to demand respect for the latter. That is why when the big copyright cartels lobby Congress, I see nothing wrong in doing things like buying academic licenses for software and taking them out into the real world. The copyright holder makes no profit on the academic license, only the seller does.

  26. a camel by St.+Arbirix · · Score: 3, Insightful

    an open-source message queuing system that can compete with proprietary message systems like IBM MQSeries

    Somewhere in IBM's headquarters there is a camel. A straw has just been placed on its back.

    --
    Direct away from face when opening.
    1. Re:a camel by Anonymous Coward · · Score: 0

      > Somewhere in IBM's headquarters there is a camel. A straw has just been placed on its back.

      And IBM rakes in hauling fees for carrying that straw. MQSeries sells because it's run businesses for longer than most businesses have existed. If it stops selling, IBM will pick up and work with whatever does.

    2. Re:a camel by muzza · · Score: 1

      Somewhere in IBM's headquarters there is a camel. A straw has just been placed on its back.

      As long as they have the correct permissions from O'Reilly for use of said camel it's all OK :-)

    3. Re:a camel by julesh · · Score: 1

      Somewhere in IBM's headquarters there is a camel. A straw has just been placed on its back.

      Nah, this is IBM. There's two camels, so that if one of them falls over the other can carry the load temporarily while they arrange a replacement.

  27. Check out TIP by AaronW · · Score: 3, Interesting

    They should check out tipc for message queueing. TIPC is a reliable messaging protocol designed for clusters. TIPC is fairly transparent whether a task is local or somewhere else on the network.

    -Aaron

    --
    This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
  28. mod parent up more funnier! by de1orean · · Score: 1

    n/c

  29. Re:"A suitable open-source license"? by Anonymous Coward · · Score: 0

    And they'll have to match the quality we expect from Apache products... and the tolerance for bugs in message queueing is a lot less than that for web servers. The Apache web server is excellent... AMQ will have to be better to be acceptable.

  30. Savings by blackmonday · · Score: 3, Insightful

    Some years ago a company I worked for was quoted one hundred thousand dollars as the cost to license IBM MQ Series messaging. There could be some serious savings in using an OSS product like this.

    1. Re:Savings by leerpm · · Score: 1

      I find it ironic, how IBM claims to be huge backers of open source. Yet Wall Street with all of their influence could not even convince IBM to open source the MQ Series product. They had to resort to building their own from scratch. The truth is, IBM only open source products where they have competitors they want to hurt, by commotitizing that type of software (i.e. supporting Linux & Eclipse to fight Microsoft over Windows & VS.Net).

      Not saying there is anything wrong with, they are a company that wants to make money after all. It's just a bit strange coming from one of the largest financial backers of Linux.

    2. Re:Savings by Anonymous Coward · · Score: 0
      Except that MQ Series is a well supported, mature product, well understood and with a large pool of qualified developers. Believe it or not, managers in top investment banks take this stuff into consideration.


      Watch this one sink like a stone.

    3. Re:Savings by (H)elix1 · · Score: 1

      The truth is, IBM only open source products where they have competitors they want to hurt, by commotitizing that type of software

      Not true. Big blue has open sourced bits that act as a loss leader, much like the 'free' items at a store, if it will make them cash longer term. I'd watch for IBM to make a low end 'open source' MQ, and have the connecting libraries match up perfectly with the WebSphere MQ. Much like what they are trying to do with Apache derby (formerly Cloudscape) using the same JDBC drivers as DB2... and hoping the departmental projects grow into something requiring a 'real' database.

    4. Re:Savings by A+famous+reader · · Score: 1

      I thought the original MQSeries that ran on IBM mainframes had its code base tangled up with DB2 code (Same address spaces, same 2pc code).

      If I was them I wouldn't be giving away trade secrets from my flagship product with something ilke MQseries.

    5. Re:Savings by Anonymous Coward · · Score: 0

      The firm I work for pays about $300/year, per CPU, for the server. The client is free. We haver 5,000 clients and about 50 servers (typically 2-CPU Linux boxes)...so the cost of MQ is not a big deal.

    6. Re:Savings by Anonymous Coward · · Score: 0

      Yep, get the poor developer sucked into devloping a nice solution for cheap (himself gatting paid very lowly), then come in and grab everything uderneath the poor developer at deployment time. Charge the companies an arm and a leg, and toss away the original developer like a bone which has been licked to death. How long do you think this BS will go on? We developers are waking up.

  31. Flabbergasted by Anonymous Coward · · Score: 4, Insightful

    By the technical ignorance of some of the posters here... Before you post, please make sure you have at least an inkling about what you're talking about! A Message-Oriented Middleware system has absolutely nothing to do with IM, or Web Services (except in a very indirect way), or even REST systems. /. seems to be in dire need of real geeks, it seems...

    1. Re:Flabbergasted by slcdb · · Score: 3, Insightful
      As one other Slashdotter commented about the article itself:
      Buzzword, buzzword, buzzword, incorrectly used terminology, buzzword, buzzword, buzzword...
      The same could be said to summarize most of the Slashdot readers' comments.

      I guess somebody just needs to say it: the article was crap, and Slashdot was the wrong forum for discussing it.
      --
      Despite what EULAs say, most software is sold, not licensed.
    2. Re:Flabbergasted by Anonymous Coward · · Score: 0

      A.G.R.E.E.D The article is crap and I am wasting my time reaffirming this.

    3. Re:Flabbergasted by Anonymous Coward · · Score: 1, Interesting

      You have to remember, the average Slashdotter is a kid. They wouldn't have experience with real computer systems in the real world (like MQSeries). All they think of is their l33t AIM shit.

      I'm sure if there was an age poll the average age is 17-20. Neophytes, babies that need their diaper changed, etc.

    4. Re:Flabbergasted by Anonymous Coward · · Score: 0

      MOM can have quite a lot to do with Web Services since Web Services essentially is middleware, and since it basically consists of XML messages. Theres no guarantee of the queueing system but pretty much every webservice spec and product uses one.

      Take another coffee dude :-)

    5. Re:Flabbergasted by Erik+Hollensbe · · Score: 1

      That's why some of us camp here with a torch and lighter, light ourselves on fire, and then see if anyone can put us out.

      It's much more entertaining that way. Even "real" computer geek can't do it most of the time. They're too busy flapping their arms and yelling "fire!" to figure out that if they just put it out, they'd have no reason to freak out.

  32. What about JBoss? by (H)elix1 · · Score: 1

    Not that more options are not a good thing, but the Java Messaging Service (JMS) built into Jboss rocks. It is LGPL as well, which is one of the better open source licenses out there in my book.

    1. Re:What about JBoss? by Anonymous Coward · · Score: 0

      You're kidding! It's crap! We tried using it, but it is so unreliable we had to scrap it.

      You must be Marc Fleury astrosurfing...

    2. Re:What about JBoss? by CvD · · Score: 1

      JBoss uses both JMS and JGroups, an excellent open source reliable multicasting library/protocol stack.

      According to the project plan the goal is to have JMS for client-server structure communication, and use JGroups for peer to peer structure communication.

      I highly recommend JGroups for your intermachine networking needs! :-)

    3. Re:What about JBoss? by Anonymous Coward · · Score: 0

      As you say, more options are a good thing, and JBoss is Java-only.

      If you think a place as conservative (and with as much legacy code) as a bank is going to go anywhere near "Java-only"...

    4. Re:What about JBoss? by eckes · · Score: 1

      Well, the JbossMQ in 4.x may be rocking, in 3.x the cluster support, redundancy and routing is pretty weak compared to ther JMS solutions (commercial and non commercial).

    5. Re:What about JBoss? by mparaz · · Score: 1

      I wrote about my JBossMQ experience here. The persistence layer needs work on the admin's part.

  33. I think people are getting technologies confused.. by Mysticalfruit · · Score: 1

    I think they're talking about OS queue stack for transaction process (i.e Stratus VOS queues).

    If a company was going to contribute that type of technology to the kernel, that would be awesome.

    --
    Yes Francis, the world has gone crazy.
  34. Pub/Sub & Point to Point by StrandedOrg · · Score: 2

    I work for a major airline (and the only one that has always been profitable =)) Because of the nature of our business, we have to use both Tibco and MQSeries for our communications. We must use both because of the transactional nature of running an airline (communication to / from the aircraft) and the non-transactional (Sabre / Ticketing). If there was a product that gave us the ability to do guaranteed / clustered messaging in both a synchronous and synchronous environments we would be all over it. In the end we end up with MQSeries butting messages on a Tibco bus that everyone uses as a pub / sub system. This system is used for everything from liqueur kits to engine maintenance to baggage and flight plans. If there was a combination of point to point (MQSeries) and Tibco (pub/sub) I would be in heaven!

    1. Re:Pub/Sub & Point to Point by zenst · · Score: 1

      But MQ does pub/sub as well as point to point, does it not.

    2. Re:Pub/Sub & Point to Point by easter1916 · · Score: 1

      The latest TIBCO EMS product (contains both RV and JMS) does both...

    3. Re:Pub/Sub & Point to Point by Anonymous Coward · · Score: 0

      Maybe take a look at the EMS product from TIBCO. I think it has what you are after, plus a JMS interface on the java side to boot..

    4. Re:Pub/Sub & Point to Point by Anonymous Coward · · Score: 0

      Yes it does. In fact IBM will give/sell you several different pub/sub engines depending on your requirements (and budget :-).

    5. Re:Pub/Sub & Point to Point by Anonymous Coward · · Score: 0

      I worked in mobile industry and we used SonicMQ for our SMS/MMS routing needs. It has both functionalities and works very well.

      Actually the JMS standard includes both communication models and any decent broker that implements the standard, should support both pub/sub and peer-to-peer communications. I am very surprised that there are products, that does not support them both.

  35. Re:Check out TIPC by AaronW · · Score: 1

    I hate to respond to my own post, but I forgot to include the link. TIPC is available under a dual license, both BSD and GPL. It can be found at http://tipc.so urceforge.net/</a>. We're planning on using it in an embedded project. It has good performance and reliability capabilities.

    --
    This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
  36. Horus/Ensemble? by putko · · Score: 2, Interesting

    Horus and Ensemble allow for process groups. Doesn't that do a superset of this stuff? It is open source.

    Horus is/was used to run the NYSE, and a prototype radar for the Aegis battlecruisers.

    Why is it not good enough?

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
    1. Re:Horus/Ensemble? by leerpm · · Score: 1

      I don't know much about Horus at all, but I would guess that its either a) too high-level and abstract of a solution to be of any practical use, or b) it doesn't natively support a number of environment like Java, C/C++, C#, etc.

  37. JMS by StrandedOrg · · Score: 1

    For me, the best solution for a large enterprise is something like JMS, this way we can change the backend (MQSeries/Tibco) and not impact the developers because they still connect the same way.

    1. Re:JMS by leerpm · · Score: 2, Insightful

      Did you read the article? The whole point of this project, is they need something that can support more than just Java! As much as the people on the TSS.com like to feel, Java is not always the best solution and sometimes you do need to write some high perf. sensitive code in unmanaged code like C/C++. You can't do that with a JMS based solution, at least not easily.

    2. Re:JMS by StrandedOrg · · Score: 1

      Maybe true, but JMS is a standard and not proprietary. So I ask you the same question. Did you read the article? Let me reiterate the first sentence of the post: "...create an open-source message queuing system that can compete with proprietary message systems like IBM MQSeries and Tibco/RV..." We use C and C++ adapters to communicate to the JMS servers all the time with no performance hit. Heck, I even have JMS running on the old MVS systems.

  38. Including in Kernel is wrong direction by Anonymous Coward · · Score: 0

    For a message queing project to be sucessfull, it will need to be cross platform and therefore should NOT be built into a kernel. It should be build as a daemon/service to run in userland on as many OS flavors as possible.

  39. Flabbergasted-FarkLand or Bust. by Anonymous Coward · · Score: 0

    "/. seems to be in dire need of real geeks, it seems..."

    They all left in the Great Fark Rush of 2000.

  40. Sendmail + procmail by jrbrtsn · · Score: 0

    Does anybody besides me wonder why anybody can sell expensive message queue software when Sendmail + Procmail can do the same thing? I've set up numerous apps that use this approach for asynchronous messaging.


    JDR

  41. To quote Wally by sconeu · · Score: 1


    Bingo, sir.

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  42. No, it's going to be me! by TeeJS · · Score: 1

    I think I'm going to be the next big thing - you should probably start sucking up now, in order to get a good position in my grand army of world domination!

    1. Re:No, it's going to be me! by SuperBigGulp · · Score: 1

      I for one welcome our new TeeJS overlord.

      --
      Someday a Slashdot ID of 177180 will mean something.
  43. Re:I bet this really pisses off the copyright expa by Anonymous Coward · · Score: 2, Insightful

    >This is what really pisses me off about the copyright expansionists.

    I really appreciate source code licenses that actually let you use the source code permanently such as BSD.

    Copyright expansionist vehicles, such as GPL, end up costing too much in the long run.

  44. Re:Jabber? by Anonymous Coward · · Score: 1, Informative

    Our turn to laugh at you...

    Jabber > Instant Messaging

    IM seems to be the only significant application on the Jabber architechture though, unless I'm missing something.

    Oh yeah, and to respond in kind: "try google next time, you insensitive clod!"

  45. I bet this really pisses off the [offtopic mods] by Anonymous Coward · · Score: 0

    "I bet this really pisses off the copyright expansionist"

    Well I just gotten through reading the story. Sorry! Didn't see any "copyright expansionist" upset over the news. Any particular reason you set your soapbox down here?

  46. My open source message-queuing system! by Temporal · · Score: 1
    #include <queue>
    #include <string>
    #include <iostream>
    using namespace std;

    int main()
    {
    queue<string> messageQueue;
    string message;

    cout << "Enter a message: ";
    cin >> message;
    messageQueue.push(message);
    cout << "Your message has been queued." << endl;
    }
    Licensed under the GPL! Feel free to use it to queue all the messages you want!

    (I hate it when people use totally generic terms like "message queuing" when they are actually referring to some much more specific functionality. I especially hate it when articles written about such systems make no attempt to explain what that functionality might be.)
    1. Re:My open source message-queuing system! by Anonymous Coward · · Score: 0

      My database:

      import sys
      print "enter your data:"
      data = sys.stdin.readline()
      print "data stored!"

      My point: "message queuing" is no more generic than "operating system" or "database" or "file system". Just because you think you're pretty hot with computers *doesn't* mean you automatically know everything about computers, and anybody who uses a term you don't know is wrong. These terms sound generic, but they do actually have a meaning.

    2. Re:My open source message-queuing system! by Temporal · · Score: 1

      My point: Everyone knows what "operating system" and "database" and "file system" mean. Maybe it's just me, but I have no idea what "message queuing" means. There's nothing wrong with that, but since it's non-obvious what they mean, it would be nice if they'd stick a one-paragraph explanation in the article.

      And, yes, I do believe that if a software term is non-obvious to me, then it is probably non-obvious to most computer professionals.

    3. Re:My open source message-queuing system! by Anonymous Coward · · Score: 0

      im going to me too you on this. Ever read Eweek? I swear to god you need a buzzword dictionary next to you to read the thing. The magazine makes ZERO attempt to define what any of them mean. So if youre not in the know on what ERP, CRM, and QXYZDSJHDFDS systems are, you might as well just wipe your arse with the thing (even after learning some of the terms I still think you should wipe your ass with the thing.)

      I definitely agree with you. I feel that the reason more people don't speak up about these types of things is that they do not want to appear stupid in front of many people. I don't think its difficult to see where the line between common knowledge among professionals begins and ends.

    4. Re:My open source message-queuing system! by ad0gg · · Score: 1

      Considering IBM,Sun(java),microsoft(MSMQ) all have message queuing system. You're a retard for not knowing what it is. Maybe instead of complaining you could do a search for message queuing on google.

      --

      Have you ever been to a turkish prison?

    5. Re:My open source message-queuing system! by Sam+Ritchie · · Score: 1

      Unfortunately the author of the article doesn't know what message queuing is either.

      --
      This sig is false.
    6. Re:My open source message-queuing system! by Anonymous Coward · · Score: 0

      I agree whole heartedly. MQ is nothing but getting a "message" putting it into a database so that it can be delivered to the final destination later if this destination is currently down. Once the message is delivered to the final destination, the database entry is marked as having delivered, and the confirmation is sent back to the originator to complete the transaction.

      All this IT jargon lets the Consultant to look intelligent infront of the clueless IT manager.

    7. Re:My open source message-queuing system! by Temporal · · Score: 1

      When I think "message queue" I think something like "Win32 message queue" (GetMessage()/SendMessage(), used for basic GUI operation) or FreeBSD's kernel queues. Or even RT signal queues. All these things are commonly known as "message queues", yet are clearly not what is being discussed here.

      Anyway, I wasn't really complaining. I was just making a dumb joke out of the fact that people use such generic terms to refer to such specific systems. Turns out the joke was dumber than I realized at the time. Oh well.

  47. OSH and Ethics-Fighting over License by Anonymous Coward · · Score: 0

    "Wall Street is also looking for a new Open Source Ethics and Honesty implementation as current proprietary implementations seem to be faulty, buggy, and expensive to maintain."

    Unfortunately 1567 Slashdot posts later. No one can agree on who's ethics should be used, and whether it should be under the GPL or the BSD license.

  48. Re:I thought that was sendmail? by clockwise_music · · Score: 1

    Mod this parent up as most slashdotters don't seem to know what MQ'ing is.

    You can also have a publish/subscribe method, where one application can "publish" a message onto a queue, and any other app can "subscribe" to this queue and get the message. Useful for something like stock market prices (that constantly change) that lots of apps might rely on.

  49. please someone explain. by Lord+Bitman · · Score: 3, Insightful

    What is a message queue, why should I care, what does this have to do with anything, what are they talking about? In short: what kinds of messages are we talking about, what are sending them to what, and why do we need to queue them?

    "A message queue is a queue onto which messages can be placed."
    thanks a fucking lot google

    --
    -- 'The' Lord and Master Bitman On High, Master Of All
    1. Re:please someone explain. by Hymer · · Score: 0

      Real good explanation can be found on IBM.com... search for mqseries.

    2. Re:please someone explain. by Lord+Bitman · · Score: 0, Flamebait

      who the fuck moderated this funny? This is an actual fucking question, assholes.

      --
      -- 'The' Lord and Master Bitman On High, Master Of All
    3. Re:please someone explain. by demachina · · Score: 2, Insightful

      I imagine JP Morgan developed their message queue to send stock or other financial transactions from one place to another, for example from customer, to broker, to exchange and back again. I imagine if you've bought stocks online it was all done through message queue transactions and its unlikely there was ever a human in the loop. If that is the context the environment they are using it in it has to both be extremely reliable, since large quantities of money are involved, and it has to handle potentially very large and variable loads.

      Another example would be Walmart. Everytime you buy something in one of their stores the cash register is sending message is sent to a gigantic computer system in Arkansas which tracks everything sold. Every distribution center also sends messages when trucks arrive with new inventory or trucks leave for a store to restock a store that is running low on stuff, and the message(s) describe all the inventory taken off of or put on the truck. If they ever manage to RFID tag everything as is their desire then RFID tag readers will generate most of the messages automaticly when things move and there will be even fewer people in the loop.

      Walmart's messaging system allows them to know exactly what inventory is in every store(aside from shoplifting), every distribution center and every in transit truck. When a store gets low on something I imagine its nearly automatic for a distribution center to put the needed items on a truck and restock the store with minimal human intervention.

      Walmart's system also allows all of their suppliers to track, on a store by store basis, and near real-time, how their products are selling in every store so they know whats selling, whats not and how much of which products they will need to produce and have ready to deliver to Walmart, just in time.

      If you want to run a very high volume, high profit distributed business, with very high efficiency chances are you will have some very fast, high volume, reliable, and powerful message queues in the heart of it.

      --
      @de_machina
    4. Re:please someone explain. by Lord+Bitman · · Score: 1

      what does a "message queue" do for them that everyone on slashdot hasnt implimented already when they needed to recieve things at a variable rate? I mean, ibm.com said it's not just a FIFO stack, but all you have described sounds like reading and writing to a database- what's so special about that? What's so special about adding priorities so that (for example) your payments kick in before your deductions?
      Is this article about them having made a database server? is that what this is? I still have no idea what's amazing about it.

      I'm not bashing or anything like that, I just dont think I have any idea what they're talking about.

      --
      -- 'The' Lord and Master Bitman On High, Master Of All
    5. Re:please someone explain. by MochaMan · · Score: 1

      Read up on, for example, MQSeries. If the sender or the receiver or even both go down, the message is persisted and gets delivered. If the message is halfway through being transmitted and the connection dies or either machine goes out with a crash or power failure, the message still gets delivered or you get configurable guaranteed failure notification. Designing a system like this, that handles that kind of reliability under loads of tens of thousands of messages per second is on the same level as implementing a high-end DBMS.

      If indeed it is as easy as you claim, I'd encourage you to develop and sell your system. You'll be rich in no time. Wall St. relies on these systems for literally trillions of dollars in transactions a year and will pay big money for these systems.

    6. Re:please someone explain. by Lord+Bitman · · Score: 1

      how the fuck is that fucking flamebait? FUCK YOU. I am not trying to piss anyone off, I am just calling whoever did this a fucking idiot. I am not trying to start a flame war. If you moderated the above post you are a MORON. There is no flamebait here because there can be no discussion. It is fucking FACT.

      --
      -- 'The' Lord and Master Bitman On High, Master Of All
    7. Re:please someone explain. by demachina · · Score: 1

      Message queues are more transient than a database and they are also more likely to be focused around comm links. A message queue is often used to initiate a database transaction but that is not necessarily so. You can have message queues without a database. You can have a database without a comm pipe or a message queue.

      As the other reply to your post suggests, message queues have to deal with:

      - comm links that go up and down, have variable data rates, and may at times not have the bandwidth to handle the message load
      - they have to deal with high variability in load and store messages on the sending end until the backlog clears. I imagine they need a substantial transient storage component to store a potentially large volume of messages if there is a long down time in the comm link or central server
      - they need to work the their administrators to warn them if part of the system like the comm link or central servers go down, or when load is starting to exceed capacity on a continuing basis, so they can upgrade the bottleneck before there is a catastrophic failure and lost data
      - they have to never lose a message

      If for example the database is swamped and getting behind on processing the messages and putting them in the database, the message queue has to absorb the latency and queue the messages until the database server catches up. If the database goes down, the message queue has to absorb and log all the incoming messages until it comes up again and then resume sendin the backlog. The system as a whole has to gracefully handle the surge that comes when the system comes back on lines and potentially thousands of stores start sending their backlog all at once.

      Message queues are the shock absorbers in high volume distributed systems. In a place like Walmart with 3500 some U.S. stores and 5000 some worldwide there is a really huge volume of message traffic, very high variability in load and a requirement for 100% uptime and 0% data loss. Same goes for stock exchanges, banks and brokers.

      In a documentary I saw on Walmart their system tells them so much about buying patterns in their stores that they can, without looking at weather reports, tell which of their stores are in the predicted path of a hurricane because there is a surge in buying of pop tarts among other things. They in turn have to insure there is surge in inventory resupply to get more pop tarts to their stores in time for people to buy them before the hurricane hits, but avoid sending their trucks in to the actual hurricane.

      The efficiencies you get in retailing with computerization at the level Walmart does it would have been unheard of 20-30 years ago. It is one of many reasons they can destroy their competition and have such low prices. Their inventory control is an incredibly well oiled machine, they are almost never out of stock or over stocked and really are the definition of "just in time".

      --
      @de_machina
    8. Re:please someone explain. by demachina · · Score: 1

      Here is another attempt clarify the concept and a point I made on the stock trading example in my first post.

      For a online stock trade you login in to your brokers web site. At this point it works about the same as most low end ecommerce or web sites. HTTP transfers go to to a PHP app to setup the stock trade. If you are buying something from a low end web site when you hit the Buy Now button the PHP app goes straight to the database and logs the purchase and confirms it to the customer with more HTTP traffic.

      For a stock trade however when you hit Buy Now button and your broker's server confirms the trade, chances are your stock purchase request goes in to a message queue either directly or indirectly which connects your broker to the exchange involved. All the brokers are watching all the buy and sell messages going in to the exchange and if one of them wants to sell you the stock at the price you want they send a message to the exchange with the buy request. Once their sell message is matched up to your buy message the brokerage has to send more messages, one to your broker, and one to the broker of the seller. A message also has to go to the broker of the company whose's stock was traded informing them of the change in shareholders so they can pay dividends and send the new shareholder a prospectus and shareholder notices.

      The key point is once the HTTP transaction happens confirming your desire to make a trade you've started a process involving multiple messages, between multiple servers in multiple locations an all the messages have to get to each place with 100% reliablity, which mean no message gets lost even if comm links or servers go down or the system gets overloaded.

      If the comm link goes down to your broker before you initiate the transaction there is no message queue in the loop and you just have to wait and retry the HTTP puts.

      A low end web site is like this all the way through. If you don't have a message queue between your customer and your database and the database goes down you lose sales until its back up.

      Needless to say say there are lots of message queue implementatio in the world in different languages and with varying levels of sophistication. I imagine J.P. Morgan is talking about one that has been battle tested in a high volume, very demanding environment where high reliability is mandatory. I think they are talking about one you could risk a multibillion dollar company on with a fair chance of not having it put you out of business if it goes down or loses vital data.

      --
      @de_machina
    9. Re:please someone explain. by easter1916 · · Score: 1

      You're the real asshole. If you really want answers, please be polite.

    10. Re:please someone explain. by Anonymous Coward · · Score: 0

      There is nothing "amazing" about it. You're right about that. The "queue" is basically a database table(s). The message queuing software builds upon the functionality of a transactional database to allow business processing semantics at a higher ("messaging") level. The database that backs the messaging software is a key component, for it is that that provides the reliability to data as it moves across processes and machines (for example, between a travel agent's computer terminal and the airline reservation system). The database stuff happens behind the scenes, while coders write to business-specific APIs or protocols. It's not rocket science.

  50. Re:Check out TIPC by Anonymous Coward · · Score: 0
    TIPC is available under a dual license, both BSD and GPL
    OT, I know, but why? If you release it under the BSD license, anyone who wants to make their changes GPL'd only can still do so. The (current) BSD license is compatable with the GPL.
  51. REXX? by Anonymous Coward · · Score: 0

    Ummm... am I wrong here or did not IBM's REXX integrate this as a direct application add-on? As I remember correctly, you could add a REXX message pipe to any program/app/daemon/whathaveyou, and any other program could pass a command or data to the application through this pipe and either get a response or not depending on what the message was. IIRC, these pipes had built-in queueing through a REXX master daemon waiting for the destination app to become avaialable. Am I dreaming, or didn't this already happen?

    1. Re:REXX? by jarpak · · Score: 1

      It happened on AREXX, that is Amiga Rexx :) Programs could send messages to each other through Arexx ports.

  52. MQ Advantage Is Mainframe Messaging! by Black-Man · · Score: 2, Interesting

    It is the best way to get data from distributive systems to/from the mainframe. So... are they going to write a COBOL interface from 3270? Without IBM's help, I don't see that happening.

    For distributive->distributive, web services is all you need.

    1. Re:MQ Advantage Is Mainframe Messaging! by oo_waratah · · Score: 1

      There are cobol programmers in open source and recent cobol compilers have socket connections. So this is not that difficult.

    2. Re:MQ Advantage Is Mainframe Messaging! by Ratbert42 · · Score: 1
      are they going to write a COBOL interface from 3270?

      It doesn't have to be COBOL. We write a lot of C/C++ code on the mainframe and you can call it from COBOL. That'd get you bought quick though, if you built a MQSeries competitor that took any sort of bite out of the mainframe licenses.

  53. Re:Jabber? by Henk+Poley · · Score: 1, Offtopic

    Thank you people, today I got my first "-1 Flamebait" moderation. For no special reason :-P

    Please mod the TIPC reference further down to page too, it's as much off-topic and flamebait as my post. It's even a plug for his project.

    Have a nice day :-)

  54. Re:I bet this really pisses off the copyright expa by Changa_MC · · Score: 2, Insightful
    If you don't want to give your code away for free, don't take other people's code for free. I really get sick of people whining about how they want free code so they can sell it to other people.

    GPL = something for something.

    --
    Changa hates change.
  55. D-Bus? by Anonymous Coward · · Score: 0

    Um, isn't that pretty much what D-Bus is?

  56. Queue Redux by Doc+Ruby · · Score: 4, Insightful

    Keep in mind that Wall Street was probably *the* major engine driving Web applications into the mainstream in the 1990s. One reason Wall Street went crazy touting the Web as an unlimited business panacea was that it was actually like that for its own industry. By the time they promoted it in 1995, Wall Street shops had been churning out httpd patches, CGI apps, Perl revisions and code, DB connection software and techniques, TCL patterns, and all kinds of R&D that underpinned much of the development momentum. Message Queueing has a similar arc, because Wall Street both inhabits the bloodiest edge on which they can survive, and has the least tolerance for failure. The flakiness of network messaging is the root of some of the worst inhibition on network growth among users and deployers - Wall Street has been there, and has answers. Let's use them.

    --

    --
    make install -not war

  57. Beer. by agent · · Score: 0, Offtopic

    When I use free software, 100% free for family and friends.
    $60.00 per hour for MicroSoft support.
    Bill_Gates.m4a

  58. And that would be what, exactly? by The+Cisco+Kid · · Score: 1

    For the clueless among us (eg me) WTF is a 'message queueing system' and what would one use it for? Something to do with email? Kernel API calls? Tech support ticket system?

    1. Re:And that would be what, exactly? by easter1916 · · Score: 4, Informative

      No, it's akin to JMS (Java Messaging System) or, say, the TIBCO/Rendezvous system used to broadcast trading information to NASDAQ clients.

      Here at my workplace, we use "guaranteed messaging" to integrate disparate systems such as SAP R/3, as iSeries/AS400 running BPCS, a bespoke warehousing system. Messages (i.e., details of a transaction, for example an XML doc. containing details of a sales order) are transmitted between systems to keep them in sync. If the target system is down the messages are queued for delivery in the messaging system itself, and delivered later.

      Not a great explanation, but I hope it helps.

    2. Re:And that would be what, exactly? by plierhead · · Score: 2, Informative
      The need for a messaging system is hard to understand if you aren't used to working with/in hideously large, heterogeneous networks and groups of affiliated companies.

      What does it do? Virtually nothing. Just takes a few buytes of data and sends it from here to there. Thats the easy part - the hard part is that it does so with absolutely guaranteed results - if you send it, you know they will get it. Imagine chains of more or less reliable machines, software stacks and networks all linking together sender and receiver, and the horrendous business impact of failure of even a single message, and the non-negotiable need for auditing, and you start to see why there might just be a little tiny bit of complexity in there.

      Some systems throw a few extra dyanmics in on top, such as a publish/subscribe model which takes you beyond just sender and receiver, but the essence of these things is not functionality but utter, total reliability.

      Which seems to me why an open source model is not, in itself, an obvious way to produce such a piece of software. More than anything else - except perhaps database systems - people look to the vendors of these things to guarantee 100% reliability. Such a project, if open source, would require a big name behind it before any corporate would use it - and large corporates by their nature are the normal customers for these things.

      --

      [x] auto-moderate all posts by this user as insightful

    3. Re:And that would be what, exactly? by jqh1 · · Score: 1

      think of it as a system for machine to machine communication (or process to process communication). Two major topologies are 1) "publish/subscribe", where a message is broadcast to a particular subject or topic, and zero to many processes are listening for it (all of them that are listening will receive the message) and 2) "point to point", where a process sends a message to a queue and (hopefully) one or more processes are checking for it, but only the first one to check will get the message. In either case, the publishing process can continue to go about its business after sending the message, without worrying about whether it was received (or it can wait for acknowledgment if need be). There are many subtle variations on this.

      One common use for messaging is to distribute load accross many servers.

      --
      who's moderating the meta-moderators?
    4. Re:And that would be what, exactly? by Anonymous Coward · · Score: 0

      Um, actually the broadcasting can be done through um, broadcasting technologies. The messaging is more an issue for getting you orders (or quotes) in to the exchange (or market) in a timely and reliable manner.

      I guess you didn't mean to use the word broadcast in that first sentence.

    5. Re:And that would be what, exactly? by pe1chl · · Score: 1

      I still find it difficult to judge if something like this should be "in the kernel"...
      The description (and the many other ones by other people) all seem to suggest that the messages to be sent are quite high-level (application level), and the queuing times can be quite long.
      This suggests something like a mail transfer agent, that receives messages, attempts to deliver them, and keeps them on disk if immediate delivery is not successful. Not something you would do in the kernel.

      On the other hand, kernels often include a message queue mechanism, to be used for things like inter-process communication or sending of data from a network stack to the user process. Those usually don't provide reliability beyond "the message will arrive as long as the system does not crash". That more seems like the domain for a kernel message queue system.

      Of course a message queue that scales reasonably well (i.e. it can not only be used in a complicated network but also on a single machine, and it can be run in simple situations with simple configuration) would be very useful.
      It could be used as a base for anything between printer spooling and e-mail delivery. Maybe the long-awaited replacement for SMTP and LPD?

  59. Re:I thought that was sendmail? by Tablizer · · Score: 1

    We had a similar debate on c2 wiki.

    It seems that FTP, email, web services, and/or databases can be used instead. I am not sure we need Yet Another data-sharing mechanism/protocol unless it offers something truely unique.

  60. Performance is key on Wall St, so no JMS by blackhedd · · Score: 2, Interesting

    My company built and sold a message-oriented messaging product that merged the pub/sub and transactional models several years back, and it included guaranteed delivery. And yes, there was a lot of discussion about open sourcing the code base. The system is still in daily production in a bunch of Wall St. firms.
    What these firms all wanted as a key requirement was clean integration with C/C++, and extreme performance. We had to handle thousands of messages (ranging into megabytes each) per second, with full guaranteed delivery, over IP networks and through firewalls. Oh, and none of the flakiness and admin problems of MQSeries.
    None of the available JMS products could handle all these requirements.

    1. Re:Performance is key on Wall St, so no JMS by easter1916 · · Score: 1

      TIBCO Rendevous is better suited to your requirements; no hub and spoke configuration, each subscriber/publisher runs a small daemon on the box, scales up to massive broadcasts. Point-to-point (e.g., JMS) isn't really suited to that at all.

    2. Re:Performance is key on Wall St, so no JMS by blackhedd · · Score: 1

      TIB's pub/sub model isn't appropriate for many applications (which is why they bought and killed Talarian- remember them?). People use MQ for the robust, guaranteed delivery and asynchrony. Plus, TIB is wickedly expensive, and a bear to admin. An open source alternative is a fabulous idea.

    3. Re:Performance is key on Wall St, so no JMS by easter1916 · · Score: 1

      Hear, hear! Having wrestled with TIBCO for the past six months, I'm not particularly fond of it. The core messaging is fine, but the surrounding tools seem... buggy. And expensive it is indeed, close to $500K for a medium-sized enterprise license for us here...

    4. Re:Performance is key on Wall St, so no JMS by easter1916 · · Score: 1

      Oh, forgot to mention, TIBCO has it's own full JMS system now, in addition to RV.

    5. Re:Performance is key on Wall St, so no JMS by Anonymous Coward · · Score: 0

      MQSeries is written in C/C++. Now that it is integrated with Websphere, it's just wrapped with Java. The guts are still C/C++ from what I know. I coudl be wrong about MQSeries, but I'm pretty sure the client and core is still C++. I also know of several companies that wrote their own messaging server, because they handle a ton of traffic. Like flight control system use by aiports for realtime data.

    6. Re:Performance is key on Wall St, so no JMS by blackhedd · · Score: 1

      Not 100% sure but I think the MQ core is written in straight C. It still costs a fortune and is absolutely vicious to to keep running. On Wall St, they employ armies of people to do just that. An open-source alternative is apropos.

    7. Re:Performance is key on Wall St, so no JMS by easter1916 · · Score: 1

      Please check in a dictionary for the correct usage of the word "apropos".

  61. The related article about UDDI is more interesting by ishmalius · · Score: 1
    The article has a "related item" link in it to this article about Oasis opting for UDDI for publishing web services on a directory server. Although UDDI has been around for a while, this bit of push might help make it more common.

    I have always thought that Discovery is the most interesting area of research on the Internet. The idea of applications seeking out each other, learning about their resources and interfaces, and hooking up and communicating, without any human intervention is fascinating.

  62. Not going to get off the ground by fr0dicus · · Score: 1

    The prices and importance of messaging middleware applications to many companies are such that they will be precisely the LAST application that would be allowed to go F/OSS/no vendor support world.

  63. What about XML Blaster? by vegetasaiyajin · · Score: 2, Informative

    XML blaster is an open source message oriented middleware that has bindings for multiple languages (C,C++, Java, PHP, Python, Perl).
    I have never used it, but it's been available since a long time.

    --

    My heart is pure, but make no mistake, it's pure evil
    1. Re:What about XML Blaster? by Anonymous Coward · · Score: 0

      Warning! I heard it is a worm ! It's the last version, powered by XML.

    2. Re:What about XML Blaster? by Anonymous Coward · · Score: 0

      Some folks are turned off by the high runtime sizes (and historic performance issues) of Java solutions. When you really want to scale things up, run your order / quote book flow through systems, you really hate latency and bottlenecks.

      XML + Java is probably not the first choice in a large program trading enviroment. The bandwidth needs in these areas can be surprisingly high.

      Nice package though, and seem like a nice group of people.

  64. Heh by roman_mir · · Score: 2, Interesting

    I wrote my own AMQ implementation about 4 years ago for a project that I was working on. The project was done in Java on Weblogic 5.1 (flashback - I am working on W5.1 on my current contract today,) and message beans were just introduced but we did not have them in our implementation.

    The project was for life insurance industry (for a little known company named Worldinsure that spent over 2.5*10^7 dollars on Aeron chairs and plasma monitors and - surprise, surprise - went belly up.) The app. would ask hundreds of questions that needed to be populated page by page. On some page the app would have to generate a PDF file, and since the Adobe pdf generator would crash the JVM after a couple of uses, we desynchronized it.

    I wrote a message queue that was generic enough to start whatever action that was appropriate for the message type. It was not too difficult, a relational db (Oracle) was used as the message storage mechanism and I had 2 different options for message retrieval - message polling from the java code and Oracle triggers. The tricky part was the multithreaded message queue processor that could start any action - a java class in a seperate safe thread. Every message had a status - New, InProgress, Failed. Messages could be setup to be retried with a retry-decrimenting counter, so a message would become 'Failed', once the retry counter reached 0. Message types had priorities assigned to them, so some messages would take priority over others. To make sure that all messages eventually were drained, there was also a priority timeout. Messages could be 'peeked at' and retreived. Once a message queue processor decides to retrieve a message, this message is not deleted, but marked with status 'InProgress', so that other processors would not pick it up as a new message.

    The interesting side-effect of this design was that it was possible to run as many message queue processors as one wished, thus an application could spread the load onto multiple computers (this adds redundancy and scalability.)

    All of this can be implemented quite easily to follow JMS standard, but JMS standard is even simpler (in terms of functionality) than what this designed allowed.

    1. Re:Heh by roman_mir · · Score: 1

      Forgot to notice that after a while we just rewrote the PDF generator (FDF populator) ourselves and it became stable and usable, but we left the MQ in anyway.

  65. Does this project have a web page? by jbr439 · · Score: 1

    The article does not mention a web page for this project and googling did not help me. So, is this a "secret" open source project, or what?

    1. Re:Does this project have a web page? by Anonymous Coward · · Score: 0

      Will someone in the know answer this question please. Thank you.

  66. The Apache of messaging systems is Spread. by bernfast · · Score: 1

    http://www.spread.org/. By the way: How complex is a message queue? That sounds like kindergarden technology to me.

    1. Re:The Apache of messaging systems is Spread. by putaro · · Score: 1

      How complex is a message queue?

      Well, that depends on what you want it to do, how many messages you can stuff in the queue, how reliable it needs to be and how fast it needs to be. Low reliability, low capacity and high performance is easy (keep it all in RAM). Low reliability, high capacity and low performance is somewhat harder. High reliability, high capacity and high performance can be challenging.

    2. Re:The Apache of messaging systems is Spread. by TopSpin · · Score: 1

      How complex is a message queue? That sounds like kindergarden technology to me.

      Large industrial and financial systems use message queues to control and monitor stuff. These systems form complex networks of messaging. The message queue software must be very scalable and reliable.

      Generally, a message queue product is expected to be ACID. For message queues this means exactly one delivery of a message; no dups, no loss, regardless of network or hardware failures. Messages may have multiple destinations. Delivery of particular message may or may not require a guarantee. Messages may be prioritized. All of these properties are defined through configuration, as opposed to coding. Recently the desire to do this across platforms and languages has become a big priority.

      An example; Imagine you're WalMart and you want to monitor cash register activity worldwide. At any given moment a percentage of all uplinks from the stores to the corporate network will be down because lots of backhoes are mangling lots of cables. The volume of data is vast and continuous because the sun never sets on WalMart. You can't tolerate lost data due to any one of; upgrades, hardware failures, network failures, administrative blunders, scheduled downtime, etc. Further, you want to minimize the complexity of computing system that must reside at each site. Finally, you need your solution to survive a changing environment; you might turn over your cash register assets every few years, changing vendors in the process.

      To deal with this you establish a message queue network. You feed transactions into distributed collection queues as early as practically possible (on-site). These feed into larger, faster queues across the network, whenever it happens to become available. Finally, the data is asynchronously pulled from the destination queues and (generally) recorded into some sort of database.

      This same model applies to no end of large scale systems. ATMs, cell networks, any sort of dispatch operation, manufacturing... The software is generalized; you can pass damn near anything across it and it comes out the other side with perfect fidelity regardless of version, platform, transient conditions, etc. The software is efficient; minimum latency, extremely high volumes, etc. without long-hair geeks frobing arcane knobs all day.

      Clever people having used message queues to distribute computation. Multiple receivers can pull from a queue as they become available. Receivers can be added and removed dynamically. Simple, reliable, load balanced cluster computing!

      It isn't kindergarden stuff. It is rarified; systems complex enough to justify message queues are generally very expensive "core" systems. If a message queue system fucks up it's going to get noticed at the top where some household name CEO type deals with the people who deal with the problem. It is also an old idea; IBM has been selling MQ for most of it's computing history.

      --
      Lurking at the bottom of the gravity well, getting old
    3. Re:The Apache of messaging systems is Spread. by Anonymous Coward · · Score: 0

      >>http://www.spread.org/. By the way: How complex is a message queue? That sounds like kindergarden technology to me.

      It is, but to a confused IT manager it sounds impressive, comming from the $400/hr IMB consultant! He knows it all!!!

  67. Guaranteed delivery asynchronous messaging is... by MarkWatson · · Score: 1

    ... the glue that holds the worlds together.

    Seriously, I would have to think a while to count the projects that I have used ISIS, JMS, etc. for. Asynchronous messaging makes architectures simpler.

    ISIS supported "virtual synchrony": guaranteed order of deliver also.

  68. FTA- by iluvcapra · · Score: 1

    FTA: "We now need something that's not proprietary. Banks don't like proprietary things,"

    Maybe Microsoft should write a message queuing library, in order to guarantee "interoperability"

    --
    Don't blame me, I voted for Baltar.
    1. Re:FTA- by Sam+Ritchie · · Score: 1

      You mean like MSMQ?

      --
      This sig is false.
  69. Re:I thought that was sendmail? by Anonymous Coward · · Score: 0

    you are an idiot

  70. I've used MQSeries a lot by wandazulu · · Score: 1

    So this is quite interesting; I'll be very interested to see their implementation. With IBM's MQ, their big thing was that there was something like 8 function calls, tops. I can still see the IBM guy talking about how simple it was, listing out the functions.

    What he neglected to mention was that each of those function calls takes *structures* as arguments...some of those structures had a dozen+ members.

    To be fair, MQ is pretty slick; I wrote a connector between the webserver and an ES/9000 mainframe using MQ. No EBCIDIC tranlation, no worrying about going from TCP/IP to SNA...all was handled by MQ.

    The other big thing (and I'm sure this is where all this work is coming from), is that, on a Windows platform, I think MQ cost around $5000 (circa 1999). On the mainframe, they charge *by the cycle*. I don't remember the exact figures, but the head of the mainframe group said that it cost something in the high five figures just to get the cartridge, and then there was both a monthly support cost, and then the per-cycle cost.

    When testing my program for load, I would send a couple of big books I had gotten from the Gutenberg project on a round trip from the NT box to the mainframe, and do it all weekend. My manager was presented with a "bill" for around $10,000 in MQ time on the mainframe. Yowza.

    And in addition to all that, there were the Candle consultants who helped set the topography up. For an end-to-end system, it sure had a lot of people involved, and a lot of moving pieces.

    The upshot was that it did what it was supposed to do, and we handled millions of requests through it every single day for years. Still one of the pieces of code I'm most proud of.

  71. open-source message queuing system by Scott7477 · · Score: 2, Insightful

    What JP Morgan and other Wall Street firms use message queuing software for is trading in the financial markets. So if the software bugs out, they stand to lose millions of dollars per minute or more depending on the size of the trades they are executing. So I see this story as a positive for open source software because if Wall Street people think they can get a usable mission critical piece of software out of the open source community then no other potential target for OSS is invulnerable.

    --
    "Lack of technical competence coupled with the arrogance of power, as usual, leads to no good end."
    1. Re:open-source message queuing system by Anonymous Coward · · Score: 0

      Who is this guy on Wall Street? Article states he is a VP at JPM. Every one is a VP on Wall Street

    2. Re:open-source message queuing system by Anonymous Coward · · Score: 0

      I work for JPMorgan - they currently lose money left right and centre as they have totally neglected the majority of their core infrastructure for several years. They waste millions of dollars a year keeping contractors (who have sometimes been in the company for over 10 years) who keep all the documentation in their head, and when they do get rid of them they dump the work on to their permanent staff and expect us to turn it into a processing beast over night, using the latest and greatest technologies - but only if you can do it while still throwing in code at the last minute due to the latest FSA/Fed audit.... I could go on, but I would only end up swearing!

  72. Quick summery by Anonymous Coward · · Score: 0

    This is incredibly exciting!

    Java zeolots propose tons of various java queuing apps, forgetting that some folks can't afford a giant Java runtime. I keep on reading about Java having caught up and beating other languages speed wise, but have yet to come across the real world application where it actually does so.

    Comparing JMS to a bunch of other messaging toolkits (explore some cluster message passing) and I'm blown away again with how slow the whole thing is.

    MQ, probably be rocking if it received a cleaner fresh, less cruft and finicky setup. I like IBM.

    Tibco, prepare to bleed money, weird tools around the system.

    Jabber? They have largely abandoned the open source server it seem to me for high volume messaging apps.

    pubsub.com A neat ASP that seems to have some ripping performance.

    amazon.com Super basic. When will you setup the commercial stuff. No fun building anything until one knows how it'll end up.

    In the end, this is super cool. This should help plug a MUCH needed gap in the mono space.

  73. FioranoMQ by pkzip · · Score: 1

    The company I work for uses FioranoMQ and it's such a pile of garbage. Their client-side RTL will not even reconnect to the message broker if it's down unless the connection is marked as durable, in which case it mindlessly queues all the messages on disk. The client application can't control any of this.

    As for their C++ API, it's hard to believe their developers even know how to code in C++. It leaks like a sieve and doesn't even do durable connections. If the connection to the broker is ever lost, you literally have to restart the entire C++ app.

    I guess this is what you get for software developed in India. The cost of other providers like Tibco/RV is grossly prohibitive.

    If JPMorgan Chase & Co's experiences are anything like this, it's no wonder they want to build their own system.

  74. definitely good maybe by hachete · · Score: 1
    I'm implementing a scheduling system using JMS and it's great for what it does but it definitely restricts your choices. I've got a lot of perl build scripts and I'd dearly love to integrate my system with the perl. Currently, the build server process, written in Java, execs a process to run perl. Elegant it isn't. However, I went through a lot of pain tryin to integrate Perl with Java over a network protocol. Either the xml-rpc implementations were too simple-minded for what I wanted (I was only allowed to use off-the-shelf components so no writing from scratch or no major re-writing) or the SOAP interoperability btn Java and Perl sucked big-time, in part due to the language differences but mostly due to the implementations. The perl SOAP implementation gives at a certain point in the spec, I can't remember where, but it was a big enough hole for me to stop working on the SOAP interface.

    The key to this MQ project is getting the interoperability btn languages to actually work. I see no mention of Perl, for example. Or of any scripting language. Certainly if they wish to "walk the walk" as well as "talk the talk" there should be reference implementations for each *client* language they wish to integrate, ditto for the server-framework, although the latter would be a smaller pool.

    If they can't do this, then the best thing is to stick to sockets for inter-language interoperability:-)

    BTW, there are rumours of C++ interop with JMS - Code Mesh and MantaRay I suppose you could use jython for python so I suppose you could say that JMS is spreading outside the compound but I'm not convinced.

    ALso, having it in the kernel is a Good Thing. Well, it is if you're windows - I think most windows system comes with a MQ, although I suspect that these are stripped-down versions of a more expensive "Enterprise System". If this system came with the kernel, then I'd've had one less thing to worry about :-)

    There's no mention either of a proper Java implementation - including Message Driven Beans. This is the one part of JMS which is worth keeping, I think.

    in short, good on the big picture but a lot of niggling worries. I shan't be attempting to use this system until rev 2.

    --
    Patriotism is a virtue of the vicious
    1. Re:definitely good maybe by hpp · · Score: 1

      The nice thing of IBM MQ is that there is a perl API on CPAN. I own it, I ought to know :-)

      If the AMQ system is C-based, writing a perl API should be easy. And my boss might even pay me to do so, just like I'm paid to maintain the perl MQSeries API :-)

    2. Re:definitely good maybe by hachete · · Score: 1

      nice. It's a pity the IBM MQ is so **^%%$$ expensive.

      Good about the Perl API to AMQ - now that would be a bonus.

      --
      Patriotism is a virtue of the vicious
  75. If this, then that... by Anonymous Coward · · Score: 0

    If JPMorgan Chase & Co. follows through with their announcement and they come up with a suitable open-source license, AMQ could become the Apache of messaging systems.

    Why does that scan like "If [company] comes up with an anti-gravity machine and they fit into boots then people will be able to leap tall buildings in a single bound."

    In other words, 'here is a press release promising manna from heaven and that damn flying car I was promised, COOL! I'LL POST TO slashdot! They'll approve anything!'

  76. What about D-BUS? by Anonymous Coward · · Score: 0
    Is there any relationship between messaging services like MQSeries and the new D-BUS protocol in the Linux Kernel? I seem to remember reading that D-BUS, while facilitating kernel-to-process and process-to-process communications on a single box, also allows messaging between processes on different boxes.

    Can anyone elaborate?

  77. Simplified by ad0gg · · Score: 1
    Think of email for applications, when you send out an email(message) and the other server is down, your smtp server (local queue) keep trying to deliver to remote server(far queue).

    Now imagine that type of scenario on steriods. With atomic transactions, xml serialization of objects, custom routing, security, and guaranteed delivery.

    --

    Have you ever been to a turkish prison?

  78. Message Queue System by KidSock · · Score: 1

    Does anyone else get the feeling this "Message Queue System" is about 85% marketing buzz? It sounds like a standard component that might be found in any basic networking software. It's probably ~500 lines of code in any language that has builtin support for condition variables and RPCs (e.g. Java).

    1. Re:Message Queue System by Anonymous Coward · · Score: 0
      No, it's not marketing buzz. Let's see where I've encountered message queuing systems in the past ten years:
      • Banks using message queues to send trades from their front office to their back office. Banks using message queues to send trade and rate information between branch offices and their main office.
      • Database replication is done with message queues.
      • Message queues between a front-end application and SWIFT (payment router) at one of the worlds largest banks.
      • Message queues between components of hospital information systems.
      Message queues have been around for decades. And they are here to stay.
  79. Re:"A suitable open-source license"? by Anonymous Coward · · Score: 0

    I *HOPE* they choose the BSD or GPL. I'm really tired of every group inventing yet another license. Half the time they are poorly worded, they have trap doors, they aren't GPL-compatible, or they are just the same as some other existing license except they replaced the name and move some paragraphs around.

    I also hope "Apache" means "popularity" and not "code base size", "feature set", "security", or "performance."...

  80. AS/400 MQ DataQ by Anonymous Coward · · Score: 0

    We utilize Data Queues on our AS/400's for this.

    Basically, we write output to a data queue on the AS/400.

    When a PC comes along to process that data, it does a destructive read on the data, processes it, and sends the reply back to another data queue on the AS/400.

    We do this with satellite communications, we do this with AS/400 to/from PC communications, and we do this with AS/400 to/from *nix communications.

    The overhead and complexity of using a file is negated by this. We handle many millions of transactions an hour, so it is important to tune this out the wazzo.

    And if any one system is down, the other systems just wait until it comes back online and start talking again.

    V5R1 we are limited to 2GB of queued up data per each queue. They plan on taking this up to TB level, I hear.

  81. This is a joke, right ? by OneSmartFellow · · Score: 1
    Why is JPMorgan re-inventing the wheel ?

    There are already several very good GPL'd Message Queue systems available - they've been around for years - there is even a POSIX standard for message queueing !

    Oh wait, I know, somebody want's a good performance review ! What was I thinking ?

    1. Re:This is a joke, right ? by hpp · · Score: 1

      POSIX message queues are a non-transactional form of Inter-Process Communication. MQ systems are transactional between systems. They solve a very different problem.

    2. Re:This is a joke, right ? by OneSmartFellow · · Score: 1
      A couple of things to think about:

      POSIX message queues are essentially files.

      Files may be opened remotely using POSIX standard remote file access.

      MQ systems do not need to be transactional, although they 'generically' are assumed to be.

      My other point stands, there are already several 'reasonably mature' Open Source Message Queue systems available:

      http://sourceforge.net/projects/ubermq/

      http://wiki.muleumo.org/display/MULEPROJ/Home

      http://sourceforge.net/projects/openjms/

      http://sourceforge.net/projects/phpmq/

      and the list goes on. Also, many message protocols (SMTP, SMS, etc.) could easily be extended to perform exactly the same functionality, hence they fall under the partially implemented Message Queue category. I stand by my assertion that this is an exercise in re-inventing the wheel.

  82. Mule ESB - beyond Messgaing by Anonymous Coward · · Score: 0

    Mule (http://www.muleumo.org) is an opensource messaging framework that abstracts the messaging technologies from components so that transports/proptocols such as Jms, Http, tcp, smtp, pop3, xmpp, soap, multicast, vm, file, etc can all be used transparently to communicate between Mule nodes or external applications. Mule also handles all transaction, routing, delivery and transformation of events across the network. Also, it uses a SEDA processing model that allows for hugely scalable deployments.

    Users of Mule are using MQ Series (Jms), Oracle AQ, JBossMQ, ActiveMQ, Joram, See Beyond and Open Jms and getting the benefit of the other services Mule provides.

    -Ross

  83. Re:The related article about UDDI is more interest by coma_bug · · Score: 1

    The idea of applications seeking out each other, learning about their resources and interfaces, and hooking up and communicating, without any human intervention is fascinating.

    Is it not disturbing , rather?

  84. "Application" != "Middleware" by dananderson · · Score: 1
    Open Source Message Queuing System (OSMQS?) is not an Application. An application is something like Firefox, Gimp, or OpenOffice. It can be started directly by the user to perform some tasks.

    OSMQS can be used by applications, and appears useful (if it is reliable, not over-designed, efficient, and portable to multiple platforms), however it's something you or your grandmother will invoke directly.

    Whether it belongs in the kernel or in userland is another question.

  85. Yawn. by Trejkaz · · Score: 1

    It's not like there aren't several open source message queueing systems around already. But then again, you can't expect Slashdot to notice such things.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  86. Why? by Ratbert42 · · Score: 2, Insightful

    Everyone's asking "Why?" and debating the technical bits. I'll tell you why. So they can get a deep discount on MQSeries from IBM.

  87. See XMLBlaster for message queueing with XML-RPC by jonabbey · · Score: 2, Informative

    It's been out for five years on freshmeat, and supports CORBA, RMI, XML-RPC, nativ socket, or persistent HTTP.

    See the link at http://freshmeat.net/projects/xmlblaster/.

  88. Reading the Book of the Dead? by Anonymous Coward · · Score: 0
    Hunh. According to parent's link...


    [....] Ensemble is actively under development and we will do series of releases over the fall of 1996 and spring of 1997. By early in 1997, Ensemble will be an outstanding environment for building Java-based groupware applications that do multimedia conferencing on the Web.


    Sound like it'll be great Real Soon Now!

  89. First Read As: Open Source Massage Queuing System by Anonymous Coward · · Score: 0

    Get in line now!

  90. OSMQ by xcjohn · · Score: 2, Informative

    There's been a opensource, cross-platform solution for a number of years (shameless plug), http://www.osmq.org/index.html

    --
    ~~~ They call me Little John, but don't let the name fool you...in real life I'm very big.
  91. God knows Wall Street could use more free software by Anonymous Coward · · Score: 0

    because they clearly do not make enough money as is. They are just using this "product announcement" as pressure to lower their licensing/support contract costs with IBM and Tibco.

  92. OMG already has a spec for this - DDS by Anonymous Coward · · Score: 0

    http://www.omg.org/technology/documents/formal/dat a_distribution.htm

    Data Distribution Service.

    Like OMG or not, it is open, and you can build it (there is an open source project started on source forge with no activity yet), and it is an adopted standard. It supports "queueing" via a number of different QoS parameters.

    I haven't read the spec on AMQ, but I'll make a wager that DDS is more powerful, and has more features..plus it can be built for embedded systems, as well as the Enterprise.

    There are a number of commercial implementations of the spec to be released very soon.

  93. freedom is actually free by Anonymous Coward · · Score: 0

    >I really get sick of people whining about how they want free code so they can sell it to other people.

    I really get sick of people parroting that the GPL licensed code is free software.

    Freely licensed code is avaiable for unencumbered redistribution in non-commercial and commericial format without requriing source code distribution.

    1. Re:freedom is actually free by Anonymous Coward · · Score: 0

      So, your beef is just with the name then.

      Well, GPL-licensed software is not free-in-your-sense. In fact, it would be really stupid to make software free-in-your-sense because the creator of that software would not benefit. The GPL ensures that all contributors and users benefit from the software to comparable degrees.

      So, I'm sorry, you are going to lose the battle for the name because the FSF defined it. And you aren't going to get free-in-your-sense software because it would be stupid for anybody to give that to you.

      Do you understand now?

  94. Re:"A suitable open-source license"? by Anonymous Coward · · Score: 0

    Indeed! And if they want to become the Linux instead of the BeOS, they'll have to use the GPL.

  95. Banks don't like proprietary things by Anonymous Coward · · Score: 0

    Hmm.. most banks run their core systems on Minis and Mainframes -- some of the most proprietary things around. Most banks run Microsoft Windows, or MS-DOS (yep!). Most banking software (critical systems) is *extrememly* proprietary and runs on Windows, using Microsoft extensions to standards where applicable.

    I've worked in banking for about 10 years now and that's one of the silliest things I've ever heard.

    The bank I work for wouldn't know what Linux was if you dropped a brick on their head. (Ok, the IT staff actually would know because I've told them, but the rest of the folks are clueless -- they think that Windows *IS* a PC).

  96. If they get that right.. by tuomoks · · Score: 1

    If you don't know what MQSeries can do, don't even think about this. MQSeries ( and on limited functionality MSQ ) are very powerfull systems.
    Now - getting some subsystem that has even a small part of those would be great - it would be a winner (IMHO)! I could use it now for my current project - assuming that our company gets out of this NIH ( not invented here ) mode. I'm good but the time is limited....

  97. Message backing store? by chiph · · Score: 1

    If they plan on offering reliable delivery, they'll need a place to store messages until the recepient is able to receive them. I wonder what they'll use for this -- At the reliability levels that Wall Street demands, I don't think something like MySQL is up to it.

    Chip H.

    1. Re:Message backing store? by hpp · · Score: 1

      Most MQ systems use database technologies at their core. A transaction manager and write-ahead logging, plus an execution manager (watchdog).

      Using some of the more advanced MySQL components for this (InnoDB comes to mind) should be feasible. It might not meet stringent performance requirements - MQSeries can do 1500+ transactional messages per second, sustained.

  98. Once again, OS plays catch-up with Microsoft by Anonymous Coward · · Score: 0

    Seriously, MS has had message queueing built in to the OS for years. When will OS produce something innovative?

  99. Hooray for captain vagueness! by defile · · Score: 1

    What the heck is a Messaging System?

    Just about everything you can do over a network is a messaging system.

    1. Re:Hooray for captain vagueness! by tweek · · Score: 2, Informative

      In the sense of MQSeries and Rendevous, it's exactly what you describe except with guaranteed delivery. I know they sound a bit useless today but it's like transaction support for network communications among other things.

      Let me give you a PERFECT example of how I've seen MQ Series used.

      DB2 has/had (gone with Stinger, I think) something called userexit. This was a compiled program that was called whenever DB2 was in archival log mode.

      In our case, we use a TSM (Tivoli Storage Manager) userexit. When DB2 is ready to archive a log file, it ships the log to TSM and it's on tape. One company I've heard does MQ Series userexits.

      DB2 userexit's to archive the log and ships it to MQ Series. MQ Series breaks it up into smaller chunks (64k maybe? I can't remember) and sends it to a remote MQ Series server. From that server, the logs are stored locally and backed up or used to roll-forward a read-only copy of database.

      The upside is that this remote MQ server is across the country at another datacenter and you know the log files got there and they got there the way they were when the MQ server got them.

      Check this link. I think it's provided the best simple description of Message Queuing I've seen yet:

      http://www.techworld.com/applications/features/i nd ex.cfm?FeatureID=731

      --
      "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
  100. Dumb ass engineers! by Anonymous Coward · · Score: 0

    Another bunch of greedy companies trying to get a free product. Why can't the proponents of OSS understand this simple fact, or is it that they just dont care as long as the leader gets a fat check?

    Lets see... all these financial firms pay a lot for licencing commercial software. They want to drive down the cost, so they band together and pay 2 or 3 times the salery of an engineer to the team lead and average pay for a few other engineers. Another bunch of fools rush in to work for free thinking that they can get some consulting deals later on and continue to work on improve the OSS product. Now they can leverage the commercial software firms saying they are going to switch to the OSS product. They get tremendous leverage from this, at the cost of the jobs of those engineers working for the commercial products. Once these greedy firms get their demands met, they quietly brush aside the OSS product and continue to use the commercial product at a big discount.

    Dont you OSS guys get it? These are the same bullys that called you geeks in high school and college and the same guys that you laughed at for being dumb and going to biz school. Well, look who is the dumb ass now?

  101. Re:I thought that was sendmail? by hpp · · Score: 2, Interesting

    FTP, email and databases can be used to implement low-volume, low-speed message queueing. There's nothing wrong with that - many web-based systems use that.

    Where MQ plays a role is in the high-speed, low-latency version of this. I work with an MQ system that does 1500+ messages per second, transactionally, for prolonged periods of time, with a latency 0.1 second. And this runs on a 4-CPU Linux box.

    MQ solves a different problem than a database. A database allows data updates and multiple readers. In MQ, each message has one reader and there are no updates. These different semantics allow vastly different performance.

  102. now I'm confused by uptoeleven · · Score: 1

    are we talking about IM systems (AIM, MSN Messenger, Yahoo, ICQ, IRC)

    Or are we talking about message QUEUING systems like... erm... MQ

    Used them before - they're way cool. Used to have a bunch of iPlanet & Apache servers talking to weblogic boxes which used MQ to talk to NT boxes running Universe and some thing or other in C somewhere else. There were big drawings and maps on the wall and it all made sense to whoever was in charge but the rest of us just looked on, shrugged shoulders and got on with it.

    Rebooting was the funnest though - having to take down everything so the NT boxes could be rebooted then all the Queues brought back up :)

    MQ - a way to tie multiple tiers of dysfunctional software on inompatible hardware into a big ball of system fluff.

    Yay :)

    1. Re:now I'm confused by JohnFluxx · · Score: 1

      There's not too much difference.
      Jabber can be used as a fairly awesome MQ system.

      Btw, I'm a kde developer, and currently looking at using kopete as a generic message queueing system for games (and other uses). We've also been discussing even running rendezvous/zeroconf over kopete.

  103. Re:Jabber? by Anonymous Coward · · Score: 0

    is jabber XA-compliant?

  104. Not BAM by tek_hed · · Score: 1

    Should'a used Vitria's BAM!

    from http://www.vitria.com/products/platform/bam.html

    Business Analysis and Monitoring capabilities give line of business and IT users unprecedented real-time and historical visibility and analysis of strategic processes and data.

  105. TransactPlus software by dmd · · Score: 1

    I wonder if this software is a descendant of that developed at TransactPlus, a message-queueing-services company that JP Morgan invested in heavily. (I'm a former NOC employee.)

  106. You're kidding, right? by Anonymous Coward · · Score: 0

    Message backing store? It's called a "file" - see also "transaction log". Extra reliability comes from writing it to 2 different disks. What do you think databases use for transactions, anyway?

  107. Re:I bet this really pisses off the copyright expa by Anonymous Coward · · Score: 0

    This is really stupid stand to take. If you leave your financial and personal data out on the street, you take the risk of some one taking a look at it, and using it for something other than what you intended, even if you intend ONLY those who do the same. Grow up.

  108. Re:I thought that was sendmail? by Anonymous Coward · · Score: 0

    0.1 second latency? Surely you mean 0.01 second latency or less. You'd never hit the bid/ask with 0.1.

  109. Eureka! by Anonymous Coward · · Score: 0

    It is now apparent to me that /. has redefined "Insightful" to mean "Talking out of one's ass."

    Here's a clue for you - many of us understand the idea behind messaging. You do not, yet you criticize based on superficial characteristics. You are wrong. You do not understand the purpose, the usage, or the concept at all.

  110. interesting by fuzzy66 · · Score: 2, Interesting
    I think it is great that there is so much new development for messaging products. Last week I looked at ActiveMQ (codehaus) http://activemq.codehaus.org/ Looks like Apache Geronimo will use it.

    At my work, we use SonicMQ, which works pretty well. Its Java based, but has a C and COM API as well as a HTTP Server so you can post messages to it via HTTP. Anybody can write a messaging system, but getting one that fails over, clusters, routes, etc. is a bit more effort.

    I've found messaging based systems to be really enjoyable to work with. They take a lot of thought, but you can massively scale (e.g., the Aggregator pattern). Also, they encourage loosely coupled systems.

    Also, when you use XML as your message payload you can get very good interop (provided you pick a messaging system that provides APIs for the clients you need).

    We tried to make "Web Services" work, but you really need messaging infrastructure (e.g., security, routing, guaranteed delivery). You can get a fairly cheap / robust integration architecture with a decent messaging system and an XML canonical message format.

    It looks like the messaging layer will get commoditized. Looks like trouble for MQSeries, SonicMQ, Tibco, etc. Not sure where AMQ will go, but ActiveMQ is bound to go places since it is a part of Geronimo.

    There is also (well at least on the Java side) an effort to drive standardization up the stack with JSR 208 - Java Business Integration. Its basically a spec for Enterprise Service Bus (ESB) / Service Oriented Architecture.

  111. CORBA by ultrabot · · Score: 1

    CORBA has been simplifying while SOAP has been complexifying. SOAP is now more complicated to develop for than CORBA.

    CORBA is actually remarkably simple to grok if you are not using C++. CORBA bindings for Python are a snap (and esp. omniORB is very very fast), and it never ceases to astound me that CORBA hasn't "made it" in the mainstream. Instead, people think they need web services to "simplify" matters.

    Ah, the folly of humanity...

    --
    Save your wrists today - switch to Dvorak
  112. Been there, seen that... by hughk · · Score: 1
    Writing something like MQ series isn't at all that hard. However, you had better deal with all the special cases and not drop anything.

    I have seen other people's hacks at moving large quantities of data around. Generally speaking, they didn't sequence the data and they managed to drop data between systems. Bit of a shame when you are at a bank and that data represents money.

    --
    See my journal, I write things there
  113. IM is a special case by hughk · · Score: 1

    Actually, the IM model is just a special case application of message queuing.

    --
    See my journal, I write things there
  114. Jabber? by Anonymous Coward · · Score: 0

    How about XMPP/Jabber?

  115. J-EAI by Anonymous Coward · · Score: 0

    The J-EAI project is already providing such tool. It has been published in version 1.0 beta 3. Maybe it does not offer yet all the planed feature of AMQ, but we will improve it over the time.

    It is already multi-platform and multi-languages and based on the XMPP IETF messaging standard (XML based). The architecture is already clustered and can handled a lot of simultaneous connection.

    More details on: J-EAI web page

    I strongly believe that using an XML standard like XMPP is the only way to go to ensure generalized interoperability of application around the integration platform.

    --
    Mickaël Rémond
    Erlang-projects

  116. Re:Jabber? by Anonymous Coward · · Score: 0

    > Since everyone else is laughing at you, I'll tell you why.

    XMPP is an IETF standard for messaging. Jabber with instant messaging is only on possible use, but Messaging systems are other examples (Such as J-EAI).

    --
    Mickaël Rémond
    Erlang-projects

  117. I bet guys who make MQSeries must be nervous by Donny+Smith · · Score: 2, Insightful

    I bet it'll take at least 5 years before this new thing makes any inroads in financial customers, but this must be really scary for IBM's MQSeries folks.

    Things like MQ Series are bread-and-butter of many sales reps as there's no serious competition to their solution - I haven't talked to many banks, but those to which I did all use MQSeries.

    OSS is moving from the edge to the data center, it's already half-way there. Five more years and banks will be able to get 80% of their apps under GPL license.

  118. Re:[Off Topic] Sig by Anonymous Coward · · Score: 0

    Why ZZ when you can C-x C-c? :P

  119. Open Source? by zby · · Score: 1

    Why there is nowhere a link to the source (or even the binary).

  120. ehrm by Stu+Charlton · · Score: 1

    and do they meet the performance requirements? reliability requirements? Nay!

    --
    -Stu
  121. any one have a tar ball for this? by Anonymous Coward · · Score: 0

    I doubt JP Morgan has been using sourceforge to stash their code, but does anyone have the source code or a website with more information for AMQ. It is open source isn't it?