ミドルウェアとは?ミドルウェア の種類や機能を徹底解説
ミドルウェア(middle ware)とは、業務遂行に必要な機能を提供するアプリケーションとコンピュータの基本機能を提供するOSの間に位置し、さまざまな働きをするソフトウェアのことです。
本記事では、Webサーバー、アプリケーションサーバー、データベース管理サーバーなどのミドルウェアの種類を詳しくご紹介します。さらにミドルウェアの役割や機能についても詳しく解説します。
目次[非表示]
- 1.ミドルウェアとは?
- 2.ミドルウェアの種類
- 2.1.Webサーバー
- 2.2.アプリケーションサーバー
- 2.3.データベース管理サーバー
- 3.ミドルウェアの役割・機能
- 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を仲介し、さまざまな働きをすると捉えておくと良いでしょう。
例えば、アプリケーションの起動や停止、監視などの制御を行うほか、データ管理やトランザクション管理、タスク管理やプログラム管理などもミドルウェアの役割です。
ミドルウェアをより理解するために、身近なメール配信について取り上げてみましょう。
メール配信で利用されるミドルウェア
メールを送受信するときに使われるのが、メールサーバーと呼ばれるミドルウェアです。メールサーバーには主に次の3つのサーバーが必要となります。
・SMTPサーバー
メールを送信・転送する役割を担っています。SMTPサーバーは、ユーザーから送信された電子メールを受け取り、送信先となるSMTPサーバーへメールを配信します。
・POPサーバー
メールの受信を担うサーバーです。メールサーバーに保存されたメールを、受信者のパソコンなどへダウンロードする役割があります。
・DNSサーバー
宛先のメールサーバーのIPアドレスを割り出す役割を担っています。SMTPサーバーは、DNSサーバーに問い合わせてIPアドレス(宛先)を取得することで、メールを送信できます。
各サーバーの詳細は以下のコラムをご覧ください。
メールを送受信できるのはミドルウェアのおかげ
ミドルウェアは、PCやスマートフォンを便利に使うために欠かせない存在です。
日常生活でその存在を意識することは少ないかもしれませんが、実は影で活躍している縁の下の力持ちとも言えるでしょう。
毎日のように行うメールの送受信でも、ミドルウェアが機能していることを覚えておくといいでしょう。
まとめ
ミドルウェアについてお分かりいただけましたでしょうか。
ミドルウェアはアプリケーションとOSの中間に存在するソフトウェアで、開発とは切り離せない存在です。
システム開発やシステム運用を円滑に進めるためにも、ミドルウェアの理解を深めることが重要です。
関連コラム