Cosminexus 機能解説
ここでは,展開ディレクトリ形式の概要,デプロイおよびアンデプロイの方法について説明します。
J2EEサーバ上で実行できるアプリケーションの形式の一つに,展開ディレクトリ形式のJ2EEアプリケーションがあります。展開ディレクトリ形式のJ2EEアプリケーションは,EJBやサーブレットなどのアプリケーションの実体を,J2EEサーバの外部にある一定のルールに従ったファイル/ディレクトリに持つアプリケーションです。アプリケーションディレクトリというルートディレクトリを作成し,アプリケーションディレクトリ下に,EJB-JAR,Webアプリケーションなどの構成要素が格納されていれば,J2EEアプリケーションとして動作できます。アプリケーションディレクトリについては,「7.3.2 アプリケーションディレクトリの構成」を参照してください。
展開ディレクトリ形式のJ2EEアプリケーションを次の図に示します。
図7-2 展開ディレクトリ形式のJ2EEアプリケーション
展開ディレクトリ形式のJ2EEアプリケーションが保持するのは,DDとアプリケーションディレクトリへのパス情報です。J2EEサーバの作業ディレクトリ下に,EJB-JAR,Webアプリケーションなどの構成要素を保持しません。
展開ディレクトリ形式のJ2EEアプリケーションの特長について説明します。
展開ディレクトリ形式のJ2EEアプリケーションでは,構成要素をEAR形式にアーカイブする必要はありません。このため,アーカイブ形式のJ2EEアプリケーションと比べて,少ない手順でJ2EEアプリケーションの入れ替えができます。
また,リロード機能を使用することで,さらに少ない手順でJ2EEアプリケーションを動的に入れ替えられます。リロード機能では,J2EEアプリケーションを構成するファイルの更新を検知し,更新したJ2EEアプリケーションをリロードします。リロード機能を使用することで,J2EEサーバを再起動することなく,デプロイ済みのサーブレット,JSPやEJB-JARを動的に入れ替えられるようになります。リロード機能については,「7.5 J2EEアプリケーションの更新検知とリロード」を参照してください。
展開ディレクトリ形式のJ2EEアプリケーションでは,複数のJ2EEサーバでアプリケーションディレクトリを共有できます。
例えば,アーカイブ形式のJ2EEアプリケーションを使用している場合に,同じ内容のJ2EEアプリケーションを複数のJ2EEサーバで実行させるときは,複数のJ2EEサーバ上に,EARファイル/ZIPファイルをそれぞれ配置する必要があります。また,インポートしたJ2EEアプリケーションを入れ替える場合には,J2EEサーバの数だけ,再インポートや再デプロイが必要になります。
しかし,展開ディレクトリ形式のJ2EEアプリケーションでは,DDとアプリケーションディレクトリへのパス情報だけを保持するため,アプリケーションディレクトリ以下にあるEJB-JAR,Webアプリケーションなどの構成要素を,複数のJ2EEサーバで共有できます。
例えば,J2EEサーバをクラスタ構成で配置している場合にそれぞれのJ2EEサーバで同じJ2EEアプリケーションを使用するときは,同一のディレクトリをアプリケーションディレクトリとして指定できます。同一のアプリケーションディレクトリを参照しているため,J2EEアプリケーションに変更が発生した場合には,そのアプリケーションディレクトリでクラスファイルなどを更新するだけで,すべてのJ2EEアプリケーションの入れ替えができるようになります。アプリケーションディレクトリの共有の例を次の図に示します。
図7-3 アプリケーションディレクトリの共有の例
なお,J2EEアプリケーションを共有する場合には,それぞれのJ2EEサーバから参照できる環境(共有ディスク装置など)にアプリケーションディレクトリを配置してください。
展開ディレクトリ形式のJ2EEアプリケーションをJ2EEサーバ内にインポートしてクライアントから実行可能な状態にするためには,デプロイが必要です。J2EEアプリケーションを実行するJ2EEサーバに,展開ディレクトリ形式のJ2EEアプリケーションをインポートしてください。アプリケーション開始時に生成される各クラスローダは,クラスパスとしてアプリケーションディレクトリを保持して動作します。
展開ディレクトリ形式のJ2EEアプリケーションを削除する場合は,展開ディレクトリ形式のJ2EEアプリケーションに対してアンデプロイを実行します。アンデプロイの処理完了後に,J2EEサーバへのJ2EEアプリケーションの登録が解除されます。なお,アプリケーションディレクトリは削除されません。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.