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."

75 of 350 comments (clear)

  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 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
    2. 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.

    3. 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....

    4. 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).

    5. 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.

  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.

  3. 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 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
  4. Article summary by wdd1040 · · Score: 5, Funny

    Buzzword buzzword buzzword, incorrectly used terminology, buzzword buzzword.

    --
    wdd
  5. 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 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
  6. "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: 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?

    3. 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.
    4. 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?

    5. 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.

    6. 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.
    7. 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.
    8. 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.

    9. 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
    10. 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.
    11. 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.
    12. 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?
    13. 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

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

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

    15. 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.

    16. 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.

  7. 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...

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

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

    John.

  9. 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.

  10. 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 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.

  11. "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
  12. 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?

  13. 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
  14. 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.

  15. 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.

  16. 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.

  17. 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.
  18. 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.
  19. 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
  20. 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.

  21. 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.
  22. 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!

  23. 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
  24. 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.

  25. 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.

  26. 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 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
  27. 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.

  28. 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.
  29. 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

  30. 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.

  31. 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.

  32. 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
  33. 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.

  34. 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."
  35. 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.

  36. 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.

  37. 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

  38. 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.

  39. 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/.

  40. 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.
  41. 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.

  42. 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"
  43. 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.

  44. 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.