
ミドルウェアとは?種類や機能、役割についてわかりやすく解説!
ミドルウェア(middle ware)とは、業務遂行に必要な機能を提供するアプリケーションとコンピュータの基本機能を提供するOSの間に位置し、さまざまな働きをするソフトウェアのことです。
本記事では、Webサーバー、アプリケーションサーバー、データベース管理サーバーなどのミドルウェアの種類を詳しくご紹介します。さらにミドルウェアの役割や機能についても詳しく解説します。
目次[非表示]
- 1.ミドルウェアとは?
- 2.ミドルウェアの種類
- 2.1.Webサーバー
- 2.2.アプリケーションサーバー
- 2.3.データベース管理サーバー
- 3.ミドルウェアの役割・機能
- 3.1.システムバックアップ
- 3.2.ジョブ運用の効率化
- 3.3.システム管理
- 3.4.非常時での予備サーバーへの変更
- 3.5.メール配信で利用されるミドルウェア
- 3.6.メールを送受信できるのはミドルウェアのおかげ
- 4.まとめ
ミドルウェアとは?
ミドルウェア(middle ware)とは、アプリケーションとOSの間に存在するソフトウェアを指します。アプリケーションとは、それぞれの業務に応じた処理をおこなうソフトウェアのことで、文書制作ソフトや表計算ソフト、インターネットを閲覧するときに利用するブラウザなどもアプリケーションの一種です。
一方で、OSとは、コンピュータの基本的な制御をはじめ、システム全体を管理するソフトウェア を指します。具体的には、Mac OSやWindows OSなどがあります。
OSは広くさまざまな用途や場面で幅広い機能を持っているのに対し、アプリケーションはそれぞれの業務に特化した機能を持っているという違いがあります。その両者の間に存在し、それぞれの役割を補佐するのがミドルウェアです。なお、コンピュータはハードウェアとソフトウェアに分類できます。物理的に触ることができるパソコン本体や周辺機器はハードウェア、そうではないものはすべてソフトウェアと呼ばれます。
つまり、実際に触れることができないシステムやプログラムはソフトウェアに該当するため、アプリケーションもミドルウェアもOSもすべてソフトウェアに分類されます。
ミドルウェアという言葉は、1968年頃に生まれました。ドイツのガルミッシュ・パルテンキルヒェンで開催された 1968 NATO Software Engineering Conferenceでミドルウェアという言葉が登場した後、1980年~1990年代に普及して現在に至ります。
ミドルウェアの種類
ミドルウェアの種類には、「Webサーバー」「アプリケーションサーバー」「データベース管理サーバー」の3つがあります。この3つから構成されるシステムは「Web3層構造」と呼ばれます。セキュリティが堅牢で管理がしやすく、故障の復旧が早いといった特徴があり、多くの大規模システムで採用されています。
ここからは、それら3つのミドルウェアについて説明します。
Webサーバー
Webサーバーは、Webブラウザからのリクエストに応じて静的コンテンツを表示させる役割を持つミドルウェアです。PCやスマートフォンなどでWebブラウザを介して見ているコンテンツは、Webサーバーから集められた文字や画像が表示されているのです。静的コンテンツとは、リクエストに対して常に同じ結果を返すコンテンツのことです。誰がいつどのタイミングで見ても同じ文章や画像が表示されます。静的コンテンツは、HTMLファイルや画像、スタイルシート(CSSなど)などで構成されています。
また、Webサーバーは静的コンテンツを表示させるだけでなく、動的コンテンツのリクエストを受けた場合、アプリケーションサーバーにリクエストを転送し、その結果を受け取ってリクエストに応じる機能もあります。動的コンテンツとは、静的コンテンツと異なり、リクエストするユーザや内容に応じて異なる結果を返すコンテンツのことです。
例えば、オンラインショッピングのWebサイトにログインすると自分の購入履歴やショッピングカートを確認できます。アカウント情報や購入履歴などはログインするユーザによって変わるため、このようなコンテンツを動的コンテンツと言います。
アプリケーションサーバー
アプリケーションサーバーとは、Webサーバーのリクエストを受けてプログラムを呼び出し、情報を処理し動的コンテンツを生成するミドルウェアです。動的コンテンツは、リクエストするユーザや内容に応じて返す結果が異なるコンテンツであることは先に紹介した通りです。
Webサーバーは静的コンテンツを表示させるのに対し、アプリケーションサーバーは動的コンテンツを表示させるという違いがあります。アプリケーションサーバーの代表例には、Tomcat(プログラミング言語Javaで利用)、Unicorn (プログラミング言語Rubyで利用)、Apache(プログラミング言語PHPで利用)などがあります。
ちなみに、マイクロソフトのIIS(Internet Information Services)は、Webサーバーとアプリケーションサーバーの両方の機能を統合したミドルウェアで、静的コンテンツと動的コンテンツの両方に対応しています。アプリケーションサーバーだけでリクエストに対応できない場合は、さらにデータベース管理サーバーにリクエストを出して情報を取得します。
データベース管理サーバー
データベース管理サーバーとは、データベース管理システムが作動するサーバーのことで、「DB管理サーバー」や「DBMS」などと略されます。データベースは、データを大量に保管する役割を持つため、必要に応じて集積されたデータを抽出・編集・共有できる特徴があります。アプリケーションサーバーだけでリクエストに応じられない場合、データベース管理サーバーにリクエストを出してデータベース言語のSQLを利用することで必要な情報を抽出して送信します。
代表的なデータベース管理サーバーに「MySQL」があり、オープンソースのミドルウェアとしてよく知られています。
ミドルウェアの役割・機能
ここまででご紹介した通り、ミドルウェアはOSとアプリケーションとを仲介するために、さまざまな役割を果たしています。その役割について、具体的に見ていきましょう。
システムバックアップ
ミドルウェアは、データやアプリケーション、ログなどのバックアップを定期的におこなうという重要な役割があり、業務の継続性を確保します。システムの運用においてデータは命とも言える存在であり、もしこのデータを損失してしまうと甚大な損失につながります。例えば、ECサイトの顧客情報やネットバンキングの口座情報などが挙げられます。もし、システム障害が発生しデータの消失や破損があったとしても、ミドルウェアによるバックアップがおこなわれていれば復旧が期待できます。
ただし、ミドルウェアによるバックアップ機能は、ミドルウェアの種類や設定によって異なるため、すべてのミドルウェアが同じ機能を持つわけではありません。データが損失してしまう前に、使用しているシステムのバックアップ機能を確認しておきましょう。
ジョブ運用の効率化
システムにおける「ジョブ」とは、定型的な作業のことを指します。具体的には、バックアップやサーバーの再起動、ログの記録などがあります。人間が手作業でおこなうところをミドルウェアで運用することで、負担を大きく減らすことができます。
システム管理
システム障害をいち早く発見するために監視することも、ミドルウェアの重要な役割です。例えば、以下のものが挙げられます。
ノード監視 |
サーバー、ストレージ、ネットワーク機器などの稼働状況 |
リソース監視 |
メモリー、CPU、ディスクなどの使用状況 |
プロセス監視 |
サーバーやサービスの停止の有無 |
ログ監視 |
OSやログの異常 |
これらを監視し、状況によって変更・拡張しながらシステムの正常な状態を維持しています。
非常時での予備サーバーへの変更
ミドルウェアは非常時に備えて予備サーバーに切り替えて維持する役割も担っています。同じ機能を持つ予備サーバーに自動的に切り替えることで、システムの冗長化をはかります。このように障害が起きた際のシステム停止のリスクに備えることができます。
メール配信で利用されるミドルウェア
メールを送受信するときに使われるのが、メールサーバーと呼ばれるミドルウェアです。メールサーバーには主に次の3つのサーバーが必要となります。
- SMTPサーバー
メールを送信・転送する役割を担っています。SMTPサーバーは、ユーザーから送信された電子メールを受け取り、送信先となるSMTPサーバーへメールを配信します。
- POPサーバー
メールの受信を担うサーバーです。メールサーバーに保存されたメールを、受信者のパソコンなどへダウンロードする役割があります。
- DNSサーバー
宛先のメールサーバーのIPアドレスを割り出す役割を担っています。SMTPサーバーは、DNSサーバーに問い合わせてIPアドレス(宛先)を取得することで、メールを送信できます。
各サーバーの詳細は以下のコラムをご覧ください。
メールを送受信できるのはミドルウェアのおかげ
ミドルウェアは、PCやスマートフォンを便利に使うために欠かせない存在です。日常生活でその存在を意識することは少ないかもしれませんが、実は影で活躍している縁の下の力持ちとも言えるでしょう。
毎日のようにおこなうメールの送受信でも、ミドルウェアが機能していることを覚えておくといいでしょう。
まとめ
ミドルウェアについてお分かりいただけましたでしょうか。ミドルウェアはアプリケーションとOSの中間に存在するソフトウェアで、開発とは切り離せない存在です。
システム開発やシステム運用を円滑に進めるためにも、ミドルウェアの理解を深めることが重要です。
著者 メール配信運用、メールマーケティングに関する情報をお届けするコラムです。“知ってるとちょっとイイコトがある”情報を発信します。 |
導入事例はこちら
関連コラム