2023本記事ではミドルウェアについて学んだ内容を備忘録としてまとめています。ミドルウェアの基礎知識について簡単に説明していますので、興味がある方は是非読んでみてください。ミドルウェアとは?ミドルウェアは、ソフトウェアの一種で、OSとアプリケーションの間に入って両者を補助するものです。OSでもアプリケーションソフトウェアでもできない複雑な処理を行うソフトウェアになります。複雑な処理についての具体例は、以下で解説していきます。ミドルウェアについて理解するには、OSとアプリケーションについても知っておく必要があるので、よければソフトウェアの解説記事もチェックしてみてください。【基礎知識】ソフトウェアとは?本記事ではソフトウェアについて学んだ内容を備忘録としてまとめています。続いてミドルウェアの種類と具体的にどういった処理を行っているかについて説明していきます。ミドルウェアの種類を見ていきましょう。・WEBサーバ・アプリケーションサーバ・データベースサーバ以下で1つずつ説明していきます。WEBサーバとはWEBサーバとは、WEBブラウザからのリクエストに応じてHTMLファイルや画像などのWEBサイトのデータを送るためのサーバを指します。他のサイトではよく静的ページを返すのがWEBサーバだという説明がありますが、静的か動的かはプログラムによってWEBページが生成されているか否かで判断できます。例を挙げるとWEBサイトにある検索機能は検索欄に入力された文字と合致するタイトルの記事を探すプログラムが実行されるので動的と言えます。一方でプログラムが実行されることがなく、HTMLファイルや画像をそのままWEBブラウザに返す場合、そのページは静的ページとなります。ちなみに現在のWEBサイトは、動的ページが一般的となっています。有名どころのWEBサーバとして、NginxやApacheなどが挙げられます。アプリケーションサーバとはアプリケーションサーバとは、プログラムを動かすサーバを指します。先ほどWEBサーバは、静的ページを返すサーバと説明しましたが、アプリケーションサーバは、動的ページを生成するためのサーバと思ってもらえばいいでしょう。処理の流れは上記の画像のように、WEBブラウザからプログラムを動かす必要があるリクエストが来た場合、WEBサーバがアプリケーションサーバに処理を要求します。アプリケーションサーバで処理が行われ、その結果をWEBサーバに返して、最終的にWEBブラウザにリクエストの結果が返されます。有名どころのアプリケーションサーバとして、Tomcat(Java)やUnicorn(Ruby)、Gunicorn(Python)などが挙げられます。データベース(DB)サーバとはDBサーバとは、システムで取り扱うデータを一元管理し、データの保存や更新、削除などを行うサーバを指します。ブログの記事や掲示板への書き込み、コメント等は、全てデータベースで管理されています。この記事もどこかに存在するデータベース管理サーバに要求して返ってきたデータ(記事)を表示しているわけです。Databaseなどが挙げられます。運用ミドルウェアについて上記で紹介したミドルウェア以外に運用ミドルウェアなるものがあります。これはOS上に存在しますが、アプリケーションを必要とせず、それ自体がアプリケーションとして機能するミドルウェアです。運用ミドルウェアの種類を見ていきましょう。クラスタ以下で1つずつ説明していきます。バックアップとはバックアップとは、データの状態をコピーして、問題発生時の復旧に備えることを指します。システムを運用する上で、データは非常に重要な要素です。この記事もどこかのDBサーバに保存されているデータをなわけで、この記事のデータが消えてしまったら記事が一生見れなくなります。この記事がなくなってもどうってことはないですが、ECサイトの購買情報やネットバンキングの口座情報など消えてはいけないデータもあります。そのため、上記の画像のようにデータのバックアップを行って、もしもの時のためにデータのコピーを控えておく必要があります。ジョブ運用とはジョブとは、ユーザーがコンピュータに依頼する仕事の単位です。システムを運用する中でログの取得やバックアップなど、様々なジョブが実行されますが、これらをその都度手動で実行する場合、負担も大きくなります。そこで、運用ミドルウェアにこれらのジョブを任せる、というのがジョブ運用です。スケジュールや処理手順を決めることで、ジョブ運用を自動化できます。監視とはシステムを運用する上で、異常がある場合はいち早く検知して、問題を解決する必要があります。監視のための運用ミドルウェアは以下のようなものが存在します。高可用性クラスタとは高可用性クラスタとは、サーバ冗長化に使用されるミドルウェアです。サーバ冗長化とは、「同じ機能を持つサーバをあらかじめ複数台用意する」ことになります。複数台用意するのは、非常時のためで、もしもの時はサーバを予備のものに切り替えます。まとめ今回はソフトウェアの基礎知識をご紹介しました。最後に今回お伝えした内容をもう一度振り返っていきたいと思います。本記事のまとめ・ミドルウェアとは、ソフトウェアの一種で、OSとアプリケーションの間に入って両者を補助するもの。今後他にも気になる言葉や技術について当ブログでまとめていきたいと思います。お手すきの際に確認してみてください。