ウェブアプリケーションサーバに求められる機能
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/07 20:21 UTC 版)
「アプリケーションサーバ」の記事における「ウェブアプリケーションサーバに求められる機能」の解説
ウェブアプリケーションサーバは、以下のような要件を取り込むべく作成が進められ、実装されている。 機能要件要件説明備考システムの拡張性と可用性コンシューマを対象とした電子取引商用システムなどの場合、処理要求数が非常に多くなり(数万件/分といったものも多い)、水平(サーバを増やす)/垂直(サーバを機能単位に切り分ける)方向の負荷分散を考慮する必要がある。ウェブアプリケーションサーバにおいては、垂直方向として認証機能とそれに付随する認証用データベースをLDAPサーバ (ディレクトリ・サービス) として切り分ける事が一般化している。水平方向においては、サーバの台数を動的に増やして対処し、ロードバランサ及びウェブサーバの振り分け機能により1台当たりの処理要求アクセス数を調整する。また、処理サーバ台数を増やし、分散する事により、システムとしての可用性を確保する。 セッション管理機能システムへの接続や処理リクエストが増えると、単一のウェブアプリケーションサーバのみにてサービスを提供する事が不可能となる。そのため、ウェブアプリケーションサーバのプロセスを増やしたり、サーバ自体を増やす水平分散が必要となる。その際、ロードバランサのセッションパーシステンス機能により、仕掛かり中の処理が特定のアプリケーションサーバに割り当てられるが、アプリケーションサーバに異常が発生した際に、他アプリケーションサーバへ処理が引き渡される。これをセッション管理機能によって、再ログイン処理や最初からの対話処理のやり直しをおこなうのではなく、特定の位置までのロールバック処理にて情報を引き継ぎ、ユーザにストレス無く処理を続ける必要がある。 トランザクション管理機能ウェブブラウザを使用する場合、通信プロトコルはHTTPを用いたものとなり、トランザクションは要求―応答の単発とならざるを得ない。そのため、一連のアクセスを一貫性を持たせたトランザクションとして管理する必要が発生する。こういったトランザクションの一貫性を保持するトランザクションモニターの機能も必要となる。 トランザクションの高速処理機能従来のCGIと比較して、サーバサイドJava (Jakarta EE) 及びスクリプト言語の環境ではプロセス内の処理はスレッド単位で時分割処理される。プロセスの生成は負荷が高いが、1つのJavaプロセス内に複数のスレッドを同時に起動できるため、効率的に処理を行うことができ、必要スペックを小さくできる。 データベース接続性/応答性機能ユーザの要求処理毎に、データベースとの接続とその開放を繰り返すと、大きなボトルネックになる。これを回避するため、JDBCプーリングといったDB接続を保持し、それを使い廻す機能を提供する。 セキュリティ機能アプリケーションサーバとして、処理を行う上での各種セキュリティ要件が発生する。これを単にHTTPベースのセキュリティ面 (TLSの採用/電子認証) だけでなく、トランザクションベースでも確保する必要がある。 システム開発期間の短縮化可能な共通的なフレームワーク基盤の採用ウェブアプリケーション採用の利点として、Javaなどのプログラミング言語とそのアプリケーションフレームワークの採用による開発工程の簡易化と短縮がある。ウェブアプリケーションサーバでは、開発環境やプログラム群の利用環境を整備することで、それらの利点を活かせるようにしている。
※この「ウェブアプリケーションサーバに求められる機能」の解説は、「アプリケーションサーバ」の解説の一部です。
「ウェブアプリケーションサーバに求められる機能」を含む「アプリケーションサーバ」の記事については、「アプリケーションサーバ」の概要を参照ください。
- ウェブアプリケーションサーバに求められる機能のページへのリンク