Analogies for Understanding Middleware

A bridge between gaps

If you’re not much of a techie, jargon like the term middleware may be unfamiliar to you. In the technical sense, middleware can be defined as

“…a type of software that serves to link together separate programs”.

Sometimes, these separate programs are complex and were originally not intended to be connected. Some examples of software components that are frequently connected with middleware include enterprise applications (which are large software system platforms designed to operate in a corporate environment such as business or government), and web services (like Gmail). But if you’re still not understanding, fear not; perhaps a few analogies can clear the muddy water and enlighten you.

The Mailman Analogy

When you use a web service like Gmail, there is a whole roller coaster of programs and protocols that are initiated just to deliver that digital mail from the sender, to the server, and then to the recipient. To look at things in non-digital terms, let’s go back to the age of snail-mail and analyze just how mail made its way around compared to today’s email.

“Quality service is key”

Back in the day, a person would have to write a letter— perhaps even by hand if we go back far enough — and seal it up in an envelope, then stick on a postage stamp and bring it to the mailbox just to get the delivery process started — you can think of these steps like various digital protocols that would be performed up to the point of pressing the send button on your email. Then after some time has passed, a mailman would have to come and pick up the mail from the mailbox, deliver it to the post office for categorization and processing, and then bring the mail back out for delivery — the mailman and post office are middlemen in the process, they’re comparable to the middleware between the sender and the recipient. And just to think, prior to the internet we were reliant on the postal service for getting our messages across everywhere!

Starting to get the idea? Yes? Excellent! No? Well, let’s have another…

The Lawyer Analogy

I am pretty sure that unless you’re a lawyer or a judge, there is essentially very little that a layman would know about that law. Aside from your local parking by-laws and a few of the obvious no-brainers — like murder is bad — the law is this almighty, complex, and intangible thing that governs the way we operate, as well as dictates just how equally unfair we are each treated.

Hopefully nothing is lost in translation

With all that in consideration, a lawyer is like middleware that is used to translate the law into something the average day person can consider. The law is akin to the backend coding that happens behind the scenes with web services. That coding is then taken and translated by middleware language and programming, converting the data to a usable interface on the front end. The same can be considered of a judge, who like a lawyer, is the means by which the common person can interact with and understand the law. We as a society are increasingly dependent on judges and lawyers to do their job for the simple reason that without them, we would not know how to interpret and utilize the law to its fullest extent. But in my personal opinion, I think their roles will eventually be digitized too once AI developments progress.

Understanding a bit better? Yes? Perfect, let’s wrap it up with one last analogy then…

The Generational Gap Analogy

The digital divide usually refers to the haves and have-nots, when it comes to technology and access to it. On the global scale, a digital divide is usually caused by a lack of financial resources required to gain access to technology. However, another factor which can cause a digital divide is age.

I can’t lie, it has happened to me too

People from older generations tend to be less tech savvy when it comes to today’s technology of smartphones, tablets, computers, etc. It’s not their fault either, it’s harder to transition into using technology rather than being born and raised on it. Thus my next analogy for middleware is myself! I live at home with my parents and grandparents, and like most people today we own various computers, smartphones and other such technology. However, as we acquire newer and newer technology, I find myself assisting my grandparents more and more with it. I constantly find myself helping my grandmother navigating her new Samsung Galaxy S4, as well as helping my grandfather find the forward button on his chain emails. So in this sense, my grandparents are the front end users and their technology is the backend programming; and me? Well I’m the middleware bridge, linking the two sides of the crevice together. My grandparents have even become accustomed to calling me a member of the Geek Squad. I don’t mind being the middleware, but sometimes it can be frustrating. I guess it’s a good thing digital middleware doesn’t complain.

Myself as middleware

That sums up my analogies for middleware. I hope that if any of you were confused, perhaps now things are a bit clearer. If things are still confusing well then shucks, I guess I’m not as good as at being middleware as I thought I was…