ミドルウェアとは
OSとアプリケーションの中間に入るソフトウェアのことです。
OSは基本機能を備えているものの、動的動的コンテンツやデータ処理など、
システムとして求められる機能は備えていないため、ミドルウェアが必要となります。
ミドルウェアの出現により、様々なアプリケーションが利用する機能を外出しできるため、
効率的な開発と稼働が可能になりました。
ミドルウェアにはいくつか種類がありますが、システム運営側の観点から見ると、2分されます。
アプリケーション寄りのミドルウェアとインフラ寄りのミドルウェアです。
アプリケーション
Web
Apache HTTP Server, Nginx..AP
Tomcat, WebSphere Application Server..DB
MySQL, Oracle Database, PostgreSQL..
インフラ
バックアップ
Arcserve, Backup Exec..ジョブ運用
JP1, Senju..監視
Hinemos, JP1, Senju..高可用性クラスタ
CLUSTERPRO, HACAMP..
ミドルウェアはそれ単体では動作しません。サーバにインストールする事で動作します。
ここではアプリケーション周りのサーバを解説します。
Webサーバ
- 画像や文字などの静的コンテンツの表示
- PHPによる処理結果などの動的コンテンツをAPサーバに要求し結果を表示する
という2つの役割を持っています。
APサーバ
Webサーバからの動的コンテンツの要求に対して、
プログラムを実行してコンテンツを生成し、データをWebサーバに返します。
データベースに関する操作が必要な場合には、
データベースへデータを要求し、返された結果を基にしてコンテンツを生成します。
DBサーバ
APサーバからのDB操作に関する要求に応答し、実行結果をAPサーバに返します。
Web3層構造
ここまで見てきた通り、アプリケーション周りのサーバは
Web、AP、DBと3つの層から構成されています。
以前はAPが存在しない、2層構造が主流でした。
Webサーバで静的・動的コンテンツを一括して処理するため、
メンテナンスのしにくさやタスク詰まりによるレスポンスの遅延が発生しやすい環境です。
3層に分かれる事で、APサーバの故障時、拡張時にもWebサーバへの影響を最小限できます。
これは安定稼働を前提とするシステムにとって、あるべき姿に近づく事を意味します。