WebLogic リソース アダプタ プログラマーズ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

リソース アダプタのパッケージ化とデプロイ

以下の節では、リソース アダプタをパッケージ化およびデプロイする方法について説明します。

WebLogic Server へのアプリケーションのデプロイについては、『WebLogic Server アプリケーションの開発』の「分割開発ディレクトリからのデプロイメントとパッケージ化」で詳細に説明されています。

 


リソース アダプタのパッケージ化

プロダクションおよび開発目的では、アセンブル済みのリソース アダプタ (RAR) をエンタープライズ アプリケーション (EAR) の一部としてパッケージ化することをお勧めします。

ディレクトリ構造のパッケージ化

リソース アダプタは、applications/ ディレクトリ内のリソース アダプタ アーカイブ (RAR) に含まれる WebLogic Server コンポーネントです。デプロイメント プロセスは、リソース アダプタ プロバイダによって作成されたコンパイル済みリソース アダプタ インタフェースと実装クラスを格納する RAR またはデプロイメント ディレクトリで開始されます。RAR とデプロイメント ディレクトリは、どちらがコンパイル済みクラスを格納している場合でも、Java パッケージ構造と一致するサブディレクトリに入っている必要があります。

リソース アダプタでは、展開ディレクトリ形式または RAR のどちらにパッケージ化される場合でも、同じディレクトリ形式を使用します。リソース アダプタの一般的なディレクトリ構造をコード リスト 9-1 に示します。

コード リスト 9-1 リソース アダプタのディレクトリ構造
/META-INF/ra.xml
/META-INF/weblogic-ra.xml
/META-INF/MANIFEST.MF (省略可能)
/images/ra.jpg
/readme.html
/eis.jar
/utilities.jar
/windows.dll
/unix.so

パッケージ化の考慮事項

リソース アダプタに関するパッケージ化の要件は以下のとおりです。

パッケージ化の制限

スタンドアロンのリソース アダプタを再ロードするときに、そのリソース アダプタを使用するクライアントを再ロードしない場合、クライアントは正常に機能しなくなる可能性があります。この制限事項は、リモート可用性のあるインタフェースを許可しないという J2CA 1.5 仕様の制限によるものです。

リソース アダプタ アーカイブ (RAR) のパッケージ化

1 つまたは複数のリソース アダプタをディレクトリにステージングしたら、.rar ファイル拡張子の付いた Java アーカイブ (JAR) にパッケージ化します。

注意 : リソース アダプタをアセンブルした後は、エンタープライズ アプリケーションの一部としてパッケージ化することをお勧めします。これにより、従来の単一ディレクトリ構造に比べていくつかの利点がある分割開発ディレクトリ構造を利用できるようになります。『WebLogic Server アプリケーションの開発』の「分割開発ディレクトリ環境の作成」を参照してください。

リソース アダプタをステージングおよびパッケージ化するには、次の手順に従います。

  1. 一時ステージング ディレクトリをハード ディスクの任意の場所に作成します。
  2. 対象となるリソース アダプタの Java クラスをステージング ディレクトリにコンパイルまたはコピーします。
  3. リソース アダプタの Java クラスを入れる JAR を作成します。この JAR をステージング ディレクトリの最上位に追加します。
  4. ステージング ディレクトリに META-INF サブディレクトリを作成します。
  5. META-INF サブディレクトリに ra.xml デプロイメント記述子を作成して、そのリソース アダプタのエントリを追加します。
  6. 注意 : ra.xml の文書型定義の詳細については、Sun Microsystems のドキュメント (http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd) を参照してください。
  7. META-INF サブディレクトリに weblogic-ra.xml デプロイメント記述子を作成して、そのリソース アダプタのエントリを追加します。
  8. 注意 : weblogic-ra.xml ファイルの内容については、「weblogic-ra.xml スキーマ」を参照してください。
  9. リソース アダプタ クラスとデプロイメント記述子をステージング ディレクトリに配置すると、次のような JAR コマンドを使用して RAR を作成できます。
  10. jar cvf jar-file.rar -C staging-dir
    

    このコマンドによって作成された RAR は、WebLogic Server にデプロイすることも、アプリケーション アーカイブ (EAR) にパッケージ化することもできます。

    -C staging-dir オプションを指定すると、JAR コマンドはディレクトリを staging-dir に変更します。これにより、JAR に記録されるディレクトリ パスがリソース アダプタのステージング ディレクトリを基準にした相対パスとなります。

このトピックの詳細については、「リソース アダプタの作成とコンフィグレーション : 主な手順」を参照してください。

 


リソース アダプタのデプロイ

リソース アダプタのデプロイメントは、Web アプリケーション、EJB、およびエンタープライズ アプリケーションのデプロイメントとほぼ同じです。これらのデプロイメント ユニットと同様、リソース アダプタも展開ディレクトリ形式でデプロイしたり、アーカイブ ファイルとしてデプロイしたりすることができます。

デプロイメント オプション

以下のツールのいずれかを使用して、スタンドアロンのリソース アダプタ (またはエンタープライズ アプリケーションの一部としてパッケージ化されたリソース アダプタ) をデプロイできます。

これらのアプリケーションのデプロイメント方法の詳細については、『WebLogic Server アプリケーションのデプロイメント』の「アプリケーションおよびモジュールのデプロイ」を参照してください。

