アプリケーションサーバ(英: Application Server)は、ビジネスロジックなどを実装したアプリケーションソフトウェアを実行することを専門とするコンピュータネットワーク上のサーバコンピュータ、もしくはそのようなコンピュータ上でのアプリケーションの実行を管理補助するミドルウェアのこと。
ウェブアプリケーションサーバは、ウェブクライアントからのHTTPのレスポンス要求を処理するウェブサーバとバックエンドの関係データベース管理システム (RDBMS) を中心とするデータベース中核層への橋渡しを担い、データの加工などの処理を行う。
概要
アプリケーションサーバの基本的な機能とされるものは、以下の3つである。
プログラムの実行環境やデータベースへの接続機能の提供
複数の処理を連結するトランザクションの管理機能
業務処理の流れを制御するビジネスロジックの実装ただし、アプリケーションサーバの機能についての厳密な定義は存在しないため、これらの機能を有しないアプリケーションサーバも存在する。また、この3つの機能以外に、各ベンダによる機能強化が行われている事も多い。
以降、本稿ではウェブアプリケーションサーバの記載を中心とする。
ウェブ3層構成
一般的なウェブシステムの多くは「ウェブ3層構成」と呼ばれる構成にて設計されている事が多い。このウェブ3層設計は、以下の3つの層で構成されている。
ウェブブラウザからのHTTPによるアクセス要求を分散処理するウェブサーバ層
HTTPトランザクションの一貫性を保持し、システム固有の処理を行い、バックエンドで動作するデータベースなどの検索/加工処理などを司るウェブアプリケーション層
システムのデータや管理情報を司るデータベース層ウェブシステムをそれぞれ3つの層に実装を分け垂直分散したことで、それぞれの層単位でスケールアウト (サーバの増設で処理性能を向上できること) が可能となり、拡張性やコストパフォーマンスも大きく向上している。
一般に、3階層システムは、インターネットが登場する前の古典的な非ウェブアプリなどでよく使われていた…