Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)


18.4.1 展開ディレクトリ形式の概要

ここでは,展開ディレクトリ形式の概要,デプロイおよびアンデプロイの方法について説明します。

〈この項の構成〉

(1) 展開ディレクトリ形式のJ2EEアプリケーションとは

J2EEサーバ上で実行できるアプリケーションの形式の一つに,展開ディレクトリ形式のJ2EEアプリケーションがあります。展開ディレクトリ形式のJ2EEアプリケーションは,EJBやサーブレットなどのアプリケーションの実体を,J2EEサーバの外部にある一定のルールに従ったファイル/ディレクトリに持つアプリケーションです。アプリケーションディレクトリというルートディレクトリを作成し,アプリケーションディレクトリ下に,EJB-JAR,Webアプリケーションなどの構成要素が格納されていれば,J2EEアプリケーションとして動作できます。アプリケーションディレクトリについては,「18.4.2 アプリケーションディレクトリの構成」を参照してください。

展開ディレクトリ形式のJ2EEアプリケーションを次の図に示します。

図18‒2 展開ディレクトリ形式のJ2EEアプリケーション

[図データ]

展開ディレクトリ形式のJ2EEアプリケーションが保持するのは,DDとアプリケーションディレクトリへのパス情報です。J2EEサーバの作業ディレクトリ下に,EJB-JAR,Webアプリケーションなどの構成要素を保持しません。

展開ディレクトリ形式のJ2EEアプリケーションの特長について説明します。

(a) J2EEアプリケーションの入れ替えの容易化

展開ディレクトリ形式のJ2EEアプリケーションでは,構成要素をEAR形式にアーカイブする必要はありません。このため,アーカイブ形式のJ2EEアプリケーションと比べて,少ない手順でJ2EEアプリケーションの入れ替えができます。

また,リロード機能を使用することで,さらに少ない手順でJ2EEアプリケーションを動的に入れ替えられます。リロード機能では,J2EEアプリケーションを構成するファイルの更新を検知し,更新したJ2EEアプリケーションをリロードします。リロード機能を使用することで,J2EEサーバを再起動することなく,デプロイ済みのサーブレット,JSPやEJB-JARを動的に入れ替えられるようになります。リロード機能については,「18.8 J2EEアプリケーションの更新検知とリロード」を参照してください。

(b) 複数のJ2EEサーバでのアプリケーションディレクトリの共有

展開ディレクトリ形式のJ2EEアプリケーションでは,複数のJ2EEサーバでアプリケーションディレクトリを共有できます。

例えば,アーカイブ形式のJ2EEアプリケーションを使用している場合に,同じ内容のJ2EEアプリケーションを複数のJ2EEサーバで実行させるときは,複数のJ2EEサーバ上に,EARファイル/ZIPファイルをそれぞれ配置する必要があります。また,インポートしたJ2EEアプリケーションを入れ替える場合には,J2EEサーバの数だけ,再インポートや再デプロイが必要になります。

しかし,展開ディレクトリ形式のJ2EEアプリケーションでは,DDとアプリケーションディレクトリへのパス情報だけを保持するため,アプリケーションディレクトリ以下にあるEJB-JAR,Webアプリケーションなどの構成要素を,複数のJ2EEサーバで共有できます。

例えば,J2EEサーバをクラスタ構成で配置している場合にそれぞれのJ2EEサーバで同じJ2EEアプリケーションを使用するときは,同一のディレクトリをアプリケーションディレクトリとして指定できます。同一のアプリケーションディレクトリを参照しているため,J2EEアプリケーションに変更が発生した場合には,そのアプリケーションディレクトリでクラスファイルなどを更新するだけで,すべてのJ2EEアプリケーションの入れ替えができるようになります。アプリケーションディレクトリの共有の例を次の図に示します。

図18‒3 アプリケーションディレクトリの共有の例

[図データ]

なお,J2EEアプリケーションを共有する場合には,それぞれのJ2EEサーバから参照できる環境(共有ディスク装置など)にアプリケーションディレクトリを配置してください。