Application Server をインストールしてドメインを起動したら、J2EE アプリケーションとモジュールを配備 (インストール) できます。配備中およびアプリケーションの変更の際、アプリケーションとモジュールには次のような作業を行います。
初期の配備
アプリケーションまたはモジュールを配備する前に、ドメインを起動します。
アプリケーションまたはモジュールを、特定のスタンドアロンサーバーインスタンスまたはクラスタに配備 (インストール) します。アプリケーションとモジュールはアーカイブファイルにパッケージ化されているので、配備中はアーカイブファイル名を指定します。デフォルトでは、デフォルトのサーバーインスタンス server に配備されます。
サーバーインスタンスまたはクラスタに配備する場合、アプリケーションやモジュールはドメインの中央リポジトリ内に存在し、ターゲットとして配備したクラスタまたはサーバーインスタンスによって参照されます。
管理コンソールではなく asadmin deploy コマンドを使用して、ドメインに配備することもできます。アプリケーションやモジュールをドメインだけに配備する場合、アプリケーションやモジュールはドメインの中央リポジトリ内に存在しますが、「配備のライフサイクル」の説明に従って参照を追加するまでは、サーバーインスタンスまたはクラスタによって参照されません。
配備は動的です。アプリケーションを使用可能にするために、アプリケーションまたはモジュールの配備後にサーバーインスタンスを再起動する必要はありません。再起動しても、すべての配備アプリケーションとモジュールはそのまま配備され、使用することができます。
有効化または無効化
デフォルトでは、配備されているアプリケーションやモジュールは有効になっています。つまり、アクセス可能なサーバーインスタンスやクラスタに配備されている場合、実行可能で、クライアントがアクセスできる状態になっています。アクセスを抑制するには、アプリケーションやモジュールを無効化します。無効化されたアプリケーションやモジュールはドメインからアンインストールされてはいないので、配備後は簡単に有効化できます。
配備されているアプリケーションやモジュールのターゲットの追加または削除
配備の完了したアプリケーションやモジュールは、中央リポジトリ内に存在し、複数のサーバーインスタンスやクラスタによる参照が可能になります。最初は、ターゲットとして配備したサーバーインスタンスやクラスタがアプリケーションやモジュールを参照します。
アプリケーションやモジュールの配備後、それを参照するサーバーインスタンスやクラスタを変更するには、管理コンソールを使用してアプリケーションやモジュールのターゲットを変更するか、または asadmin ツールを使用してアプリケーションの参照を変更します。アプリケーション自体は中央リポジトリに格納されるため、ターゲットを追加または削除すると、さまざまなターゲット上にある同じバージョンのアプリケーションが追加または削除されます。ただし、複数のターゲットに配備されているアプリケーションを、1 つのターゲット上で有効にして、ほかのターゲット上で無効にすることができます。したがって、アプリケーションがあるターゲットによって参照されていても、そのターゲット上で有効にされないかぎり、ユーザーはアプリケーションを使用できません。
再配備
配備されているアプリケーションやモジュールを置換するには、これらを再配備します。再配備すると、以前に配備されたアプリケーションやモジュールは配備が自動的に取り消され、新しいアプリケーションやモジュールと置き換えられます。
管理コンソールから再配備した場合、再配備されたアプリケーションやモジュールはドメインに配備されます。動的再設定が有効になっている場合、アプリケーションやモジュールを参照するスタンドアロンまたはクラスタ化されたすべてのサーバーインスタンスは、自動的に新しいバージョンを受信します。asadmin deploy コマンドを使用して再配備する場合、ターゲットとして domain を指定します。
本稼動環境では、段階的アップグレードを使用して、処理が中断されない状態でアプリケーションをアップグレードします。詳細については、「段階的アップグレードについて」を参照してください。
配備取消し
アプリケーションまたはモジュールをアンインストールするには、これらの配備を取り消します。
ソフトウェアプロバイダは、アプリケーションやモジュールをアーカイブファイルにパッケージ化します。アプリケーションやモジュールを配備するには、アーカイブファイルの名前を指定します。アーカイブファイルのコンテンツと構造は J2EE プラットフォームの仕様で定義されています。J2EE アーカイブファイルの種類は次のとおりです。
Web アプリケーションアーカイブ (WAR): WAR ファイルは、サーブレットや JSP などの Web コンポーネントと、静的な HTML ページ、JAR ファイル、タグライブラリ、およびユーティリティークラスで構成されます。WAR ファイル名の拡張子は .war です。
EJB JAR: EJB JAR ファイルには、EJB テクノロジが使用するコンポーネントである 1 つまたは複数の Enterprise JavaBeans が含まれます。EJB JAR ファイルには、Enterprise JavaBeans で必要なユーティリティークラスも含まれます。EJB JAR ファイル名の拡張子は .jar です。
J2EE アプリケーションクライアント JAR: この JAR ファイルには、RMI/IIOP を使用して Enterprise JavaBeans などのサーバー側コンポーネントにアクセスする J2EE アプリケーションクライアントのコードが含まれます。管理コンソールでは、J2EE アプリケーションクライアントを「アプリケーションクライアント」と呼びます。J2EE アプリケーションクライアントである JAR ファイル名の拡張子は .jar です。
リソースアダプタアーカイブ (RAR): RAR ファイルはリソースアダプタを保持します。リソースアダプタは、J2EE Connector Architecture 仕様によって定義されており、Enterprise JavaBeans、Web コンポーネント、およびアプリケーションクライアントがリソースや外部エンタープライズシステムにアクセスできるようにする、移行可能なコンポーネントです。通常、リソースアダプタはコネクタと呼ばれます。RAR ファイル名の拡張子は .rar です。
エンタープライズアプリケーションアーカイブ (EAR): EAR ファイルは 1 つまたは複数の WAR、EJB JAR、RAR、または J2EE アプリケーションクライアント JAR ファイルを保持します。EAR ファイル名の拡張子は .ear です。
ソフトウェアプロバイダは、アプリケーションを 1 つの EAR ファイルまたは個別の WAR、EJB JAR、およびアプリケーションクライアント JAR ファイルにアセンブルすることが可能です。管理ツールでは、配備ページとコマンドはすべての種類のファイルで同じです。
1 つのドメイン内では、配備されているアプリケーションやモジュールの名前が一意である必要があります。
管理コンソールを使用して配備する場合は、「アプリケーション名」フィールドで名前を指定します。
asadmin deploy コマンドを使用して配備する場合は、アプリケーションやモジュールのデフォルト名は、配備される JAR ファイルのプレフィックスになります。たとえば、hello.war ファイルの場合、Web アプリケーション名は hello となります。デフォルト名をオーバーライドするには、--name オプションを指定します。
異なるタイプのモジュールが、アプリケーション内で同じ名前を使用できます。アプリケーションが配備されると、個々のモジュールを保持するディレクトリの名前には _jar、_war、および _rar サフィックスが使用されます。アプリケーション内の同じタイプのモジュールは、一意の名前にする必要があります。また、データスキーマのファイル名は、アプリケーション内で一意の名前にする必要があります。
モジュールのファイル名、EAR ファイル名、ejb-jar.xml ファイルの <module-name> 部分に見られるモジュール名、および ejb-jar.xml ファイルの <ejb-name> 部分に見られる EJB 名には、Java パッケージと同様のネーミングスキームを使用することをお勧めします。このパッケージと同様のネーミングスキームの使用により、名前の競合を防げます。このネーミング方法の利点は、Application Server だけでなく、ほかの J2EE Application Server にも当てはまります。
EJB コンポーネントの JNDI 検索名も一意である必要があります。一貫性のあるネーミング規則の確立が役立つ場合があります。たとえば、アプリケーション名とモジュール名を EJB 名に追加するのは、名前を一意にする 1 つの方法です。この場合、mycompany.pkging.pkgingEJB.MyEJB は、アプリケーション pkging.ear にパッケージ化されたモジュール pkgingEJB.jar 内にある EJB の JNDI 名を表します。
パッケージとファイル名に、オペレーティングシステムでは不正なスペースや文字を含めないようにする必要があります。