...

メッセージング 1 WebSphere Application Server V6.1 Update 日本IBM SWG 藤田裕子

by user

on
Category: Documents
95

views

Report

Comments

Transcript

メッセージング 1 WebSphere Application Server V6.1 Update 日本IBM SWG 藤田裕子
WebSphere Application Server V6.1 Update
メッセージング
日本IBM SWG 藤田裕子
インフラストラクチャー 屋正樹
ISE Web
1
Disclaimer
この資料は日本アイ・ビー・エム株式会社ならびに日本アイ・ビー・エム
システムズ・エンジニアリング株式会社の正式なレビューを受けておりま
せん。
当資料は、資料内で説明されている製品の使用を保証するものではあり
ません。
資料の内容には正確を期するよう注意しておりますが、この資料の内容
は2006年7月現在の情報であり、製品の新しいリリース、PTFなどによっ
て動作、仕様が変わる可能性があるのでご注意下さい。
今後国内で提供されるリリース情報は、対応する発表レターなどでご確
認ください。また、当資料に記載された製品名または会社名はそれぞれ
の各社の商標または登録商標です。
2
メッセージング新機能
メッセージング新機能 概要
SIBus Messaging Engine機能
-
ファイル・ベースのメッセージ・ストア
V6.1でデータ・ストアにファイルを選択可能(V6.0ではDBのみ)
バス・セキュリティの拡張
-
「バス・セキュリティ」画面の提供
メッセージングリソースにアクセス可能なトランスポート、ユーザ/グループの定義が可能
「厳密なメッセージ順序を維持」オプションの追加
-
メッセージの順序性の設定
新しいWMQとの接続形態
-
サーバー
WebSphere MQ
WebSphere MQ messaging provider
-
新しいWMQとの接続形態の提供
キュー・マネージャー・グループ接続機能のサポート
その他
-
Service Integration Bus Explorer
のメッセージングの新機能概要です。
SIBusのMessaging Engine機能では、主に3点の新機能があります。
• ファイル・ベースのデータ・ストア
WAS V6.0では、メッセージング・エンジン(ME)を稼働するためにはデータ・ベースが必要でした。その
データ・ベースは、メッセージ・パーシスタンス、ステイタス情報やトランザクションのロギングに使用されま
す。V6.1から、このデータ保管先のことを「メッセージ・ストア」と呼び、データ・ベース以外に、フラット・ファ
イルを選択することができるようになりました。
• バス・セキュリティの拡張
V6.1から管理コンソール上に「バス・セキュリティ」パネルが提供され、バス・セキュリティの設定がしやすく
なりました。
管理コンソールから、メッセージング・リソースにアクセス可能なトランスポート(通信プロトコル)や、バス・コ
ネクターロールのユーザー/グループを指定できるようになりました。
• メッセージの順序性設定
宛先にメッセージの順序性を保証するための「厳密なメッセージ順序を維持」オプションが追加されました。
V6.1
から、WMQとの新しい接続形態として「WebSphere MQサーバー」が追加されました。この機能は、
上のWebSphere MQとの接続をサポートします。
また、既存のWebSphere MQ メッセージング・プロバイダーの接続方法では、キュー・マネージャー・グ
ループ接続機能の使用がサポートされました。
その他、SIBus上の宛先のメッセージ等をGUIで見ることができる管理ツールとして「Service Integration
Bus Explorer」がalphaWorksより提供されました。
各詳細については、このページ以降で説明します。
V6.1
z/OS
3
【補足】
機能
補足】SIBus Messaging Engine機能
WAS
上で非同期通信を提供する基盤
- アプリケーション・サーバー上にメッセージング・エンジン(ME)が稼働
- 高可用性・拡張性機能やWMQに接続する機能(MQリンク)も提供
- WAS のSIBWS機能やWESB/WPS内部でも使用されている
「SIBus」と「宛先」
- アプリケーションはSIBus上に定義された宛先に対してアクセス
JMSアプリケーションの場合、“デフォルトJMSプロバイダー”でリソース定義
- 「宛先」の実体は、ME上のキューポイント
WAS V6 SIBus
アプリケーション・サーバー
JMS
アプリケーション
MDB
put/get pub/sub
宛先
宛先
宛先
メッセージング・
エンジン
機能について補足します。
この機能はV6.0より提供された機能で、WAS上で非同期通信を提供する基盤です。WASのセル内に
SIBusを定義し、SIBusのバス・メンバーにアプリケーション・サーバー(あるいはクラスター)を登録すること
によって、アプリケーション・サーバー上にメッセージング・エンジン(ME)が自動的に作成されます。
メッセージング機能には、MEのファイルオーバー、MEの並行稼働のような高可用性・拡張性機能があり
ます。他にもWMQと接続するMQリンクと呼ばれる機能もあります。このWASのメッセージング機能は、現
在、WASのSIBWS(Webサービスの使用可能化 )機能やWebSphere ESB(WESB)、WebSphere Process
Server(WPS)内部でも非同期通信基盤として使用されています。
SIBus Messaging Engine
上にメッセージの送信先として「宛先」を定義し、アプリケーションはSIBus上の宛先に対してメッ
セージの送受信を行います。JMSアプリケーションの場合は、リソースの「デフォルトJMSプロバイダー」で
接続ファクトリー(SIBus)とキュー/トピック(宛先)の定義をします。
SIBus
のメッセージング機能詳細については、以下の資料をご覧ください。
◆WebSphere V6 SIBus基盤構築ワークショップ資料
社内DB「ザ・技術」にて公開
WSDDにて公開 http://www.ibm.com/jp/software/websphere/developer/was/wv6/sibus/
WAS
4
ファイル・
ファイル・ストア
WAS 6.1では、2種類のメッセージ・ストアを利用可能
-
データ・ストア
New
V6.1-
WAS 6.0と同様に、データ・ベースにメッセージを書き出す。
データ・ベース上の1スキーマを指定。
ファイル・
ファイル・ストア
WAS 6.1の新機能で、ローカル・ファイル・システムにメッセージを書き出す。
ログ、永続ストア、一時ストアの出力先ディレクトリをそれぞれ指定。
Application Server
RDBMS
Application Server
Messaging Engine
Schema
[Data Store]
Messaging Engine
Table
Table
Table
Table
データ・
データ・ストア
File system
Log file
Permanent store
file
Temporary store
file
ファイルストア
では、メッセージング・エンジン(ME)を稼働するためにはデータ・ベースを用意する必要があり
ました。そのデータ・ベースは、メッセージの永続化、ステイタス情報の格納、トランザクションのロギングな
どに使用されます。V6.1から、このデータ書き出し先を「メッセージ・ストア」と呼び、データ・ベース以外に、
フラット・ファイルを選択することができるようになりました。データ・ベースを使用したメッセージ・ストアを
「データ・ストア」と呼び、フラット・ファイルを使用したメッセージ・ストアを「ファイル・ストア」と呼びます。
【ファイル・ストアで使用されるファイル】
◆Log file (ログ・ファイル)
MEを構成すると、初回起動時に設定されたログ・サイズ分、ディスク領域を確保します。先頭から末尾に
向かって、ローカル・トランザクションのログを書き出します。使い切ってしまうと、古いログを先頭から上書
きしていきます。 (TMログとは異なります。) ME上での保持期間が短いメッセージは、メッセージの信頼
性に依っては、ログのみに書き出されて、永続ストアや一時ストアには書き出されません。
◆Permanent store file (永続ストア・ファイル)
MEを構成すると、初回起動時に設定された最小永続ストア・サイズ分、ディスク領域を確保します。ファイ
ルに収まらなくなると、最大永続ストア・サイズに指定したサイズまで、必要な分ずつ拡張していきます。
◆Temporary store file (一時ストア・ファイル)
MEを構成すると、初回起動時に設定された最小一時ストア・サイズ分、ディスク領域を確保します。ファイ
ルに収まらなくなると、最大一時ストア・サイズに指定したサイズまで、必要な分ずつ拡張していきます。
WAS V6.0
【Information Center : File store configuration attributes】
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.pmc.nd.doc/c
oncepts/cjm1450_.html
5
ファイル・
ファイル・ストア
ファイル・
ファイル・ストアの
ストアの利点
MEを使用する際に、データ・ベース(RDBMS)が不要
-
-
構成簡略化
RDBMSを構築する必要が無い
RDBMS障害を考慮する必要が無い
RDBMSの運用管理を行う必要が無い
運用効率向上
パフォーマンス向上
多くのケースでパフォーマンスの向上が見込める
•
構成によっては、データ・ストアの方がパフォーマンスが優れている場合あり
ファイル・ストアを利用することで、いくつかのメリットが得られます。
・構成簡略化
ファイル・ストアを利用すると、OS上のファイルとしてデータを出力する為、RDBMSが不要です。そのため、
RDBMSを構築する手間を省くことが出来ますし、障害箇所も減ります。
・運用効率向上
の運用管理を行う必要がなくなります。例えば、データ・ストア障害に備えて取得する、RDBMSの
バックアップより、ログ・ファイルやストア・ファイルのバックアップを取得する方が一般的に容易です。
RDBMS
・パフォーマンス向上
データ・ストアにおけるME-RDBMS間のトランザクションは、ファイル・ストアではありませんので、処理が
効率化され、パフォーマンスの向上が見込めます。ただし、 パフォーマンスについては、データ・ストアに
利用するDBのパフォーマンス次第で、ファイル・ストアよりデータ・ストアの方がパフォーマンス的に優れて
いる場合があります。
6
ファイル・
ファイル・ストア
ファイル・
ファイル・ストア利用時
ストア利用時の
利用時の注意点
のフェイルオーバー構成をとる場合は、ファイル・ストアは共有ディスクに配置し、MEを
引く継ぐアプリケーション・サーバーからアクセスできるように構成する必要がある。
ME
-
HAマネージャーによるMEの“自動”フェイルオーバーを使用する場合、ファイルシステムは以下の
要件をみたすこと。
-
上記ファイル・システムの要件を満たせないファイル・システムを利用する場合、MEの“自動”フェイ
ル・オーバーは利用不可能。
手動やHACMPを利用してMEファイル・オーバーを行うことは可能
バックアップやリストアは、永続ストア・一時ストア・ログを、まとめて取得する。
-
排他ロック取得可能
任意のクライアントから、他のクライアントからの排他ロックを解除可能であること
バックアップ、リストア時には、必ずMEを停止する。
永続ストアや一時ストアは、自動でshrinkやcompactionされることはない為、フラグメン
テーションが増加する場合がある。
-
フラグメンテーションを解消するためには、ストア・ファイルの最大サイズを小さく設定し、サーバー
を再起動する。これにより、MEがストア・ファイルのサイズの縮小を行う際、shrinkやcompactionを
試みる。
ファイル・ストア利用時の注意点です。
MEのフェールオーバー構成をとる場合、ファイルストアは共有ディスクに配置し、MEを引き継ぐアプリ
ケーション・サーバーからアクセスできるように構成する必要があります。その
際、各アプリケーション・サー
バーが、
MEのファイル・ストアに同じファイルパスでアクセスできるように構成します。
MEが起動すると、アプリケーション・サーバーは、ログ・ファイルとストア・ファイルに排他ロックをかけます。
1つファイル・ストアに1つのMEしかアクセスしないよう制御する仕組みになっています。
MEの自動フェイルオーバーが発生する場合、HAマネージャーによってMEを引き継いだアプリケーショ
ン・サーバーが、ログ・ファイルとストア・ファイルの
排他ロックを取得できな
ければなりません。ファイル・スト
アの出力先を、NFS V4や、CIFSのようなネットワーク・ファイル・システ
ム
上に設定すると、
MEはHAマネー
ジャーによって自動フェイル・オーバーを利用できます。これに対して、NFS V3では、障害が発生した
サーバーが取得している排他ロックを、別のサーバーが解除できない為、自動フェイル・オーバーを利用
できません。
自動フェイル・オーバーが利用できないファイル・システムの場合は、手動やHACMPを利用してMEフェ
イル・オーバーを行うことは可能です。詳細は下記Information Centerに記載されている参考資料
(「Transactional high availability and deployment considerations in WebSphere Application Server V6」)も
ご参照下さい。
バックアップやリストアは、ログ・ファイルとストア・ファイルをME3つのファイルをまとめて
する必要があります。バックアップ、リストア時には、必ず
を停止してください。 取得あるいはリストア
永続ストアや一時ストアは、
長時間キューにとどまるメッセージにより、フラグメンテーションが
増加する傾
向があります。また、MEは自動的に
shrinkやcompactionを行わない為、フラグメンテーションが自動で解
消ない為、通
されることはありません。一般的なキューの利用方法では、永続性の高いデータを保持し続けることは
常フラグメンテーションが問題になることはありませんが、意図的にフラグメンテーションを解消
するには、一度ストア・ファイルの最大サイズを小さく設定してからアプリケーション・サーバーを再起動す
ることで、ストア・ファイルの縮小を試みます。
【Information Center : File store high availability considerations】
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.pmc.nd.doc/c
oncepts/cjm1460_.html
7
ファイル・
ファイル・ストア
【参考】
参考】ログ/ストア
ログ ストア・
ストア・ファイルの
ファイルのオーバーフロー
ログ・ファイルのオーバーフロー
-
アクティブなトランザクションのログを保持する為、1トランザクション内で大量のログを
書き出す処理を行う場合、オーバーフローしやすい。
(例)1トランザクションで大量のログを書くケース
・ 1トランザクションで、大量のパーシスタント・メッセージをPUTする場合。
・ 1トランザクションで、サイズの大きいパーシスタント・メッセージをPUTする場合。
非パーシスタント・メッセージの場合もログは書き出すが、ログ・フルより先に、
OutOfMemoryErrorが発生することが多い。
com.ibm.ws.objectManager.LogFileFullException: CWSOM1027E : ....
しかかり中のトランザクションはロールバック。
が発生。
ストア・ファイル(永続ストア、一時ストア)のオーバーフロー
-
パーシステント・メッセージがキューに溜まりすぎた場合、永続ストアがオーバーフロー。
非パーシステント・メッセージがキューに溜まりすぎた場合、一時ストアがオーバーフ
ロー。ただし、一時ストアが溢れる前に、OutOfMemoryErrorが発生しやすい。
com.ibm.ws.objectManager.ObjectStoreFullException: CWSOM1042E: ....が発生。
しかかり中のトランザクションはロールバック。
ファイル・ストアのログファイルに書き込むスペースが足りなくなった場合の挙動についてテストした結果で
す。(V6.1.0.0)
ログ・ファイルには、MEに対するしかかり中のトランザクションの経過を書き出します。このログを書き出す
スペースが足りなくなると、アプリケーションには例外が返り、トランザクションはロールバックされます。この
時アプリケーションにはLogFileFullExceptionが返ります。
永続ストア・ファイルには、ME上の宛先に送信されたパーシスタント・メッセージを書き出します。パーシス
タント・メッセージを書き出すスペースが足りなくなると、アプリケーションに例外が返ります。しかかり中のト
ランザクションはロールバックされます。
一時ストア・ファイルには、ME上のキャッシュ・バッファを溢れたノンパーシスタント・メッセージを書き出し
ます。書き出すスペースが足りなくなると、アプリケーションに例外が返り、しかかり中のトランザクションは
ロールバックされます。ただし、ノンパーシステント・メッセージの書き込みは非同期で行われる為、
OutOfMemoryが先に発生する可能性もあります。
8
ファイル・
ファイル・ストア
【参考】
参考】ファイル・
ファイル・ストアの
ストアの設定項目
WAS 6.1.0.0 [2006/07/07現在]
種類
ログ
永続ストア
[Permanent store]
一時ストア
[Temporary store]
設定項目
ログ・サイズ
ログ・ディレクトリー・パス
最小永続ストア・サイズ
永続ストア・サイズ無制限
最大永続ストア・サイズ
永続ストア・ディレクトリー・パス
最小一時ストア・サイズ
一時ストア・サイズ無制限
最大一時ストア・サイズ
一時ストア・ディレクトリー・パス
デフォルト値
デフォルト値
100 [MB]
${USER_INSTALL_ROOT}/filestores/com.ibm.ws.si
b/messagingEngineName/log
200 [MB]
false
500 [MB]
${USER_INSTALL_ROOT}/filestores/com.ibm.ws.si
b/messagingEngineName/store
200 [MB]
false
500 [MB]
${USER_INSTALL_ROOT}/filestores/com.ibm.ws.si
b/messagingEngineName/store
9
バス・
バス・セキュリティ
バス・
バス・セキュリティ設定画面
セキュリティ設定画面の
設定画面の提供
バスの「セキュリティ」設定画面を提供
-
管理コンソール
バス・セキュリティーの使用可能の設定
-
【バス・セキュリティー設定画面】
設定画面で「バス・セキュリティーを使用可能に設定」をチェック
前提として「管理セキュリティー」が使用可能に設定されている必要あり
「サービス統合」→「バス」→バス名
→「セキュリティー」
「セキュリティー」→「バス・セキュリティー」
→バス名→「セキュリティー」
V6.0ではグローバルセキュリティの使用可能が前提
セキュリティ設定画面では新しく以下の設定が可能
-
「許可トランスポート」
「バス・コネクター・ロールを持つユーザーおよびグループ」
より、管理コンソールにバスのセキュリティー設定画面が追加され、バス・セキュリティーの設定
がしやすくなりました。
バス・セキュリティの使用可能の設定もバス・セキュリティー設定画面で行います。バス・セキュリティーを使
用可能にする場合、V6.0ではグローバル・セキュリティーを使用可能に設定する必要がありましたが、
V6.1では管理セキュリティーを使用可能にしておく必要があります。
このセキュリティ設定画面が追加され、管理コンソールから、新しくSIBusの通信に使用するトランスポート
(通信プロトコル)の指定や、バス・コネクター・ロールのユーザー、あるいはグループの指定を出来るよう
になりました。
WAS V6.1
10
バス・
バス・セキュリティ
許可トランスポート
許可トランスポート
バスのアクセスに使用できるトランスポートを指定可能
-
“バス毎”に設定が可能
許可トランスポートの3つのオプション
-
V6.0では“アプリケーション・サーバー毎”の設定が必要
「すべての定義済みトランスポート・チャネル・チェーンの使用を許可する」
「定義済みトランスポート・チャネル・チェーンの使用を、SSL で保護されたものに制限する」
「定義済みトランスポート・チャネル・チェーンの使用を、許可トランスポートのリストに制限する」
追加プロパティの「許可トランスポート」のリストで指定したトランスポート・チャネル・チェーンの
みに制限する
「許可トランスポート」のリストの設定
-
追加プロパティの「許可トランスポート」で許可するトランスポートをドロップ・ダウン リストから選択
【許可トランスポートの指定画面】
の通信で使用するトランスポートを制限する場合、V6.0では、バス・メンバー毎、つまり“アプリケー
ション・サーバー毎に”トランスポートの有効/無効の設定が必要でしたが、V6.1からは“バス単位で”使用
するトランスポートを指定できるようになりました。
SIBus
つのオプションが設定可能です。
• 「すべての定義済みトランスポート・チャネル・チェーンの使用を許可する」
アプリケーション・サーバーで定義されている全てのトランスポート・チャネル・チェーンでのアクセスが可
能な設定です。
• 「定義済みトランスポート・チャネル・チェーンの使用を、SSL で保護されたものに制限する」
アプリケーション・サーバーで定義されているトランスポト・チャネル・チェーンのうち、SSL通信のものでの
アクセスが可能な設定です。
• 「定義済みトランスポート・チャネル・チェーンの使用を、許可トランスポートのリストに制限する」
追加プロパティの「許可トランスポート」で指定したトランスポート・チャネル・チェーンのリストのみに制限し
ます。「許可するトランスポート」画面では、ドロップ・ダウン・リストから使用するトランスポートを選択し追加
できるようになっています。
3
11
バス・
バス・セキュリティ
バス・
バス・コネクター・
コネクター・ロールを
ロールを持つユーザーおよび
ユーザーおよびグループ
およびグループ
バスにアクセスを許可するユーザーあるいはグループを指定
-
SIBus
ではロール・ベースの認可機能を提供
「バス・コネクター・ロール」( BusConnector)
•
ユーザーおよびグループの指定
バス上のローカル宛先にアクセス可能なロール
グループ名
ユーザー名
「Server」(サーバーID:認証なしにMDBを使用する場合)
「AllAuthenticated」(すべての認証ユーザー)
「Everyone」(非認証ユーザーを含め全てのユーザー可)
デフォルトは「Server」のみ
【ユーザーおよびグループの指定画面】
バス・セキュリティーではロール・ベースの認可機能を提供しています。
V6.0でこの機能を設定を行うにはwsadminコマンドでの設定が必要でした。V6.1からは、バス・コネク
ター・ロールのユーザー、あるいはグループの追加を管理コンソールから設定できるようになりました。デ
フォルトの認証ポリシーでは、バス・コネクター・ロールを付加されたユーザー(あるいはグループ)はバス
上のローカル宛先にアクセス可能になります。
デフォルトは「System」グループのみなので、アクセス時に使用するユーザー名(あるいはグループ名)が
アクセスできるようにユーザー名、グループ名を追加する必要があります。
バス・セキュリティー機能では、他にも宛先のアクセスをコントロールする「Sender」「Receiver」「Browser」
「Creator」「IdentityAdopter」ロールが提供されており、宛先毎にさらにきめ細かいセキュリティ設定が可能
ですが、それらの設定は従来通りwsadminコマンドでの設定になります。
12
メッセージの
メッセージの順序性
「厳密なメッセージ順序を維持」オプションの提供
-
メッセージの順序性を保証するための設定オプション
宛先に対して設定
以下の設定が自動的が行われる
複数のコンシューマーによる並行処理を許可しない
•
-
※管理コンソール→「サービス統合」→「バス」
→バス名→「宛先」→宛先名
キューの「排他的受信」の設定、トピック・コネクション・ファクトリーの「永続サブスクリプションを共用=
共用しない」と設定と同等
アクティベーション・スペックの「最大並行エンドポイント数」と「最大バッチ・サイズ」の値を1に
オーバーライドする
メディエーションの「並行メディエーションを許可」の値をOFFにオーバーライドする
インダウト(例:トランザクションの途中でコミットされていない)のメッセージが残った状態で、
次のメッセージの受信処理を開始しない
考慮点 (詳細はInformation Center参照)
MEのクラスタリング構成では、順序性は保たれない
例外宛先が設定されている場合、エラー発生時にメッセージ順序が変更される可能性あり
アプリケーションによっては、ひとつのプロデューサーが宛先に送信した順にコンシューマーがメッセージ
を受信する、といったメッセージの順序性の保証が必要な場合があります。
メッセージの順序性を保証するための設定として、「厳密なメッセージ順序を維持」というオプションが追加
されました。宛先に対して設定します。
このオプションを有効にすることによって、以下の設定が自動的に行われます。
1. 複数のコンシューマーによる並行処理を許可しない
この設定は、キューの「排他的受信」の設定、トピック・コネクション・ファクトリーの「永続サブスクリプションを共用=共用しない」と同
等です。
アクティベーション・スペックの「最大並行エンドポイント数」と「最大バッチ・サイズ」の値を1にオーバー
ライドする
3. メディエーションの「並行メディエーションを許可」の値をOFFにオーバーライドする
4. インダウト(例:トランザクションの途中でコミットされていない)のメッセージが残った状態で、次のメッ
セージの受信処理を開始しない
1.~3.は、V6.0でも(個別に設定は必要ですが)設定可能な項目です。4.はV6.1からの新機能です。
2.
「厳密なメッセージ順序を維持」オプションを有効にしても、WASシステム全体で行われる処理において、
メッセージの順序性を完全に保証するわけではありません。例えば、MEがクラスタリング構成で複数の
ME上でメッセージが処理されるような構成の場合は順序性は保たれません。あるいは、例外宛先が設定
されているような場合は、エラー発生時にメッセージ順序が変更される可能性もあります。
メッセージの順序性を維持するための考慮点詳細については、以下のInformation Centerのサイトをご覧
ください。
【Information Center : Strict message ordering for bus destinations 】
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.pmc.nd.doc/concepts/cjo
_message_order_.html
13
【V6.0復習】
復習】
SIBusと
とWebSphere MQとの
との相互接続
との相互接続
WebSphere MQ(WMQ)リンク
-
-
間でメッセージを送受信できる機能
のキュー・マネージャーを外部バスとして定義
は、
のキュー・マネージャーにとって、リモートキュー・マネージャー
であるように振舞う
MEとキュー・マネージャーをチャネル接続(WMQの機能)することで、
SIBus-WMQ間におけるメッセージのやり取りを実現
SIBus WMQ
WMQ
ME
WMQ
WebSphere MQ
Bus
Application Server
Message
Producer
別名宛先
Message
Consumer
宛先
Messaging Engine
リモート
キューポイント
ローカル
キューポイント
Qmgr
MQリンク
CHANNEL
QLOCAL
QREMOTE
Message
Consumer
Message
Producer
で提供されている、WebSphere MQとSIBusとの相互接続機能について復習します。
WAS V6では、SIBusとキュー・マネージャーを接続するために、WebSphere MQ (WMQ)リンクという機能
が提供されています。
WebSphere MQリンクでは、キュー・マネージャーを外部バスとして定義します。反対に、WebSphere MQ
側では、MEをリモート・キュー・マネージャーとして定義します。そして、キュー・マネージャーとME間の
メッセージは、送信チャネルと受信チャネルを介してやりとりされます。なお、送信チャネルと受信チャネル
は、MEとキュー・マネージャーの双方で、明示的に定義する必要があります。
WAS V6
外部バスのキュー・マネージャーと接続する際にチャネル定義を行いますが、このチャネル定義の内部に、
接続先のIPアドレスやポートなどの報を含める必要があるため、MEのフェールオーバー構成をとるには、
IPアドレス、ポートの引継ぎが必要となり、可用性を高める構成は容易ではありませんでした。
14
WebSphere MQサーバー
サーバー
WAS V6.1では「WebSphere MQサーバー」という
新しいサーバー・タイプを定義可能
-
以下の2種類の接続を設定可能
-
WMQ V6 for z/OSのキュー共用グループ
バス・メンバーとしてWebSphere MQサーバーをSIBusに登録することで、自動
的にWMQ キュー・マネージャーとのチャネルが定義される
-
WMQ V6 for z/OSのキュー・マネージャー
分散環境のWMQは、現在のところ利用不可能
WMQ
キュー・マネージャーとの接続は、クライアント接続チャネルを通して行う
アプリケーションはSIBusの宛先に対してメッセージを送受信できる
SIBusのメディエーション機能を利用可能
サーバー
WMQ
Bus
WebSphere MQ for z/OS
QM1
Messaging Engine
CLIENT CHANNEL
LQ1
から、新たなサーバー・タイプとして、「WebSphere MQサーバー」が追加されました。
WebSphere MQ V6 for z/OSのキュー・マネージャーかキュー共用グループを、Websphere MQサーバー
として定義可能です。現在のところ分散環境のWMQでは利用できません。
このWebSphere MQサーバーをバス・メンバーとして登録することで、キュー・マネージャーがMEであるか
のように振舞うことができ、アプリケーションはSIBusの宛先に対してメッセージを送受信できます。
バス・メンバーとしてWebSphere MQサーバーが登録されると、そのキュー・マネージャーに対してクライア
ント接続チャネルが自動的に動き始めます。このクライアント接続チャネルは、WMQサーバーを定義する
際に設定した、サーバー接続チャネルに対して接続します。
また、WebSphere MQサーバーでは、SIBusのメディエーション機能が利用可能です。アプリケーションが
宛先に送信したメッセージをメディエーションで加工してから、WMQ for z/OSのキュー・マネージャーへ
送信することが可能になります。
WAS V6.1
15
サーバー
【補足】
補足】キュー共用
キュー共用グループ
共用グループ
WebSphere MQ
キュー共用グループ (Queue Sharing Group:QSG)
-
の機能
つのキューを複数のキュー・マネージャーで処理可能
キューマネージャ障害発生時、別のキュー・マネージャーで処理を引き継ぐこ
とにより処理を継続可能
WMQ for z/OS
1
サーバーでは、キュー共用グループも定義可能
WebSphere MQ
Bus
WebSphere MQ for z/OS
Queue Sharing Group
QM1
Application Server
Messaging Engine
QSG
QM2
QM3
では、1つにキューに対して複数のキューマネージャからメッセージをPUT/GET
できる、キュー共用グループという機能を利用可能です。この機能を利用することで、キュー共用グルー
プに属するキュー・マネージャーで障害が発生した場合でも、その他のキュー・マネージャー経由で
キューのメッセージを処理でき、可用性の高いシステムを構築できます。
WebSphere MQ for z/OS
サーバーでは、このキュー共用グループも定義可能です。SIBusとWebSphere MQとの接
が提供する高い可用性を享受できます。
WebSphere MQ
z/OS
続で、
16
キュー・
キュー・マネージャー・
マネージャー・グループ接続
グループ接続の
接続のサポート
WebSphere MQ(WMQ)
-
チャネル定義テーブル機能とは、複数のキュー・マネージャーに対して接続を自動的に
切り替え、キュー・マネージャー障害に対する可用性を高めるWMQの機能
クライアント接続チャネル/サーバー接続チャネルを使用
-
ノート参照
WAS V6.1
-
の「チャネル定義テーブル機能」による接続
から、キュー・マネージャー・グループ接続をサポート
WMQ V6
から、Javaのサポートが追加
WebSphere MQ
メッセージング・プロバイダーを使用したWMQ接続で利用可能
Qmgr Group : qmgrp1
Application
Resource Adapter
Connect to
“*qmgrp1”
CCDT
Qmgr1
LQ1
CHANNEL : CHL1
CONNAME : host1(1414)
QMNAME : qmgrp1
Qmgr2
CHANNEL : CHL2
CONNAME : host2(1414)
QMNAME : qmgrp1
LQ2
から、JMSプロバイダーとしてWebSphere MQを使用する接続(「WebSphere MQメッセージン
グ・プロバイダー」)で、「キュー・マネージャー・グループ接続」をサポートしました。キュー・マネージャー・
グループ接続とは、WMQの「チャネル定義テーブル」の機能を指します。
「チャネル定義テーブル」機能とは、複数のキュー・マネージャーに対して接続を自動的に切り替え、
キュー・マネージャー障害に対する可用性を高めるWMQの機能です。クライアント接続チャネル/サー
バー接続チャネルの接続形態で利用可能な機能です。
WAS V6.1
おおまかな設定と接続の流れは以下の通りです。
(1) WMQ側でClient Channel Definition Table(CCDT)ファイルを生成します。CCDTは、任意のキューマ
ネジャー上でクライアント接続チャネルを定義することで自動生成されます。CCDTファイルはバイナリ・
ファイルですので、直接編集はできません。
(2) 接続対象のサーバ接続チャネル情報が書き込まれたCCDTファイルをリソース・アダプターが読み込
む。
(3) リソース・アダプターは、キュー・マネージャー(Qmgr1)との接続が切断されると、アプリケーションに接
続例外を返す。同時に、CCDTに書き込まれている次のキュー・マネージャー(Qmgr2)に対して接続を要
求する。
チャネル定義テーブル機能の詳細やCCDTファイルの生成方法については、WebSphere MQのマニュア
ル、あるいは以下の技術資料を参考にして下さい。
17
キュー・
キュー・マネージャー・
マネージャー・グループ接続
グループ接続 設定方法
WebSphere MQ JMS
ティを設定
-
CCDTURL
-
CCDT
ファイル名(完全修飾名)
例) file://C:/WMQ60/Qmgrs/qm1/@ipcc/AMQCLCHL.TAB
QMANAGER
:
キュー接続ファクトリー(QCF)にカスタム・プロパ
: 接続するキュー・マネージャー名またはグループ名
グループ名
•
切り替え対象の複数のキュー・マネージャー(実際はクライアント接続チャネル)をひとつのグループに
した際のグループの名前。CCDTで事前定義されているもの。
•
QMANAGERカスタムプロパティでグループ名”qmgrp1”を指定する場合、”*qmgrp1”のように先頭に
アスタリスクをつける。
「QMANAGER」の指定の仕方によって、実際接続対象となるキュー・マネー
ジャーは異なる
のQMANAGER属性
Qmgr名
*Qmgrグループ名
グループ名(例:*qma)
検索対象の
検索対象のCCDT QMNAME
実際に
実際に接続する
接続するQmgr名
Qmgr名
指定したQmgr名と同一
Qmgrグループ名 (例:qma)
チェックされない
*
ブランク
チェックされない
ブランク
チェックされない
QCF
ブランク
キュー・マネージャー・グループ接続を使用する際に、WAS側で必要な設定について記述しています。
のキュー・マネージャー・グループ接続機能を利用するには、リソース・アダプターがCCDTファイル
を読み込む必要があります。
“Java”でキュー・マネージャー・グループ接続機能を利用する場合は、リソース・アダプターがCCDTファ
イルを読み込むために、キュー接続ファクトリーのカスタム・プロパティーで、CCDTURLという名前のプロ
パティを新規作成し、値としてファイル名を入力します。同様に、キュー・マネージャー・グループ名を指定
するために、QMANAGERという名前のカスタム・プロパティを新規作成し、値として接続先キュー・マネー
ジャー・グループ名を設定します。
キュー接続ファクトリーに設定した接続先キュー・マネージャー・グループ名によって、CCDTに定義され
た接続先レコードのうち、どこまで参照するかを制限できます。
WMQ
“
”でキュー・マネージャー・グループ接続機能を利用する場合は、管理コンソールの
キュー接続ファクトリーのカスタム・プロパティーでCCDTURL(CCDTファイルの完全
修飾名 および
接続するキュー・マネージャー名またはグループ名)を定義します。
キュー接続ファクトリー(QCF)のQMANAGERに特定のキュー・マネージャー名を指定した場合は、CCDT
のQMNAMEから指定されたキュー・マネージャー名を検索し接続を試みます。QCFのQMANAGERに
*QMGRグループ名を指定した場合は、CCDTのQMNAMEから指定されたキュー・マネージャー・グルー
プ名を検索し順番に接続を試みます。QCFのQMANAGERが*またはブランクの場合は、CCDTの
QMNAMEがブランクのもの(デフォルト・キュー・マネージャー)を検索し順番に接続を試みます。
接続対象のキュー・マネージャーが複数ある場合はチャネル名のアルファベット順に順番に接続が試み
られ、すべての候補に対し接続が失敗した時点でエラーが返るように作動します。
WAS V6.1
WebSphere MQ JMS
)
QMANAGER(
18
Service Integration Bus Explorer
SIBus
-
内のメッセージング・リソースを照会・管理できるGUIツール
問題判別にも有用
宛先へのテスト・メッセージの送信やメッセージのクリアなどの操作も可能
alphaWorks
サイトよりダウンロード可能
は、SIBus内のMessaging Engineや宛先(キューなど)を照会・管理できる
ツールで、
のサイトで公開されダウンロード可能になっています。(WebSphere MQの
エクスプローラーに似たツールです。)内部的にはJMXやJMSを使用しています。宛先へ
のテスト・メッセージ送信やメッセージのクリアなどの操作も可能で、問題判別にも有用です。
Service Integration Bus Explorer
GUI
alphaWorks
WebSphere MQ
Service Integration Bus Explorer
は、alphaWorksの以下のサイトよりダウンロード可能です。
http://www.alphaworks.ibm.com/tech/sibexplorer
19
Fly UP