Web アプリケーションの概説

Web アプリケーションは、サーブレット、JSP、HTML ページ、イメージ、標準デプロイメントディスクリプタで構成されます。また、オプションで JavaBeans、カスタムタグクラスなどの Web コンポーネントが含まれます。任意の Web アプリケーションサーバへデプロイできるように、これらのリソースを標準化されたディレクトリ構造に配置します。

このセクションでは、Web アプリケーションの重要な機能と利点について説明します。

Web アプリケーションの利点

Java サーブレット 2.3 仕様では、Web アプリケーションが定義されています。この仕様は次の利点を提供します。

JRun は、Java サーブレット 2.3 の仕様に完全に従った Web アプリケーションアーキテクチャを実装します。Web アプリケーションは JRun を使用して開発でき、Java サーブレット 2.3 の仕様をサポートする Web アプリケーションサーバにデプロイすることができます。また、JRun はエンタープライズ向けの J2EE アプリケーションの開発に必要な最新の業界標準を完全にサポートしているため、Web アプリケーションでエンタープライズ向け J2EE リソースおよびコンポーネントを利用したり相互運用することが可能です。

Webアプリケーションとエンタープライズアプリケーションの比較

エンタープライズアプリケーションは、1 つ以上の J2EE モジュール、Web アプリケーション、リソースアダプタ、および EJB から構成されます。Web でのエンタープライズアプリケーション開発の標準は、J2EE 仕様に基づいています。JRun は、J2EE アプリケーションモデルをサポートし、エンタープライズアプリケーションを実行する実行時環境を提供します。

エンタープライズアプリケーションには、エンタープライズアプリケーションのデプロイメントディスクリプタである application.xml も含まれており、通常は EAR (Enterprise ARchive) ファイルと呼ばれる 1 つのファイルに圧縮されてパッケージされます。

詳細は、 「エンタープライズアプリケーションのアーキテクチャ」 を参照してください。

Web アプリケーションは、エンタープライズアプリケーションのサブセットです。ただし、スタンドアローン Web アプリケーションをデプロイできます。

Web アプリケーションの設定は web.xml ファイルのコンテンツによって定義されます。このファイルは標準 Web アプリケーションのデプロイメントディスクリプタファイルです。このファイルには、アプリケーションサーバがアプリケーションを実行するために必要なすべての情報が含まれています。

Web アプリケーションを JRun で配布する場合は、展開したディレクトリ構造として配布するか、または WAR (Web ARchive) ファイルと呼ばれる 1 つのファイルに圧縮して配布することができます。WAR ファイルには、すべてのディレクトリ構造とアプリケーションを定義するすべてのファイルが含まれます。

Web アプリケーションとエンタープライズアプリケーションの開発およびデプロイの詳細については、 「Web アプリケーションの開発」 および 「Web アプリケーションのデプロイ」 を参照してください。『JRun プログラマーガイド』および『JRun アセンブルとデプロイガイド』も参照してください。

Web アプリケーションの使用

1 つの JRun サーバでは複数の Web アプリケーションをサポートできます。Web アプリケーションでは、同じサーバ上のほかのアプリケーション内のリソースのリファレンスや、一般的なリソースの共有が可能です。共有することによって、Web アプリケーションは EJB やデータベースドライバクラスなど、多くのアプリケーションで一般的に使用されているリソースにアクセスできます。

Web アプリケーションでは、データベースや EJB を使用してデータを共有することもできます。たとえば、電子商取引 Web サイトが、複数のアプリケーションから構成されているとします。このタイプの Web サイトの顧客は、ログイン名とパスワードによって識別できます。そのため、各 Web アプリケーションではログイン名を使用して、ショッピングカート情報、購入履歴、住所などの共有データベース内のユーザーの情報にアクセスします。

Web アプリケーションを開発するときは、アプリケーションを複数の JRun サーバに分割するか、1 つの JRun サーバですべてのアプリケーションをホストするか、またはサーバをクラスタ定義してアプリケーションを処理するかを決定する必要があります。クラスタはサーバの集合で、イメージ的には 1 つのシステムと見なされ、そのクラスタに割当てられたサーバ間で、アプリケーション負荷やサーバ負荷が管理されます。クラスタの詳細については、『JRun 管理者ガイド』を参照してください。

複数の JRun サーバを作成する理由の 1 つは、個別の Java Virtual Machine (JVM) のプロセス内でアプリケーションを分離するためです。JVM は JRE とも呼ばるもので、ソフトウェア的に実装された CPU です。これには、Java プラットフォーム用に作成されたプログラムを実行するのに必要なすべての機能が含まれています。各 JRun サーバは、その JRun サーバに対するすべてのサーブレット、JSP、および EJB を実行する 1 つの JVM と関連付けられています。アプリケーションを複数の JRun サーバ、すなわち独自の JVM に分離することで、別のアプリケーションが悪影響を与えないようにできます。さらに、各アプリケーションのクラスパス、データソース、EJB、およびその他のリソースをサーバレベルで定義できます。

Web アプリケーションを異なる JRun サーバで実行するもう 1 つの理由は、各 JRun サーバが独自のユーザー認証メカニズムまたは一連のユーザー認証ルールを実装できるようにするためです。異なる JRun サーバでアプリケーションを実行することによって、サーバの認証設定を利用できます。認証の詳細については、『JRun 管理者ガイド』を参照してください。