ビジネス・マインド関連

ミドルウェアってなに?Web、AP、DBの3層構造についても解説!

パソコンを購入すると、Macやwindowsといったosが最初から設定されているかと思います。このosはパソコンで何か作業をする上での基本動作しかできないソフトウェアです。これに様々にソフトウェア、例えばワード、エクセルといったものを足していくことでいわゆるパソコンが使える状態になります。この時、「ミドルウェア」をインストールすることで特定の作業や複雑な動作がパソコン上で可能になります。
この「ミドルウェア」の役割とはいったい何でしょうか。初めての方でもわかるようにご説明したいと思います。


ミドルウェアってなに?

ミドルウェアとはちょうど、OSとアプリケーションの中間に位置するソフトウェアで、様々なアプリケーションに対して特定の機能を提供する役割を担っています。
例えば、パソコンを購入したら、そこにwindowsがすでに入っています。ただ入っているだけではパソコンを使って作業が出来ないので動作させるためのアプリケーションが必要になります。そのアプリケーションは単純なものもあればネットワーク上の他のサーバーやデータベースとのやり取りなどで面倒な手続きを必要とするものもあります。
このやり取りの手順や管理を動作項目ごとに分類し一つの機能管理パッケージにしてまとめた補完的なソフトウェアのことをミドルウェアといいます。

Web・AP・DBはどんな役割を担っているの?

ミドルウェアはOSそのものではなく、あくまでアプリをスムーズに動かすために必要なソフトウェアです。実際にはWebサーバー、アプリケーションサーバー等、〇〇serverという名前が付いていることが多いです。従ってミドルウェア単体で機能することはなく、サーバーにインストールして初めて機能するものです。

ここではWeb・AP(アプリケーション)・DB(データベース)でのミドルウェア(〇〇サーバー)の役割を1つずつ見ていきましょう。

Webサーバー

Webサーバーは、ユーザーのコンピュータ上のウェブブラウザから送られたなんらかのリクエストに対し、HTMLや画像などWebページを構成するコンテンツを送信するものです。

つまり皆さんからのリクエストに応じて、「静的コンテンツを見せる」「APサーバに動的コンテンツを要求し、返ってきた結果を見せること」とが主な役割です。

静的コンテンツとは、Webサーバ内のディスクに保存されているような、誰がいつみても同じものです。
これに対し、動的コンテンツとは、例えば銀行のマイページ等、見る人によって内容が変わるといったものです。

APサーバー

APサーバー(アプリケーションサーバー)は、webサーバーからの要求によりアプリケーションを実行して動画コンテンツを生成します。さらに必要であればDBサーバーに要求して返ってきたデータを加工して「動的コンテンツに埋め込む」こういった作業も行います。

APサーバー内ですでに蓄積されているデータであれば、そのままクライアントからの要求に応えることで問題ありませんが、蓄積されていないデータに関する要求であればDBサーバーに要求してその結果をクライアントに返すということになるという意味です。

例を挙げると、APサーバーに青色が見たいと言えば青色を返すことが出来ますが、青と赤を混ぜた色を見せてとリクエストすると、そのデータがAPサーバー内に存在しない場合、これをDBサーバーにリクエストし、その結果をクライアントに返すといった動きをすることになります。

DBサーバー

DBサーバーはデータベースのことです。データベースというと何か大量のあらゆる種類のデータを保存している場所のようなものを想像すると思いますが、データ保存は「ストレージ」の役割です。DBサーバーはストレージに新たなデータを書き込んだり古くなった情報の更新をするポジションです。

3層構造が採用される理由

ではなぜ、webサーバー、APサーバー、DBサーバーと異なる役割の3種類の3層構造使用になっているのでしょうか?
理由は大きくは2つあります。

1つはセキュリティです。DBサーバーには重要な情報が蓄積されていますからここに直接アクセスしてしまうとハッキングによる情報の流出の恐れがあります。他方で3層にしていることでいわばカギのかかった扉が3つある状態となり情報の安全精度が増すのです。

2つ目は管理のしやすさです。役割を3つに分けることで何か問題が起こった場合でもどこで問題が起こったのかということをその役割から判断することができます。全てのサービスを停止する必要がないので、これもメリットと言えるでしょう。

まとめ

普段ユーザーにとって当たり前のように使用しているミドルウェアですが、とても大切な役割を担っていますよね。
ミドルウェアの3層構造への理解が深まると、あなたが何かのコンテンツを見るたびに、この静止画は自分からどこに情報がリクエストされて見ることができているんだな、などと考えることもあるかもしれません。
自分の使っているシステムがどのような経緯を経て今目の前にあるのかといったことを考えてみるのも面白いかもしれませんね。

コメントを残す

*