アプリケーションサーバ


: Application Server

HTTP (RDBMS) 

概要

編集

3







3

稿

ウェブ3層構成

編集

333

HTTP

HTTP/



3

3使 (2) 2

歴史

編集

1990 (RDBMS)  () 

1990 UNIXJava1990使

EC/

2 (3) 1998

ウェブアプリケーションサーバに求められる機能

編集

ウェブアプリケーションサーバは、以下のような要件を取り込むべく作成が進められ、実装されている。

機能要件 要件説明 備考
システムの拡張性と可用性 コンシューマを対象とした電子取引商用システムなどの場合、処理要求数が非常に多くなり(数万件/分といったものも多い)、水平(サーバを増やす)/垂直(サーバを機能単位に切り分ける)方向の負荷分散を考慮する必要がある。ウェブアプリケーションサーバにおいては、垂直方向として認証機能とそれに付随する認証用データベースをLDAPサーバ (ディレクトリ・サービス) として切り分ける事が一般化している。水平方向においては、サーバの台数を動的に増やして対処し、ロードバランサ及びウェブサーバの振り分け機能により1台当たりの処理要求アクセス数を調整する。また、処理サーバ台数を増やし、分散する事により、システムとしての可用性を確保する。
セッション管理機能 システムへの接続や処理リクエストが増えると、単一のウェブアプリケーションサーバのみにてサービスを提供する事が不可能となる。そのため、ウェブアプリケーションサーバのプロセスを増やしたり、サーバ自体を増やす水平分散が必要となる。


トランザクション管理機能 ウェブブラウザを使用する場合、通信プロトコルHTTPを用いたものとなり、トランザクションは要求―応答の単発とならざるを得ない。そのため、一連のアクセスを一貫性を持たせたトランザクションとして管理する必要が発生する。こういったトランザクションの一貫性を保持するトランザクションモニターの機能も必要となる。
トランザクションの高速処理機能 従来のCGIと比較して、サーバサイドJava (Jakarta EE) 及びスクリプト言語の環境ではプロセス内の処理はスレッド単位で時分割処理される。プロセスの生成は負荷が高いが、1つのJavaプロセス内に複数のスレッドを同時に起動できるため、効率的に処理を行うことができ、必要スペックを小さくできる。
データベース接続性/応答性機能 ユーザの要求処理毎に、データベースとの接続とその開放を繰り返すと、大きなボトルネックになる。これを回避するため、JDBCプーリングといったDB接続を保持し、それを使い廻す機能を提供する。
セキュリティ機能 アプリケーションサーバとして、処理を行う上での各種セキュリティ要件が発生する。これを単にHTTPベースのセキュリティ面 (TLSの採用/電子認証) だけでなく、トランザクションベースでも確保する必要がある。
システム開発期間の短縮化可能な共通的なフレームワーク基盤の採用 ウェブアプリケーション採用の利点として、Javaなどのプログラミング言語とそのアプリケーションフレームワークの採用による開発工程の簡易化と短縮がある。ウェブアプリケーションサーバでは、開発環境やプログラム群の利用環境を整備することで、それらの利点を活かせるようにしている。

アプリケーションサーバの分類

編集

広義な意味でのアプリケーションサーバという用語はプログラミング言語で実装されたアプリケーションソフトウェアを動作させるサーバサービスを意味する。

特にウェブアクセスに特化したアプリケーションサーバは、マイクロソフト製品とJavaベースの製品とに大別できる。

Windowsプラットフォームで動作する代表的なアプリケーションサーバはMicrosoft Internet Information Services (IIS) がある。

Jakarta EEアプリケーションサーバ

編集
定義

Jakarta EEJava Platform, Standard Edition (Java SE) Jakarta EE



Jakarta EEJavaWebJavaServer Faces (JSF) FaceletsEnterprise JavaBeans (EJB)JPA Java BeansJava

WebWeb ProfileApache Struts

Windowsプラットフォームのアプリケーションサーバ

編集

WindowsInternet Information Services (IIS)  IISWebWeb Netcraft調20133IIS18.01%

IISWindows 2000 Windows.NET Framework



.NET FrameworkBase4ZopeWindows Communication Foundation.NETWindowsLDAP

.NET CoreASP.NET CoreMIT LicenseIIS.NET

その他のアプリケーションサーバ

編集
定義

Jakarta EE以外の言語セット・フレームワークを使用し、ビジネスロジックを実装し得るアプリケーションサーバのこと。

ポータルサイト製品

編集

Jakarta EELDAP

WebSphere Application ServerOracle WebLogic Server1

関連項目

編集

外部リンク

編集