ミドルウェアとは
システム系の知識があまり無い人にとって、「ミドルウェア」は馴染みのない言葉かもしれません。それでは、ミドルウェアの概要を見ていきましょう。
アプリケーションとOSの中間に存在するソフトウェア
ミドルウェアとは、コンピュータを構成する要素の一つで、処理を行うアプリケーションと制御をするOSとの間に存在するソフトウェアのことです。
コンピュータの構成要素は、以下のように階層上に並んでいます。
- ■アプリケーション
- ■ミドルウェア
- ■OS
- ■ハードウェア
アプリケーションは業務の遂行に特化した機能、OSは汎用的な機能を担います。しかし、求められる機能の中には、アプリケーションの機能ほど具体的ではなく、OSの機能ほど汎用的でないものもあります。それを担うのが両者の中間に存在するミドルウェアです。
開発ツール の製品を調べて比較
資料請求ランキングで製品を比較!
今週のランキングの第1位は?
play_circle_outline
特定の処理や動作を行えるようになる
OSは基本的な機能しか持たないため、それだけでできることは多くありません。ミドルウェアがあれば複雑な処理が実現します。たとえば、サーバやデータベースとのやり取りはミドルウェアが担います。
アプリケーションが作動する土台となる点ではOSに近い存在と言えるでしょう。しかし、OSほどの汎用性はなく、特定のアプリケーション分野に重点を置いています。
ミドルウェアの種類
続いて、ミドルウェアの種類を見ていきましょう。
Webサーバ
Webサーバはブラウザからのリクエストに応じてWebページを送信するミドルウェアです。リクエストされたコンテンツが静的なものであれば、それはWebサーバ内に保存され、常に同じものが送信されます。
一方、動的コンテンツをリクエストされた場合はその都度アプリケーションサーバに要求します。動的コンテンツにはECサイトのポイントやショッピングカートの中身などがあり、これらは変動するためです。
アプリケーションサーバ
アプリケーションサーバはWebサーバからのリクエストに応じ、アプリケーションによって動的コンテンツを生み出すミドルウェアです。アプリケーションはJavaやPHPなどの言語で作成されます。
アプリケーションサーバのアプリケーションだけでリクエストに応じられない場合は、データベース管理サーバにリクエストします。たとえば、データベースに保存されている顧客データが無ければ答えられないリクエストを受けた場合などです。
データベース管理サーバ
データベース管理サーバとは、データベース管理システムが作動するサーバのことです。
データ自体はデータベース管理サーバに保存されているのではありません。あくまで、ストレージから必要な情報を取り出したり、書き込んだりするのがデータベース管理サーバの役割です。
データベース管理サーバはアプリケーションサーバからリクエストを受けます。そして、データベース言語であるSQLを利用して必要なデータを抽出し、求められた情報を送信します。
ここまでに紹介してきたWeb・アプリケーション・データベース管理サーバからなる構造を「Web3層構造」と呼びます。セキュリティの高さや管理のしやすさから、大規模システムで広く採用されている方式です。
システム運用で使われる「運用ミドルウェア」の役割
ミドルウェアはOSとアプリケーションの中間的な存在です。しかし、システムの運用に使われる「運用ミドルウェア」は異なります。これはOS上に存在しますが、その上にアプリケーションを必要とせず、それ自体がアプリケーションとして機能します。
では、この運用ミドルウェアの役割を見ていきましょう。
システムのバックアップ
システム運用において、データの消失は極めて大きな脅威です。
たとえば、ECサイトでは購買情報、ネットバンキングにおける口座情報などは、システムを維持する上で不可欠です。したがって、定期的にバックアップをとり、データ消失に備えなければなりません。
運用ミドルウェアはその役割を担います。バックアップする対象(データ、アプリケーション、ログなど)だけでなく、バックアップ頻度や実施する時間帯も慎重に設定する必要があります。
さらに、バックアップ先の保存媒体の管理も大切です。どの媒体にも長所・短所があるため、それらを考慮したうえで最適なものを選択します。
ジョブ運用の効率化
ジョブとは、定型的な作業のことです。システムを運用する中では、バックアップやログの取得、サーバ再起動など、多くのジョブが発生します。これらをその都度人力でやっていたのでは、大きな負担となるでしょう。
そこで、運用ミドルウェアにこれらのジョブを任せます。あらかじめ処理の手順やスケジュールを設定しておけば、ジョブ運用を自動化できます。
システムの監視
システムに障害が発生した際には、いち早く発見することが肝要です。そのための監視を行う運用ミドルウェアが存在します。具体的には、以下の監視を実現します。
- ノード監視
- サーバやストレージ、ネットワーク機器などの稼働状況を監視
- リソース監視
- メモリやCPU、ディスクなどの使用状況を監視
- プロセス監視
- サービスが止まっていないか監視
- ログ監視
- OSやミドルウェアのログに異常がないか監視
高可用性クラスタによるサーバ冗長化
冗長性とは、障害発生時にもシステムを維持できる性質のことです。システムの冗長性を高めることを冗長化といいます。具体的には、同じ機能を持つサーバを複数用意するなどします。
そして、高可用性クラスタとは、非常時にサーバを予備のものに切り替える仕組みのことです。自動的なサーバの切り替えを実現することで、システムの停止を防ぎます。
ミドルウェアを理解してサーバ構築時に役立てよう!
ミドルウェアはアプリケーションとOSの中間に存在するソフトウェアです。具体的には以下の種類があります。
- ■Webサーバ
- ■アプリケーションサーバ
- ■データベース管理サーバ
また、システム運用に使われる運用ミドルウェアには以下の役割があります。
- ■バックアップ
- ■ジョブ運用の効率化
- ■システムの監視
- ■高可用性クラスタによる冗長化
以上を踏まえ、サーバ構築時にミドルウェアを有効活用しましょう。