Middleware...WTF is it?
Tags: basics
Published: 2019-11-27 04:31:54

---
title: Middleware...WTF is it?
published: true
description: As I dive deeper into the world of programming I find it helpful to define recurring terms and concepts to better understand its nature and as such dive deeper into its briny, bloodshot, caffeine addled, morning-breath flavoured depths.
tags: #basics
---

######A SMKPCPTBCADeeDive into Middleware indeeeed ... What ever the ferck° that is.

####MiddleWare for the 30th time...

So as I began my journey into programming I first came across the idea of middleware when I was learning about Ruby and jumped head first into the world of full stack with Rack. I had no Idea what it was or what it did. I was just downloading , typing, clicking, following along n such. So to add clarity to my understanding I looked into Middleware and came across [Introduction To MiddleWare: Web Services, Object Components and Cloud Computing](https://books.google.com/books?id=AZgnDwAAQBAJ&pg=PT45#v=onepage&q&f=false)by Letha Hughes Etzkorn.

She began to expand my understanding of this integral technology and summed up the nature of Middleware well when citing major contributors to its establishment in this following quote: 

First of all, according to Oracle:

Middleware is the software that connects software components or enterprise applications. Middleware is the software layer that lies between the operating system and the the applications on each side of a distributed computer network. Typically, it supports complex, distributed software applications.
 
The following definition for Techopedia (2016) is more comprehensive:

Middleware is a software later situated between applications and operating systems. Middleware is typically used in distributed systems where it simplifies software development by doing the following:

-Hides the intricacies of distributed applications.
-Hides the heterogeneity of hardware, operating systems, and protocols
-Provides a set of common services that minimizes duplication of efforts and enhances collaboration between applications

The following definition from Apprenda (2016) is also good to use in the context of this textbook because it clarifies that in todays world, cloud computing is also considered to be part of middleware:

A simple middleware definition: software that connects computers and devices to other applications. It can also be referred to as the slash or connecting point in client/server. Another way to define middleware is to say that it is software that acts as a liaison between applications and networks. The term is often used in the context of cloud computing, such as public or private cloud.
" (4-5, Ektorn, L. H., 2017).

As you can see from this one quote alone middleware is more than just a small cog in the big machine that is any program. It is the fabric that holds an entire program together. It is the software that communicates between all of the different devices that make up a network. It is the language in way of the internet of things. From Intranet to Internet Middleware connects it all.


°If anyone cares to read this footnote I'd be ecstatic if you would so kindly message me about your take on swearing in blog posts. I was considered a sailor of sorts at one point and swore like one before then. I still do but to my bests judgments solely when appropriate. Anyway I'd be much obliged. 

Citation:

Etzkorn, L. H. (2017). Introduction to Middleware: Web Services, Object Components, and Cloud Computing. CRC Press. pp. 4–5. ISBN 9781498754101.