◆ APサーバ(Application Server)とは
APサーバ(アプリケーションサーバ)とは、Web3層構造と呼ばれるWebシステムで、アプリケーション
プログラムを動作させるサーバのことです。APサーバはWebアプリケーションサーバとも呼ばれています。
WebブラウザからWebサーバへの通信で、動的コンテンツを閲覧(例えばネットショッピング)する際は
Webサーバ単独でサービスを提供しているのではなくWebサーバ、APサーバ、DBサーバの3つのサーバで
Webサービスを提供しています。
APサーバはWeb3層構造の中間に位置し、Webブラウザからのリクエストを処理するWebサーバからの要求
を受けてプログラムを実行したり、必要に応じてDBサーバへの問い合わせや書き込み処理をし、処理結果を
Webサーバへ提供する役割を担っています。
WebブラウザからのHTTPリクエストが静的なコンテンツの要求だけである場合は、APサーバやDBサーバとの
通信は発生せず、WebブラウザとWebサーバ間の通信だけで完結します。一方、ネットショッピングのように
動的なコンテンツ要求は、WebサーバからAPサーバへと処理要求されて、さらにAPサーバからDBサーバへと
書き込みや読み取りを行います。そして、その処理結果(動的コンテンツ生成結果)をWebサーバへ返します。
※ CGIなどの動的コンテンツの生成はWebサーバ上で実行するので、APサーバやDBサーバとの通信は発生しません。
※ Webシステムによっては、WebサーバとAPサーバを1台の物理サーバや仮想サーバ上で動作させる場合もあります。
◆ APサーバの分類
ウェブアクセスに特化したAPサーバは、Javaベース製品とMicrosoft製品の大きく2つに分類できます。
Javaベースの製品のAPサーバは、Jakarta EE( Java EEの後継 )アプリケーションサーバと言います。
Jakarta EEや.NET Frameworkというフレームワークの観点からの2分類です。
APサーバ分類(フレームワーク) |
代表的なサーバソフトウェア |
Jakarta EEアプリケーションサーバ |
Apache Tomcat(オープンソース)、WebLogic Server(オラクル) |
Windowsプラットフォームのアプリケーションサーバ |
IIS(マイクロソフト) |
使用するプログラミング言語により、APサーバは大きく4種類に分類できます。下表ではIISを除いています。
PHPとPythonは、Apache HTTP Serverに拡張モジュールをインストールすることで、APサーバを別途用意
することなく、Webサーバ(Apache HTTP Server)上で動的な処理を実現することができます。
APサーバ分類(プログラミング言語) |
代表的なサーバソフトウェア |
Java |
Apache Tomcat(オープンソース)、WebLogic Server(オープンソース) |
Ruby |
Puma(オープンソース)、Unicorn(オープンソース) |
PHP |
Apacheに拡張モジュール(mod_php)をインストールすることで動的処理が実行可能 |
Python |
Apacheに拡張モジュール(mod_wsgi)をインストールすることで動的処理が実行可能 |
クライアント側であるWebブラウザでは、標準でHTML、CSS、JavaScriptに対応しており、下図のようにまとめることができます。
|