Modern NServiceBus messaging on IBM MQ
Have you ever used a green screen application backed by an IBM mainframe? Or watched a store clerk try to navigate a green-screen point-of-sale system? One of us authors (we’ll never admit who!) remembers almost taking down an entire call center on one of those systems, but that’s another story. 1
Those apps and systems are about as far away from “modern” as you can get, but they run real business: they move orders, settle payments, and sync inventory. Companies that can’t afford downtime depend on them all day, every day. They carry decades of business rules that are hard to replace and risky to rewrite. So most teams don’t get the luxury of choosing between “old” and “new.” They’re trying to keep mission-critical systems in place while giving developers a better way to build with and around them.
Our new IBM MQ message transport bridges the old and the new. IBM MQ keeps doing what it’s always done well: durable, reliable message delivery. NServiceBus adds a modern programming model and operational tooling that many teams would otherwise have to build by hand: handlers instead of receive loops, built-in recoverability, and visibility across service boundaries.
Read moreOK fine, you clicked, you asked for it! I was a young, enthusiastic software developer maintaining software that told call center operators which company a caller was trying to reach. My colleagues uploaded files from the command line, but I installed WS_FTP, one of the first FTP clients for Windows (It was great, look it up!) on Windows 3.11 and proudly clicked through the mainframe's folders instead. Then I accidentally dragged one folder into another. Whoops. I had no idea which folder I'd moved, so I did the only natural thing I could do: I told no one. The mainframe slowed and slowed until someone investigated and found the misplaced folder. The machine needed a restart, which took four hours. Calls kept coming in the whole time, but with the software down, operators had to answer the phone without knowing which company they were representing.
For a good primer on these two problems, check out our blog post Banish ghost messages and zombie records from your web tier that describes our transactional session feature that you can also use with the IBM MQ transport.