What is middleware? This is a wordle word cloud of the wikipedia definition of middleware - you'll see the word itself featuring fairly prominently, along with applications, software, distributed, network, services and so on... Think of middleware as a child growing up... It used to crawl and drool and couldn't look after itself but now it's learnt to cook and it's got a job and has moved out of the family home.
Here's what it got up to at university...
Talking of the family home... if you're buying a house how can you tell which of these 2 houses has recently been replumbed and rewired? You can't tell from the outside, it's only once you're in there living in it and you rely on the toilets to flush and the lights to work when you need them to. Without fail or flood. You can't tell can you? Interesting.
So to bring it into our world here are two application screens... Which of these two applications has the best middleware? Can't tell? Same story. Middleware is plumbing. It's wiring. It's that behind the scenes stuff that you can spend a fortune on but have very little - shiny new taps or swanky light switches - to show for it.
And I'm not talking here about slapping some flashy taps or modern light switches on a dogs breakfast of a plumbing setup or a 1950's wiring loom - I talking about the fact that all that plumbing and wiring work you do is unseen. It's only by putting a face on the work that you've that you get to see something for all your hard work.
Another analogy here for all this behind the scenes work is the Arnotts biscuit factory at Huntingwood. You look at the back dock and you see all the ingredients arrive, flour, chocolate, butter and so on... and those ingredients go through all the machines and rollers and belts and ovens and mixers the factory and you don't see any of that... and then tim tams come out at the other end - 3.8million tim tams a day if you're interested in that sort of thing.
In our case it's all about this... Measurement. This is our tim tams. Linking together the hundreds of important systems you have, moving data between them quickly and easily is all well and good, but so what? This is the pay-off. This is the value. Peter Drucker said, "If you can't measure it, you can't manage it". Real time visibility. Real time management, monitoring, alerts, notifications of your KPI's now. Not at the end of the day. Not at the end of the month. Now. No matter if you are in business or IT. Or what business you are in the business of -finance, telco, manufacturing, construction, public sector, health, education, transport and travel - your KPI's now. This is the shiny new taps. This is the outward sign of all you've spent. All the time and effort you've put into the wiring. Into the plumbing. I saw Monty Sooter who at the time was CIO of Corporate Exoress present at a conference a few years ago.As you can imagine Corporate Express have a highly automated supply chain from you as a customer on the website all the way through their internals and back end systems and processes. And he had this to say about real time measurement, real time monitoring, He said that if something goes wrong in their business - as it does, they get things wrong in pricing and inventory and so on - it can go wrong quickly. In his words, "If you're going to shoot yourself in the foot, don't do it with an automatic weapon". In other words, things will go wrong, finding out about them in real time is crucial.
Middleware - in some form or another - has probably existed since we decided that the second computer needed to talk to the first computer. The term itself was coined in 1968 and my first job in 1988 was writing mainframe interface programs to expose all the information locked away in mainframe data as meaningful to business people. But 1998 is getting us a bit ahead of ourselves...
So we had our mainframes and they served us well, but we wanted to do more. And we wanted to more on our own desks. And we moved away from having dedicated greenscreen terminals on our desks that only let us access programs running on a mainframe in a datacentre somewhere and got things like this on our desk. A machine that had local computing power, that we could load programs like spreadsheets on to, that could do 'stuff'. Middleware was still really only a toddler though at this stage. It was walking, but was pretty unsteady on its feet - would still crash into things.
We then put something else in the middle. Something between the desktop PC and the mainframe silo. A server. This gave rise to client/server, and client/server really gave middleware a growth spurt. Now middleware is going through it's difficult teenage phase. It's having to leave behind some immature notions and face up to its responsibilities. Things like being reliable. Doing stuff on time and to deadlines. Guaranteeing that it does what it says it does it - comittment (to a transaction in our case). And it's being tested. It's doing its HSC here. Organisations are building systems that rely on middleware to work. Booking an airline ticket. Making a phone call. Paying a bill at a bank. All of these things start to rely on middleware through the 1980's and into the 1990's. In 1987 Dale Skeen published a paper called, "Reliable Message Diffusion" out of the IBM Almaden Research Center. In 1992 IBM released MQ Series. The MQ standing for Message Queueing. And this was pretty groundbreaking. This introduced the concepts of asynchronous-ness, or store and forward, or queueing to applications that we used our computers. Systems were able to store work up for us users and process it later - rather than us sitting around waiting for all that hard work at the back end to get done before we could continue working on our, now colour, desktop PC's - OK, maybe we didn't all have colour.
This was what WordPerfect (remember that anyone?) Looked like on my first desktop PC back in 1988. I had Harvard Graphics too. It wasn't until Windows 3.1 in 1992 that I got a colour PC on my desk. In 1993 Skeen, who went on to be a co-founder of TIBCO and later Vitria, patented an apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes.
Something else had been happening at this time as well... Here's my fictional calendar from a CERN employee for August 1991. On 6 August 1991, CERN, a pan European organisation for particle research, began to publicise a project called the World Wide Web. The Web was invented by English scientist Tim Berners-Lee in 1989. The internet - as we know it today - was here. Now the technology behind the internet, and the network itself - had been around since the late 60's - but the work that Berners-Lee had done, the work that CERN was now going public with, really gave us the internet that we know and love, and some of us perhaps love it a bit too much, today. Now middleware is at university, studying hard, learning lots more, and ready to graduate. Ready to join it's older and better known brothers and sisters (software and hardware) in the working world.
The internet explosion, and the rise and rise of Java led to the advent of application servers. Software processes that ran on the physical servers in the middle tier. And these software processes, these application servers hosted applications, interacted with databases, dealt with requests from clients, made transactions work against other back end systems, managed the security of users logging on and interacting with the application, and talked to each other. And that's where we get to middleware in the adult world. Queues, transactions, databases, documents, services, messages. Managed, audited, controlled. Reliable, available, secure. Middleware is that platform for innovation and middleware does what no single application can do. No single application can ever have all the information about a customer or an order or a shipment or a claim. Only middleware can do that. And middleware does that because it's everywhere. It's in the gaps between all of the applications that you have. It's filling the whitespace. It's moving your data around your businesses meeting the needs of your businesses, aligned with your businesses. And because middleware is the only piece of software in your organisation that can do this it becomes the platform for innovation. If you want to innovate your business processes around a customer or an order or a shipment or a claim then you have to be acting on those objects everywhere they are - not just in a single application but in every part of the process in every part of the business.
Now here is the most grown up middleware that we've ever seen. It's comprehensive, integrated, open and hot-pluggable, and best of breed. OFM 11g. Here's some stats around this release; there were 1,987 Individual Development Projects featuring 5,420 Customer Driven Enhancements. It took 7,350 Person Years of Engineering spent across 3,500 Oracle Application Developers. And underwent 13 Million Hours of Automated Testing including 1.4 Million Hours of Stress & Cluster Testing with 52,000 Automated Test Suites running 220,000 Individual Tests run Nightly.
So what does all that mean? Well it means if you ran all those tests as an individual - that 13 million hours - you would have had to start 1488 years ago. That takes you back to the year 521.
So what does all that mean? Well it means if you ran all those tests as an individual - that 13 million hours - you would have had to start 1488 years ago. That takes you back to the year 521. Now there's not much notable on wikipedia about the year 521 other than this bloke - St Columba - was born. and this is what you'd have looked like if you were running your test scripts back then.
7350 years of development? Well again, if you took that on as an individual you would have had to start a long time ago. A long long time ago in fact...
This far - back to the invention of gunpowder? Not far enough... The Chinese are generally accepted to have invented gunpowder in the 8th century AD...
This far? Ancient Greece? Nope still not far enough... The Parthenon pictured here, the ultimate symbol of Classical Greece was built in 4th century BC
How about this? The pyramids of ancient Egypt... Sorry, nope. Still not far enough. In fact, you would have had already got about 3000 years of development work under your belt. Because the great pyramids were built around 2560, and if you wanted to be finished today you would have started your 7350 years work in 5341BC. Right about the same time as the plough was introduced in Europe, the Water Buffalo was domesticated in China, the wheel is developed in Mesopotamia and India... and my personal favourite - beer brewing is developed. That's all from me for today, I'll leave you with middleware all grown up, middleware as the platform for innovation. Thanks for your time.