ミドルウェア(Middleware)

ミドルウェア(middleware)

ミドルウェア(Middleware)とは

ミドルウェアとは、OS(Operating System)とアプリケーションソフトの中間(ミドル)に入って動作するソフトウェアの総称。

物理サーバーに OS をインストールしただけでは、WordPress や Movable Type のような CMS は設置できません。

これらのソフトウェアを動かすためには、Web サーバーソフトやデータベースソフトが必要になります。

このように OS 上にインストールして、CMS のようなアプリケーションソフトを動かすために必要になるソフトがミドルウェアです。

ミドルウェア(middleware)

OSとアプリケーションの中間(ミドル)に入って動作するソフトが「ミドルウェア」

サーバーに関係するものとしては Apache HTTP Server(以下、Apache)、Internet Information Server(IIS)MySQLPostgreSQLSQL ServerOracle Database などがあります。

なぜミドルウェアは OS やアプリケーションソフトとわかれているのか

WordPress のような CMS でウェブサイトを構築し、インターネットに公開したければ、CMS を入れる前にサーバー OS に Web サーバーソフトやデータベースソフトなどをインストールしておく必要があります。

もしもそれらのミドルウェアがアプリケーションソフトに組み込まれていれば、インストールも一度で終わって便利なのに、なぜソフトウェアがわかれているのでしょうか。

ミドルウェア(middleware)

なぜ、ミドルウェアはアプリケーションとは別々になっているのか?

サーバーには複数の CMS をインストールして利用することも珍しくはありません。

例えば 10 本の CMS を利用するときに、Web サーバーソフトやデータベースソフトがその数と同じ分だけ個別に入っていたとしたら、どうでしょうか。とても無駄ですよね。

ミドルウェアが独立していれば、すべてのアプリケーションで Web サーバーやデータベースを共有できて効率的です。

ミドルウェア(middleware)

ミドルウェアが独立していれば、複数のアプリケーションで共有でき、重複もなく無駄がない

このようにミドルウェアが OS や アプリケーションソフトが別になっているのには合理的な理由があります。

ミドルウェアの役割と最適化の重要性

ミドルウェアは アプリケーションソフトからの要求を OS に伝え、OS から返ってきた結果をアプリケーションソフトに返します。

また CMS の事例のように、複数のアプリケーションに共通する機能や処理を提供するのもミドルウェアの役割です。

国内で提供されるホスティングサービス(レンタルサーバーサービス)では、OS やミドルウェアはあらかじめインストールされている(または契約時に指定すれば、ホスティング会社がインストールしてくれる)ことが少なくありません。

そのためミドルウェアは初期設定のままで利用されることもありますが、設定を最適化(チューニング)することにより、サーバーが発揮できる性能が大きく異なります。

例えば、Web サーバーとしては定番の Apache では同時接続数(MaxClients)が設定可能。

アクセス増が予想される場合は、物理サーバーの性能を踏まえて同時接続数を増やしておけば、より多くのアクセスが処理できます(他の設定などとのバランスもあるため、実際にはこれだけ変えればよいというわけではありません)。

ミドルウェア(middleware)

ミドルウェアの設定を最適化(チューニング)することでサーバーが発揮できる性能が大きく異なる

なお共用サーバーは、ミドルウェアがホスティング会社によって管理されているので、サーバー利用者は同時接続数などの設定を変更できません。

レンタルサーバーで利用されているミドルウェアの種類

サーバーで利用されるミドルウェアには、次のようなものがあります。

Web サーバーソフト

データベースソフト

日本ではサーバー OS としては Linux OS の利用が圧倒的に多く、国内のホスティングサービスでも Linux OS が定番。

Linux OS がインストールされたサーバーでは、Web サーバーソフトといえば Apache でしたが、最近では性能の高さから nginx の利用も増えています。

Windows OS 用としては Web サーバーソフトは IIS、データベースソフトは SQL Server の利用が一般的です。

レンタルサーバーでの利用は極めて少ない Oracle Database は、大規模システム向けとして評価が高く、Linux、Windows など複数のプラットフォーム向けに製品を提供しています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です