[For beginners] What is middleware? Thorough explanation of types, roles, and functions!

Hello.
I'm Kita from Beyond and I've just started playing the popular Pokemon card game.

Last time, I wrote a blog
post about how a server starts up This time, I would like to explain in an easy-to-understand way what middleware is.

This may not be a term you hear often in your daily life, but middleware is actually an essential part for systems to function

This time, we will explain the functions and types of middleware, including illustrations, so that even beginners can understand, so please read to the end

What is Middleware?

First of all, the conclusion is that middleware is what is called intermediate software

As the name suggests, middleware is software that acts as a bridge between the OS (operating system) and applications.
There are many types of middleware, each specializing in a specific function and providing support to the OS and applications.

Let's review some terminology here

What is an OS?

OS stands for Operating System, and is the most basic software that controls the basic functions of a computer.
In other words, it can only provide basic functions, so it cannot provide advanced functions on its own.

What is an application?

An application is
software that allows you to perform practical tasks. It is separate from the OS.

Examples include Microsoft's spreadsheet software Excel and word processing software Word

If we focus more on infrastructure operations,
to infrastructure operations include EDISONE, a reservation management system provided by Beyond

Specific roles of middleware

Now, let's take a deeper look at the reservation system we mentioned earlier

When you think of a reservation system, you probably think of a service used to reserve conference rooms or stores, but that doesn't mean that this can be created using just an OS

When you want to create a reservation system, the first thing you need is an application that provides the reservation function,
which is the program code written by a developer.

However, a reservation system cannot be created with just an application (code); it also needs features such as the ability to display the management screen and reservation information in a browser, the ability to save and manage data at the time of reservation, and the ability to send emails when a reservation is made

When you break down a reservation system like this, you will see that it requires multiple functions.
These multiple functions are implemented on the premise that they use middleware specialized for their respective purposes

The specific functions are as follows:

Web Page = Apache

Store/manage data = Database/MySQL

Ability to send email = Postfix

As such, middleware that fulfills each role is required

Representative middleware

The diagram above shows the most common types of middleware.
A commonly used configuration is Linux (OS) + Apache (web pages) + MySQL (database) + PHP (programming language), which is referred to as LAMP , and servers are often created with this configuration.

①Apache

is said to be
the most widely used web server *Currently, it seems to be competing for the top spot with NGINX, which will be discussed later.

This middleware is widely used for everything from large-scale commercial sites to hobbyist servers built at home

There is a lot of information available online, and it is often used as a starting point for building a server

②NGINX

a web server with the same role as Apache and is used all over the world.
It has more functions than Apache, such as reverse proxying, load balancing, and caching of HTTP requests.

③MySQL

It is middleware called
a relational database management system (RDBMS), as the name suggests, it is responsible for storing and managing databases.

This is also the most widely used RDBMS in the world.
In addition, middleware called PostgreSQL is often used in the same role as a database.

④Postfix

Postfix is ​​a middleware that is often used when building a mail server, and its
role is to send and forward emails

Depending on the requirements, if you need to send and receive emails, it is often used in conjunction with Dovecot, which will be described later

⑤Dovecot

Its role is similar to Postfix, but
it is a middleware that has the function of receiving email via IMAP/POP3

To put it simply, it may be easier to remember that Postfix = for sending email and Dovecot = for receiving email

Overall view

Finally, we will use diagrams to explain and review the concepts

The process can be roughly summarized as follows:

  1. Receives a web page request from the user (Apache)
  2. The application program runs (PHP)
  3. The program collates data from reservation management data (MySQL)
  4. Returning a web page request (Apache)
  5. Send a reservation completion email (Postfix)

The process goes something like this

lastly

So far, we have provided a detailed explanation of what middleware is, its functions, types, etc

There are many different types of middleware, each specialized for different purposes.
Behind the scenes, middleware acts as an intermediate piece of software to help us with the various systems we use every day. Thank you, middleware.

was created with reference to videos from
Nezumi-san's Infrastructure Engineer Dojo, a channel run by our company where you can learn infrastructure knowledge from scratch , so if you're interested, please subscribe and rate it!

If you found this article helpful , please give it a like!
7
Loading...
7 votes, average: 1.00 / 17
1,795
X facebook Hatena Bookmark pocket

The person who wrote this article

About the author

Kita

Beyond picked me up from my part-time job.
Human Resources Department Education Division Infrastructure Engineer
I hate flying insects.