デプロイメント プランを使用してリソース アダプタ デプロイメントをデプロイできます。リソース アダプタの場合、WebLogic Server デプロイメント プランは、RAR の外部にあるオプションの XML ドキュメントであり、特定の WebLogic Server 環境のデプロイメントとしてリソース アダプタがコンフィグレーションされます。デプロイメント プランでは、リソース アダプタのデプロイメント記述子で通常定義するようなデプロイメント プロパティ値を設定したり、デプロイメント記述子で既に定義されているプロパティ値をオーバーライドしたりします。デプロイメント プランの詳細については、『WebLogic Server アプリケーションのデプロイメント』の「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」を参照してください。

自動デプロイメントを使用してリソース アダプタをデプロイすることもできます。この方法は開発時や初期テスト時に便利です。詳細については、『WebLogic Server アプリケーションのデプロイメント』の「開発ドメインへのアプリケーションの自動デプロイ」を参照してください。

リソース アダプタのデプロイメント名

リソース アダプタ アーカイブ (RAR) またはデプロイメント ディレクトリをデプロイする場合は、myResourceAdapter のように、デプロイメント ユニットの名前を指定する必要があります。この名前を使用すると、後でリソース アダプタをアンデプロイしたり更新したりする場合に、リソース アダプタのデプロイメントを簡単に参照できます。

リソース アダプタをデプロイする場合は、WebLogic Server が、RAR またはデプロイメント ディレクトリのパスおよびファイル名と一致するデプロイメント名を暗黙的に割り当てます。この名前を使用すると、サーバが起動した後にリソース アダプタをアンデプロイまたは更新できます。

リソース アダプタのデプロイメント名は、サーバが再起動されるまで、WebLogic Server 内でアクティブなままです。リソース アダプタをアンデプロイしても、関連付けられたデプロイメント名は削除されません。したがって、後でその名前を使用してリソース アダプタを再デプロイできます。

プロダクションの再デプロイメント

WebLogic Server のプロダクションの再デプロイメント機能を使用すると、同じアプリケーションの古いバージョンと一緒に、WebLogic Server アプリケーションの新しいバージョンを再デプロイできます。デフォルトでは、WebLogic Server は直ちに新しいクライアント リクエストを新しいバージョンのアプリケーションにルーティングする一方で、既存のクライアント接続は古いバージョンにルーティングします。古いバージョンのアプリケーションを使用するすべてのクライアントが作業を完了したら、WebLogic Server は、新しいバージョンだけがアクティブになるように、古いバージョンを廃止します。

Suspendable インタフェースとプロダクションの再デプロイメント

一般に、リソース アダプタ Bean は javax.resource.spi.ResourceAdapter インタフェースを実装します。このインタフェースでは start() および stop() メソッドを定義しています。このタイプのリソース アダプタではプロダクションの再デプロイメントを行うことはできません。リソース アダプタは着信/発信通信で 1 つまたは複数の EIS に接続します。すべての通信は、アプリケーション サーバの知識を使用せずに、リソース アダプタ独自の方法で実行されます。実行時にプロダクションの再デプロイメントが試行された場合、アプリケーション サーバは、既存のリソース アダプタから新しいインスタンスへの接続の移行を管理できるように、リソース アダプタに通知を提供するだけです。ただし、リソース アダプタは Suspendable インタフェースを実装できます。このインタフェースは、リソース アダプタがプロダクションの再デプロイメントに参加するための機能を提供します。Suspendable インタフェースの実装の詳細については、「リソース アダプタのアクティビティの中断と再開」を参照してください。

プロダクションの再デプロイメントの要件

プロダクションの再デプロイメントが機能するためには、リソース アダプタの古いバージョンと新しいバージョンの両方で、以下の要件をすべて満たしている必要があります。満たされていない場合、再デプロイメントは失敗します。

プロダクションの再デプロイメントのプロセス

以下のプロセスでは、リソース アダプタの古いバージョンがデプロイされて実行中であると仮定しています。また、古いバージョン (「old」) と新しいバージョン (「new」) の両方のリソース アダプタが、「プロダクションの再デプロイメントの要件」で述べた要件をすべて満たしており、『WebLogic Server アプリケーションのデプロイメント』の「プロダクション環境でのアプリケーションの更新」で示されたアプリケーションの要件も満たしていることとします。

プロダクションの再デプロイメント時に、リソース アダプタに以下のような呼び出しが行われます。

  1. WebLogic Server は new.init(old, null) を呼び出して、新しいリソース アダプタに古いリソース アダプタと交代することを通知します。
  2. WebLogic Server は old.startVersioning(new, null) を呼び出して、古いリソース アダプタに、新しいリソース アダプタと共にプロダクションの再デプロイメント処理を開始することを通知します。
  3. WebLogic Server は new.start(extendedBootstrapContext) を呼び出します。「拡張された BootstrapContext」を参照してください。
  4. 古いリソース アダプタは、「終了」すると (つまり、すべてのクライアントおよび着信接続を新しいリソース アダプタに正常に移行し終えると)、(ExtendedBootstrapContext)bsCtx.complete() を呼び出します。これは、WebLogic Server に、古いリソース アダプタをアンデプロイしてもよいことを通知するものです。
  5. アンデプロイメントが行われると、WebLogic Server が old.stop() を呼び出して、プロダクションの再デプロイメントは完了します。

new.init()old.startVersioning() の呼び出しによって、新旧のリソース アダプタは、着信または発信の通信を古いリソース アダプタから新しいリソース アダプタに移行することができます。この処理方法は個々のリソース アダプタ開発者の裁量に任されています。


  ページの先頭       前  次