この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "アプリケーションサーバ"
アプリケーションサーバ(英: Application Server)は、ビジネスロジックなどを実装したアプリケーションソフトウェアを実行することを専門とするコンピュータネットワーク上のサーバコンピュータ、もしくはそのようなコンピュータ上でのアプリケーションの実行を管理補助するミドルウェアのこと。
ウェブアプリケーションサーバは、ウェブクライアントからのHTTPのレスポンス要求を処理するウェブサーバとバックエンドの関係データベース管理システム (RDBMS) を中心とするデータベース中核層への橋渡しを担い、データの加工などの処理を行う。 アプリケーションサーバの基本的な機能とされるものは、以下の3つである。 ただし、アプリケーションサーバの機能についての厳密な定義は存在しないため、これらの機能を有しないアプリケーションサーバも存在する。また、この3つの機能以外に、各ベンダによる機能強化が行われている事も多い。 以降、本稿ではウェブアプリケーションサーバの記載を中心とする。 一般的なウェブシステムの多くは「ウェブ3層構成」と呼ばれる構成にて設計されている事が多い。このウェブ3層設計は、以下の3つの層で構成されている。 ウェブシステムをそれぞれ3つの層に実装を分け垂直分散したことで、それぞれの層単位でスケールアウト(サーバの増設で処理性能を向上できること)が可能となり、拡張性やコストパフォーマンスも大きく向上している。 一般に、3階層システムは、インターネットが登場する前の古典的な非ウェブアプリなどでよく使われていた、クライアントやバックエンド側にビジネスロジックを実装する方式 (2階層システム) に比べ、システムの変更や更新、増強などが容易で、柔軟性が高いシステム構成といわれている。特にウェブアプリ化により、クライアント(ウェブブラウザ)とアプリケーション層を切り分けたことで、古典的な2層システムなどであったシステム更改の際の「高価な基幹データベース自体やそのサーバの必要諸元の変更にあわせて買い換えなければならない」といった悩みが解消され、導入コストが安くなった。ただし、その代わり、ウェブブラウザの制限事項に引きずられることになった。 1990年代前半のクライアントサーバベースのシステムでは、クライアント側を専用端末とし、各種機能を用意するリッチクライアント型のシステム構築が主流であった。これは、関係データベース管理システム (RDBMS) などを含むサーバが非常に高価であり、変更 (買い換え) が容易でなかったことによる。そのため、業務プロセスが変わったら、端末側のプログラムを更新或いは入れ替える必要があったが、多くの場合、利用者は社内の人間などに限られていたため大きな問題とはならなかった。 1990年代後半に、インターネットが普及をはじめると、ウェブブラウザを用いた電子商取引などのニーズが広がってくる。ウェブブラウザをクライアントに用いるシステムでは、サービスの対象者が不特定多数になることが多く、システムの変更にあわせて利用者全ての環境を更新することは事実上不可能である。そこで、サーバサイドに業務プロセスなど各種アプリケーションを用意することが求められるようになった。この要求に対して、アプリケーションのクライアントからサーバへのシフトは、サーバサイドコンピュータの高性能化(UNIXサーバなどに代表される比較的安価で高性能なサーバの登場)とネットワークの高速化、Javaなどのプログラム言語の処理高速化技術等の進展などにより可能となった。1990年代後半には、ウェブブラウザをクライアントとして使用し、様々な処理をサーバ側で行うシステムが一般化している。 インターネットを利用したクライアントサーバシステムでは、サーバ側に多種多様な機能が求められる。
概要
プログラムの実行環境やデータベースへの接続機能の提供
複数の処理を連結するトランザクションの管理機能
業務処理の流れを制御するビジネスロジックの実装
ウェブ3層構成
ウェブブラウザからのHTTPによるアクセス要求を分散処理するウェブサーバ層
HTTPトランザクションの一貫性を保持し、システム固有の処理を行い、バックエンドで動作するデータベースなどの検索/加工処理などを司るウェブアプリケーション層
システムのデータや管理情報を司るデータベース層
歴史
Size:28 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef