IBM MQ での WebSphere Application Server の使用

IBM® MQ および IBM MQ for z/OS® は、WebSphere® Application Server に組み込まれているデフォルトのメッセージング・プロバイダーと併用したり、プロバイダーの代わりとして使用したりすることができます。

IBM MQ メッセージング・プロバイダーは、 WebSphere Application Serverの一部としてインストールされます。 これには、 IBM MQ リソース・アダプターのバージョンと、キュー・マネージャーがアプリケーション・サーバーによって管理される XA トランザクションに参加できるようにする IBM MQ Extended Transactional Client 機能が含まれます。 リソース・アダプターを使用して、メッセージ駆動型 Bean は活動化仕様またはリスナー・ポートのいずれかを使用するよう構成できます。

アプリケーション・サーバーをサポートするには、 IBM MQ リソース・アダプターのインストール検査テスト・プログラム をアプリケーション・サーバーにデプロイして、正常に実行する必要があります。 IBM MQ リソース・アダプターのインストール検査テスト・プログラムが正常に実行されると、 IBM MQ リソース・アダプターは、サポートされている任意の IBM MQ キュー・マネージャーに接続できます。

WebSphere Application Server から IBM MQ への JMS 接続

WebSphere Application Serverで使用できる IBM MQ のレベルを考慮する前に、アプリケーション・サーバー内部で実行される Java Message Service (JMS) アプリケーションが IBM MQ キュー・マネージャーに接続する方法を理解することが重要です。

IBM MQ キュー・マネージャーのリソースにアクセスする必要がある JMS アプリケーションは、以下のいずれかのトランスポート・タイプを使用してアクセスできます。
BINDINGS
このトランスポートは、アプリケーション・サーバーとキュー・マネージャーが同じマシンおよびオペレーティング・システム・イメージにインストールされている場合に使用できます。 BINDINGS モードを使用する場合、2 つの製品の間のすべての通信はプロセス間通信 (IPC) を使用して行われます。
IBM MQ メッセージング・プロバイダーには、BINDINGS モードで IBM MQ キュー・マネージャーに接続するために必要なネイティブ・ライブラリーが含まれていません。 BINDINGS モード接続を使用するには、 IBM MQ がアプリケーション・サーバーと同じマシンにインストールされ、リソース・アダプターのネイティブ・ライブラリー・パスが、これらのライブラリーが配置されている IBM MQ ディレクトリーを指すように構成されている必要があります。 詳しくは、 WebSphere Application Server 製品資料を参照してください。
[z/OS] z/OSでは、 WebSphere Application Server 接続ファクトリーをバインディング・モードで IBM MQ キュー・マネージャーに接続する場合、 WebSphere Application Server STEPLIB 連結で正しい IBM MQ ライブラリーを指定する必要があります。 詳しくは、 WebSphere Application Server 製品資料の IBM MQ ライブラリーおよび WebSphere Application Server for z/OS STEPLIB を参照してください。
CLIENT
クライアント・トランスポートは、WebSphere Application ServerIBM MQ の間の通信に TCP/IP を使用します。 CLIENT モードはアプリケーション・サーバーとキュー・マネージャーが別のマシンに配置されている場合に使用されるだけでなく、2 つの製品が同じマシンおよびオペレーティング・システム・イメージにインストールされている場合にも使用できます。

JMS アプリケーションは、BINDINGS_THEN_CLIENT のトランスポート・タイプを指定することもできます。 このトランスポート・タイプが使用される場合、アプリケーションは最初に BINDINGS モードを使用してキュー・マネージャーに接続しようとします。 接続できない場合は、CLIENT トランスポートを試行します。

WebSphere Application Server 内にインストールされている IBM MQ リソース・アダプターのバージョンを確認する方法

WebSphere Application Server内にインストールされている IBM MQ リソース・アダプターのバージョンについては、技術情報「 Which version of WebSphere MQ Resource Adapter (RA) is shipped with WebSphere Application Server?」を参照してください。

以下の Jython および JACL コマンドを使用して、 WebSphere Application Server が現在使用しているリソース・アダプターのレベルを判別できます。
Jython
wmqInfoMBeansUnsplit = AdminControl.queryNames("WebSphere:type=WMQInfo,*")
wmqInfoMBeansSplit = AdminUtilities.convertToList(wmqInfoMBeansUnsplit)
for wmqInfoMBean in wmqInfoMBeansSplit: print wmqInfoMBean; print 
AdminControl.invoke(wmqInfoMBean, 'getInfo', '')
注: このコマンドを実行するには、入力後に 「戻る」 を 2 回クリックする必要があります。
JACL
set wmqInfoMBeans [$AdminControl queryNames WebSphere:type=WMQInfo,*]
foreach wmqInfoMBean $wmqInfoMBeans {
puts $wmqInfoMBean;
puts [$AdminControl invoke $wmqInfoMBean getInfo [] []]
}

