So how many articles or blog posts have you read that have something to say about Enterprise Messaging Middleware, yet also are about beer? This might be the first one, although that is probably a shame as certainly most coders I know like a decent beer every now and again, or perhaps more often than that. But the spark for this post was when I was putting the weekly shop away this weekend.
We order online from Ocado, and I had ordered a dozen bottles of real ale, which I do every 2-3 weeks. I don’t order any specific ones regularly, as I just see what is on offer and buy them. To me bottles of ale are fungible goods. On the whole most of them will be fine, so I will just buy whatever is on offer, and the next time I will buy whatever is on offer. Some I might like better than others, or might go better than others with a particular meal, but on the whole there is no reason, give the wide enough choice, to buy anything other than the ones on offer. Even if Ocado have to substitute on the delivery, pretty much anything will be fine.
But how widely does this this apply? Is everything fungible? Or is ale different? Does it help that we are only talking about items which are typically (on offer) 3 bottles for £5? How about messaging systems, given they are also close to my heart? There are certainly lots of choices in the market today. Some which are focused on the enterprise market. Some are focused for cloud deployments. Others make virtue about being open source, or standards-based, and so on. All in all we could probably imagine them sitting on a Supermarket shelf next to one another, with colourful packaging, trying to tempt you into making a purchase.
Let’s consider an example from consumer packaged goods again – tomato ketchup. There was an interesting article, from nearly 10 years ago in The New Yorker, on Tomato Ketchup, written by Malcolm Gladwell. He contended that Heinz Ketchup is an example of what is effectively a non-fungible product. A product that people would not want a substitution, as it is the only satisfactory option. He even compared it to other markets, such as mustard or pasta sauce which have been disrupted through greater choice, but nothing has done so to Heinz Ketchup – it was, in effect, a Platonic ideal product.
So let’s look at Enterprise Messaging. What is it there to do? Why do you use it to move data? You use messaging to connect your enterprise applications with reliability and security. You are probably looking to move the data without any noticeable delay, to keep your applications simple, and to ensure that it works well from a development and test point of view, but also as you scale up your production deployment, and offers you high availability in the form of a failure.
When Malcolm Gladwell was writing about ketchup he was able to give examples of people doing customer taste tests, of rival products which claimed to be better, of careful and scientific analysis, but the market has for years spoken clearly, and people just keep buying Heinz. There were some examples given of other sauces with different formulas, that people might like, but none of them has stood the test of time. Maybe there were flaws in their product. Maybe it didn’t have a good shelf life. Maybe it responded badly to heat, or cold. Maybe the flavour profile only really worked with some types of other foods, or clashed with typical meal drinks. Either way it is very difficult to beat a product which is actually that good in its market. A product that has stood the test of time. And yet they have undoubtedly evolved the product. I am sure it is lower in salt and sugar than before. And certainly I prefer the squeezy bottle to repeatedly hitting the bottom of the glass bottle. I personally have on occasions bought other ketchups – typically store own brands. But yet I choose Heinz. Would I like to have substituted product? No.
So does this have anything to do with WebSphere MQ and the Enterprise Messaging market? Well I would contend that just as Heinz has had to make ketchup that appeals to the widest possible set of people, eating the widest possible range of meals. And despite peoples’ appetites changing, they continue to be the top choice. And WebSphere MQ has been around for 20 years. If you look at the middleware message market, and customer needs over the years, then both have changed. But MQ has changed over the years. It still delivers the same ‘taste’. It is still used in the widest range of ways. And it is still the most widely deployed Enterprise Messaging product bought and deployed by companies all over the world. Is it fungible? If you are looking to move data around your applications in your enterprise, across multiple systems, multiple users, varying security requirements and your business needs to rely on this data being moved, knowing it has been moved once and once only, is this something you want to leave to chance? Would you be happy with any old messaging system? How fungible is your enterprise IT? I would suggest that at least with Enterprise Messaging, it is something you want to choose, and choose well. More and more IT systems are selling themselves as commodities. They are almost selling themselves on their lack of differentiation. And yet you have to know, when you are buying something, that you know what you are buying. Would you take a random selection of items in your shopping basket? Or do you want a choice? Would you deploy your IT to a cloud solution that has a random set of technologies, or do you want to pick the solutions that you actually want to run your business, whether on the cloud hardware or on-premise.