【ミドルウェアとは】ミドルウェアを知らずして、Web系エンジニアにはなれない!【Webサーバ・APサーバ・DBサーバ】

ITインフラ

この記事の最終更新日: 2020年11月27日

ミドルウェアとは

ミドルウェアを知らない新人時代

みなさんこんにちは。daigoroです。
私は情報系大学を卒業後、新卒でWeb系エンジニアになりました。
しかし、大学ではC言語を少々学んだ程度でWeb系の開発知識は一切ありませんでした。
研修では覚えることが多すぎて、いっぱいいっぱいの状態でした。
その中でも特によくわからなかった知識の1つがミドルウェアでした。
当時の開発言語はJavaで、当然の様にApachやTomcat(ミドルウェア)を使ってはいました。
しかし、これらがミドルウェアという名前らしいということ以外はほとんどわかっていませんでした。
今考えると恐ろしいです。
今回はそのミドルウェアについて解説していきます。

Webアプリ開発といえば、どうしてもプログラミング言語やコーディングばかりが脚光を浴びがちですが、
インフラについて最低限の知識を持っていないとどこかで躓きます。
私はいたるところで躓きまくって現在に至ります。

今回は皆さんに躓いてほしくないという願いと、
もう躓いてしまっている方には早めに立ち直ってほしいという思いで、
この記事を書きました。

ミドルウェアとは

ミドルウェアとは、OS(オペレーティングシステム)とアプリケーションの中間的な処理を行うソフトウェアです。
OSとアプリの中間(middle)にあるソフトウェアと覚えるとよいでしょう。

ミドルウェアとは

OS(オペレーティングシステム)は、パソコンをパソコンとして動かすための基本的な機能しかありません。
アプリケーションを運用する場合、サーバ用のパソコンを準備して、そこにアプリを実装しますが、
OS(オペレーティングシステム)はユーザーからのリクエストに対して、レスポンスする機能を持っていません。
ユーザの入力情報をデータベースに登録・更新・削除・閲覧する機能も持っていません。
パソコンに作ったアプリケーションを入れるだけでは、動いてくれません。
そこで必要になるのがミドルウェアです。
ミドルウェアはパソコンをサーバとして機能させるために必要なソフトウェアなのです。

ミドルウェアなしの場合
ミドルウェアあり

Webアプリ開発において基本的な3種類のサーバ

Webアプリ開発において、基本的に3種類のサーバがあります。
それぞれ、Webサーバ、AP(アプリケーションサーバ)、DB(データベース)サーバといいます。
ということは、Webアプリを開発するためにはこの3つのサーバを準備する必要があるということです。
さらに言うと、3種類のミドルウェアをインストールする必要があるということです。
それぞれのサーバの役割については、別の記事で紹介します。

このようにサーバを3つに分けることを、Web3層構造と呼びます。
やろうと思えばひとまとめにもできますが、
それぞれの役割をしっかりと分けて開発を行うことで、セキュリティ面で優れ、
改訂もしやすくなります。

おわりに

以上がミドルウェアの基本になります。
プログラミング言語やデータベースによって、
使用するミドルウェアも変わってきます。
ひとつずつゼロから自分で準備するのは非常に大変ですが、
パッケージとして簡単にインストールできる、パッケージソフトウェアがあったり、
最近ではAmazonAWSやMicrosoftAzureなどのクラウドサービスのおかげで、
簡単にインフラを準備することができます。(以下の記事参考)


便利な時代ですが、応用は基本の知識があってこそなので、
基本をきちんと押さえることは大事だと思います。

コメント

タイトルとURLをコピーしました