リソース・アダプターの更新

アプリケーション・サーバーとともにインストールされる IBM MQ リソース・アダプターに対する更新は、WebSphere Application Server フィックスパックに組み込まれています。 「リソース・アダプターの更新 ...」 を使用して IBM MQ リソース・アダプターを更新しています。 WebSphere Application Server Administrative Console の機能は推奨されません。 WebSphere Application Server フィックスパックで提供されている更新は無効になるためです。

MQ_INSTALL_ROOT 変数

WebSphere Application Server 7.0以降、MQ_INSTALL_ROOT はネイティブ・ライブラリーを見つけるためにのみ使用され、リソース・アダプターで構成されたネイティブ・ライブラリー・パスによってオーバーライドされます。

WebSphere Application Server から IBM MQ への接続

重要:
  1. サポートされているすべてのバージョンの WebSphere Application Server は、それにバンドルされている IBM MQ リソース・アダプターを使用して、サポートされている任意のバージョンの IBM MQに接続できます。
  2. バインディング・モードを使用する場合、 WebSphere Application Server の特定のライブラリーは、接続先のキュー・マネージャーのバージョンと一致する必要があります。
    • WebSphere Application Server は、 IBM MQ 9.3で提供されるネイティブ・ライブラリーをロードするように構成する必要があります。 詳しくは、「 Java Native Interface (JNI) ライブラリーの構成 」を参照してください。
    • [z/OS] z/OSでは、 WebSphere Application Server STEPLIB 連結に正しい IBM MQ ライブラリーを指定する必要があります。

      必要な IBM MQ ライブラリーの詳細については、IBM MQ ライブラリおよび WebSphere Application Server for z/OS STEPLIB」を参照してください。

      あるバージョンの IBM MQ 用のライブラリーが LINKLIST (LINKLST) 内にある場合は、ライブラリーを STEPLIB でオーバーライドすることにより、別のバージョンの IBM MQ に接続できます。

  3. IBM MQ リソース・アダプターのバージョンは、キュー・マネージャーのインストールによって提供されるネイティブ (共有) ライブラリーのバージョンとは無関係です。

    例えば、 IBM WebSphere MQ 7.1 リソース・アダプターを使用する WebSphere Application Server 8.5でも、 IBM MQ 9.0 ネイティブ・ライブラリーを使用して IBM MQ 9.0 キュー・マネージャーへのバインディング接続を管理できます。

詳しくは、「 IBM MQ resource adapter statement of support」を参照してください。

BINDINGS および CLIENT トランスポート・タイプは、任意のバージョンの WebSphere Application Serverから IBM MQ に接続するために使用できます。 BINDINGS トランスポート・タイプの場合は、以下の制約事項が適用されます。

  • IBM MQ は、アプリケーション・サーバーと同じマシン上にインストールする必要があります。
  • WebSphere Application Server は、 IBM MQで提供されるネイティブ・ライブラリーをロードするように構成する必要があります。
  • [z/OS] z/OSでは、 WebSphere Application Server 接続ファクトリーをバインディング・モードで IBM MQ キュー・マネージャーに接続する場合、 WebSphere Application Server STEPLIB 連結に正しい IBM MQ ライブラリーを指定する必要があります。
次の表は、 IBM MQ リソース・アダプターの各バージョンの実行がサポートされている WebSphere Application Server のバージョンを示しています。
表 1. WebSphere Application Server のバージョンを IBM MQ リソース・アダプターのバージョンにマップする。
IBM MQ リソース・アダプターのバージョン このバージョンのリソース・アダプターはどのバージョンの WebSphere Application Server で実行できますか?
IBM MQ 9.0 以降
リソース・アダプターは以下で実行できます。
  • WebSphere Liberty の任意の Java EE 7 対応バージョン。
  • WebSphere Application Server 9.0
IBM MQ 8.0 リソース・アダプターは、 Java EE 7 準拠の任意のバージョンの WebSphere Liberty で実行できます。

IBM MQ 8.0 リソース・アダプターは、 WebSphere Application Serverでの実行がサポートされていません。 IBM MQ 8.0 キュー・マネージャーに接続するには、 WebSphere Application Server に既にインストールされているリソース・アダプターを使用する必要があります。