...

接続性と提供機能の強化 目次 接続性の強化 提供機能の強化

by user

on
Category: Documents
40

views

Report

Comments

Transcript

接続性と提供機能の強化 目次 接続性の強化 提供機能の強化
接続性と提供機能の強化
目次
接続性の強化
SCAノードの提供
WSRRとの連携強化
Fileノードの拡張
SAPノードの拡張
IMSRequestノードの提供
提供機能の強化
PHPのサポート
Sequenceノード-Resequenceノードの提供
PubSub機能の追加
その他
2
接続性の強化
3
SCAノードの提供
WebSphere Process Serverとの相互接続をサポート (V7から)
WPS v6.2との相互接続をサポート
„ WPSのサービス・コンポーネントからWMBに要求を送信
(インバウンド)
(アウトバウンド)
„ WMBのメッセージ・フローからWPSに同期または非同期要求を送信
新規SCAノードを提供
„ SCA
Input/ SCA Replyノード
Request ノード
„ SCA AsyncRequest/Response ノード
:インバウンド接続用
:同期アウトバウンド接続用
:非同期アウトバウンド接続用
„ SCA
-Failure
-Out
-Failure
-Out
-Fault
-Failure
-Out
-Failure
-Out
-Fault
-Catch
-Failure
-Out
以下のバインディングをサポート
„ MQ
„ SOAP
HTTP (SOAP1.1 JAX-RPCのみサポート)
応答メッセージの送信
WPS
WMB
インバウンド・メッセージの受信
4
SCAノードの提供
ブローカーSCA定義を使用してSCAノードを構成
ブローカーSCA定義は以下のいずれかを元に生成
„ WIDv6.2で定義し、エクスポートされたSCAインポート・コンポーネントまたはSCAエクスポート・コンポーネント
–事前にWIDでアプリケーションを作成し、プロジェクト交換(PIファイル)としてエクスポート
–WMBでPIファイルをインポートするとメッセージ定義ファイルとブローカーSCA定義ファイルが生成される
【PIファイルのインポート方法】
①クイックスタート・ウィザード「SCAインポートまたはエクスポートから開始」
②「新規メッセージ定義ファイル」ウィザード
„ WMBメッセージ・セット
–メッセージ定義を元にブローカーSCA定義を作成
–ブローカーSCA定義をエクスポートし、WIDでインポートするとWPSアプリケーションの入出力コンポーネントが生成される
【「ブローカーSCA定義の生成」ウィザード】
【「ブローカーSCA定義からのSCAインポート/エクスポートのエクスポート」ウィザード】
メッセージ・セットを選択し、右クリックし、「生成」
SCA定義が含まれるフォルダーを
右クリックし、「エクスポート」
5
SCAノードの提供
ブローカーSCA定義
インバウンド/アウトバンドそれぞれに応じたブローカーSCA定義を作成
„ インバウンド用
拡張子.insca
–SCAInputノードを構成
„ アウトバウンド用
拡張子.outsca
–SCARequestノードまたは
SCAAsyncRequest/SCAAsyncResponseノードを構成
以下の情報を含む
„ SCAインポートまたはSCAエクスポート・コンポーネント内にあるバインディング・タイプおよびインターフェース情報
„ インターフェースを定義するWSDL
„ メッセージ形式を定義するXSDファイル
メッセージ・フロー・エディタにドラッグ&ドロップでフローの雛形を生成
„ 必要なノードとノード・プロパティはブローカーSCA定義から自動生成
6
アウトバウンド用の場合は、ドラッグ&ドロップ時に、
同期/非同期呼び出しを選択可能
ブローカーSCA定義をドラッグ&ドロップ
SCAノードの提供
SCAInput / SCAReplyノードの主なプロパティ
SCAInputノード
タブ
説明
説明
ノード名、ノードの説明
基本
ブローカーSCA定義の名前、メッセージ・ルーティングの有無を設定
バインディング
Bindingに応じたプロパティ設定
入力メッセージの構文解析
入力メッセージのパースに使用するメッセージ定義
・パーサー・オプション
構文解析のタイミングやパーサー・オプションを指定
妥当性検査
妥当性検査の有無
セキュリティー
ID、パスワードなどのセキュリティ情報に関する設定
インスタンス
フローの実行インスタンス数の設定
再試行
エラー発生時の再試行方法を設定
トランザクション性
トランザクション・モード
モニター
ノードで生成するモニター・イベント
SCAReplyノード
タブ
説明
説明
ノード名、ノードの説明
妥当性検査
妥当性検査の有無
モニター
ノードで生成するモニター・イベント
7
SCAノードの提供
SCARequestノードの主なプロパティ
要求が要求-応答型の場合は応答を受け取るかタイムアウト期間が超過するまで、処理をブロック
要求が片方向の場合は、要求の送信のみ実施
タブ
説明
説明
ノード名、ノードの説明
基本
ブローカーSCA定義の名前
バインディング
Bindingに応じたプロパティ設定や要求タイムアウトを指定
応答メッセージの構文解析
応答メッセージのパースに使用するメッセージ定義
・パーサー・オプション
構文解析のタイミングやパーサー・オプションを指定
妥当性検査
妥当性検査の有無
モニター
ノードで生成するモニター・イベント
8
SCAノードの提供
SCAAsyncRequest / SCAAsyncResponseノードの主なプロパティ
SCAAsyncRequestノードがWPSに要求を送信
SCAAsyncResponseノードがWPSからの応答を受信
両ノードは別フローに配置してもよいが、同一実行グループ内で稼動する必要がある
SCAAsyncRequestノード
タブ
説明
説明
ノード名、ノードの説明
基本
固有ID、ブローカーSCA定義の名前を設定
バインディング
Bindingに応じたプロパティ設定
トランザクション性
トランザクション・モード
モニター
ノードで生成するモニター・イベント
SCAAsyncResponseノード
タブ
説明
説明
ノード名、ノードの説明
基本
固有ID、ブローカーSCA定義の名前を設定
バインディング
Bindingに応じたプロパティ設定
応答メッセージの構文解析
応答メッセージのパースに使用するメッセージ定義
・パーサー・オプション
構文解析のタイミングやパーサー・オプションを指定
妥当性検査
妥当性検査の有無
セキュリティー
ID、パスワードなどのセキュリティ情報に関する設定
インスタンス
フローの実行インスタンス数の設定
モニター
ノードで生成するモニター・イベント
9
blank
10
WSRRとの連携強化
WSRR(WebSphere Registry and Repository) v6.1との連携をサポート
EndpointLookupノード: WSRRからサービスのエンドポイント情報を取得
RegistryLookupノード: WSRRに登録されたサービス文書を取得
サービスB
Webサービス・
リクエスター
サービスA
WebSphere Message Broker
Endpoint
Lookup
Registry
Lookup
SOAP
Request
WSRR
宛先情報や、登録文書をWSRRから
取得し、動的なルーティングやメディエーション処
理を実現
接続タイムアウトのサポート
WSDL
定義
宛先用
XSL
ファイル
(v6.1.0.4から)
WMBはWSRR client jar v6.2.0.2を同梱
„ クライアント側の接続タイムアウトを設定可能
(デフォルト180秒)
„ mqsichangepropertiesコマンドのtimeoutConnectionパラメータで設定
WSRRがダウン時にメッセージ・フローのハングを回避
11
WSRRとの連携強化
検索時に照会の深さを指定可能 (v6.1.0.4から)
RegistryLookupノードでWSRR照会の深さを指定し、返されるエンティティ・データの内容を指定可能
【WSRRグラフ】
「拡張」タブの「深さのポリシー」プロパティで指定
「ConceptA2」
で検索
ConceptA2
ContainsChildren ContainsChildren
ConceptB2
ContainsChildren
ConceptC2
UsedIn
4つのタイプを指定可能
ReferTo
ConceptB3
ReferTo
ConceptZa
ContainsChildren
ConceptD1
深さ
返されるエンティティ・データ
上記WSRRグラフの照会結果 (名前「ConceptA2」で照会)
0
一致したエンティティーのみ返す (デフォルト)
ConceptA2
1
一致したエンティティーおよび直接の関連子エンティティーを返す
ConceptA2,
ContainesChildren: ConceptB2,ConceptB3,
ReferTo: ConceptZa
-1
一致したエンティティーおよびすべての関連子エンティティーを返す
ConceptA2,
ContainesChildren: ConceptB2,ConceptB3,
ReferTo: ConceptZa
ConceptB3のContainsChildren: ConceptC2
ConceptB3のRegerTo: ConceptZa
ConceptC2のContainsChildren: ConceptD1
ConceptD1のUsedIn: ConceptC2
hybrid
前バージョンとの互換性のため提供 (非推奨)
前バージョンからのマイグレーション時は「0」か「1」を使用
一致したエンティティーと関連子エンティティーの情報(bsrURIのリスト)を返す
ConceptA2,
ContainesChildren: ConceptB2,ConceptB3のbsrURI
ReferTo: ConceptZaのbsrURI
12
Fileノードの拡張
SFTP(Secure File Transfer Protocol)のサポート (v6.1.0.4から)
SSH (Secure Shell) プロトコルを使用してファイルをセキュアに転送
„ ポートはデフォルトで22
(FTPは21)
FileInputノード、FileOutputノードの「FTP」タブで設定
転送プロトコル: FTPかSFTPを選択可能
サーバおよびポート: FTPと同様にIPアドレスまたはブローカーに登録したサーバーID情報を指定
セキュリティーID: FTPと同様にブローカーに登録したセキュリティIDを指定
FILEノードの「FTP」タブ
13
Fileノードの拡張
「FtpServer」構成可能サービスを構成し、ブローカーへ宛先サーバー情報を登録
宛先サーバーのIPアドレス/ホスト名:ポート番号をサーバIDとして登録
新たにFTP/SFTPを指定するための「protocol」プロパティを追加
構成可能サービスを使用すると以下のSFTP属性の設定も可能
„ SSH/SFTP通信に使用する暗号(cipher):
blowfish-cbc / 3des-cbc / aes128-cbc
0~9 : 0はno compression
„ 既知のホストの厳密な検査(strictHostKeychecking): ブローカーが接続するホストを制御
„ 既知のhostsファイルの場所(knownHostsFile): strictHostKeyCheckingが有効な場合に必要
接続するホストとキーの情報を保管
„ メッセージ認証コード(mac): hmac-md5 / hmac-sha1
„ 圧縮レベル(compression):
コマンド例:
mqsicreateconfigurableservice MyBroker –c FtpServer –o MySFTPcfgsvc
–n serverName,protocol,securityIdentity,cipher,mac
-v mysftpserver, SFTP, mysftpid, blowfish-cbc+3des-cbc, hmac-sha1
cipherやmacの設定値は+記号を
使用することで、1つ以上の値を
リストとして登録することが可能
mqsisetdbparmsコマンドを使用し、セキュリティID情報をブローカーに登録
SFTPは2つの認証方法をサポート
„ ユーザー名
/ パスワード
mqsisetdbparms MyBroker –n sftp::mysftpid –u <usernemae> -p <password>
„ SSHキーファイル(OpenSSH
format identity files)
mqsisetdbparms MyBroker –n sftp::mysftpid –u <usernemae> -i <identity file> -r <passphrase>
14
SAPノードの拡張
インバウンドでの単純BAPIインターフェース(同期呼び出し)をサポート (V7から)
新規にSAPReplyノードを提供
メッセージフローをRFC サーバー(外部システム)としてSAP から呼び出すことが可能
WMB
BAPI呼び出し
SAPシステム
SAPInput
SAPReply
-Failure
-Out
15
(参考) WMBのSAP接続インターフェース
アウトバウンド処理インターフェース
カテゴリ
インターフェイス
概要
BAPI
(同期)
単純BAPI
単一BPAIを同期で送る
BAPI作業単位
複数BAPIを1UOWで送る
BAPI結果セット
GetListとGetDetailの組み合わせ
BAPI
(非同期)
単純BAPI(tRFC)
tRFCを利用した非同期の単純BAPI。結果を待たない
単純BAPI(qRFC)
qRFCを利用した非同期の単純BAPI。結果を待たない
Query Interface for SAP Software (QISS)
RFC 関数または BAPI を使用しないで SAP テーブルからデータを取り出す
ALE
IDoc形式
ALE
ALEパススルー
変換なしのIDoc形式
ALE(qRFC)
qRFCを利用したIDoc形式
拡張イベント処理(AEP)
データをSAPサーバーに送信し、データがSAPサーバー上のABAPハンドラーによって処理される
インバウンド処理インターフェース
カテゴリ
インターフェイス
概要
Synchronous Callback Interface (SCI)
イベントをlisten し、RFC対応関数呼び出しの通知をSAPサーバーから受信。要求を事前定義
アプリケーションに送信し、応答をSAPサーバーに戻す
BAPI (同期)
単純BAPI
単一BAPIを同期で送る
BAPI
(非同期)
単純BAPI(tRFC)
tRFCを利用した非同期の単純BAPI。結果を待たない
単純BAPI(qRFC)
qRFCを利用した非同期の単純BAPI。結果を待たない
ALE
ALE
IDoc形式
ALEパススルー
変換なしのIDoc形式
ALE(qRFC)
qRFCを利用したIDoc形式
拡張イベント処理(AEP)
New
SAP サーバーをポーリングしてイベントを発見、そのイベントを処理し、それをエンドポイントに送信
16
SAPノードの拡張
可用性の向上 (V7から)
SAPとWMBの間のIDocとtRFC BAPI呼び出しは1回きりという動作をtRFCプロトコルにより保証
„ 各送信にトランザクションID(TID)が振られ、ブローカーはその情報をTIDストアに保持し、重複送信を回避
V6.1まで複数ブローカーで同じプログラムIDを持つフローが稼動していると、片側ダウンの際に、他方にリルー
ト
„ ブローカーごとにTIDストアを持つため、もう一方で既に処理されたリルートデータも重複して処理してしまう。
v7からリモート・キューマネージャーにTIDストアを持たせ、2つのブローカーで同じTIDストアを共有可能に
„ リモート・キューマネージャーはマルチインスタンス・キューマネージャー構成にするなど可用性の考慮は必要
WMB
リモート・キュー・マネージャー
SAPシステム
TIDの保管
クライアント接続
TIDストア
WMB
17
IMSRequestノードの追加
IMSに接続するためのIMSRequestノードを提供 (V6.1.0.3から)
IMS TM Resource Adapterを使用してIMS Connect経由でIMSに接続
-Failure
-Out
-タイムアウト
„ IMSConnectがIMSシステム上で構成されていることが前提
„ IMSシステム上でのトランザクション実行要求を送信し、応答を待つ
【IMSノードからIMSを呼び出す】
File
ホスト
WMB
TCP/IP
MQ
IMS
Connect
IMSノード
SOAP
OTMA
IMS
APL
IMS
DB
IMS TM Resource Adapter
接続先IMS情報の登録
「基本」タブの「ノードで定義された接続プロパティーを使用します」のチェックボックスを設定
„ チェックする場合:
「ノード接続の詳細」に設定されたプロパティ値を利用してIMSに要求を送信
「ブローカー接続の詳細」に設定された構成可能サービスを利用してIMSに要求を送信
„ チェックしない場合:
18
IMSRequestノードの追加
IMSRequestノードの主なプロパティ
タブ
説明
説明
ノード名、ノードの説明
基本
「ノードで定義されている接続プロパティーを使用」 ノードの設定値を使用するか構成可能サービス
を使用するかを選択
ノードの設定値を使用する場合は、「ホスト名」、「ポート番号」、「データ・ストア名」、「トランザクション
が実行される待機タイムアウト」を設定
構成可能サービスを使用する場合は、「構成可能サービス」を設定
「セキュリティーID」 使用するユーザー名、パスワード情報
拡張
IMSトランザクションのコミット・モードや同期レベルを設定
結果
応答メッセージの出力メッセージ・ツリー内での扱いを設定
応答メッセージの構文解析
応答メッセージのパースに使用するメッセージ定義
・パーサー・オプション
構文解析のタイミングやパーサー・オプションを指定
妥当性検査
妥当性検査の有無
モニター
ノードで生成するモニター・イベント
19
IMSRequestノードの追加
構成可能サービスを使用した接続定義の設定
mqsicreateconfigurableserviceコマンドを使用して定義を作成
mqsicreateconfigurableservice WMB_BROKER_NAME –c IMSConnect –o myIMSConnectService –n
Hostname,PortNumber,DataStoreName –v test.ims.ibm.com,9999,IMSA
mqsireportpropertiesコマンドで定義済みのサービスを表示
mqsireportproperties WMB_BROKER_NAME –c IMSConnect –o AllReportableEntityNames -r
IMS側でRACFなどを使用したユーザー認証を行なう場合は、mqsisetdbparmsコマンドを使用してユーザー
IDとパスワードを設定
mqsisetdbparms WMB_BROKER_NAME –n ims::mySecurityIdentity –u myuserid –p mypassword
20
提供機能の強化
21
PHPのサポート
新たな実装言語としてPHPスクリプト言語をサポート
既存のESQL,Java、GUIマッピング、XSLTに加えてPHPをサポート
PHPスクリプトでメッセージ変換やルーティング処理を実装可能
PHPComputeノードを新規提供
„ 一部のプラットフォームではV6.1.0.3
-Failure
-Out
で提供済み
„ Solaris(X86-64)以外のWMBがサポートするすべてのOSでサポート
PHPComputeノードで呼び出すPHPスクリプト・ファイル(.php)を指定
既存のPHPスクリプト・ファイルを呼び出す場合は事前にワークスペースにインポート
新規作成の場合は、「ブローカー・アプリケーション開発」パースペクティブから新規作成
PHPスクリプト・ファイル内にPHPコードを実装
PHPコードは自動的にデプロイされる
BARファイルにメッセージ・フローを追加する際に、PHPコードも自動的にBARファイルにパッケージ
22
PHPのサポート
PHPスクリプト・ファイルの新規作成手順
①「ブローカー・アプリケーション開発」パースペクティブで、
「ファイル」→「新規作成」→「その他」を選択
③スクリプト・ファイルを格納する
プロジェクトを選択し、
新規PHPスクリプト・ファイル名を
「ファイル名」に入力
②リソースのリストから
「ファイル」を選択
④Eclipseテキスト・エディターを使
用して、PHPコードを実装
23
PHPのサポート
PHPコードの実装
<?php
…?>の間にPHPコードを記述
2種類のスクリプト・スタイル
„ クラス構造をもつスタイル
– ファイル名と同一のクラスを実装し、クラス内でevaluateメソッドを呼び出す
– アノテーションの使用が可能 (コーディングの軽減)
„ クラス構造をもたないスタイル
– 入力用のメッセージとメッセージ・アセンブリーは読み取り専用のため、メッセージを操作する場合は、明示的に出力用のメッセージとメッ
セージ・アセンブリー・オブジェクトを作成する必要がある
– 明示的にメッセージ・アセンブリーを出力ターミナルにPropagateする必要がある
– PHPComputeノードの「evaluateメソッドの呼び出し」プロパティーの選択を解除
【クラス構造を持つスタイル】
<?php
class Hello {
/**
* @MessageBrokerSimpleTransform
*/
function evaluate ($output, $input) {
$output->XMLNSC->doc->greeting = 'Hello';
}
}
?>
【クラス構造を持たないスタイル】
<?php
$output_message = new MbsMessage();
$output_message->XMLNSC->doc->greeting = 'Hello';
$output_assembly = new MbsMessageAssembly($assembly,$output_message);
$output_assembly->propagate('out');
?>
【出力されるメッセージ】
<doc><greeting>Hello</greeting></doc>
24
PHPのサポート
アノテーションの利用
コーディングの負荷を軽減
提供されるアノテーション
新規出力用メッセージの作成
入力メッセージの変更
„ @MessageBrokerRouter
ルーティング処理の実施
„ @MessageBrokerLocalEnvironmentTransform LocalEnvironmentツリーの変更
„ @MessageBrokerSimpleTransform
„ @MessageBrokerCopyTransform
複数のアノテーションを指定可能
エレメントへのアクセス
ツリー内の各エレメントはMbsElement オブジェクトとして表される
Path syntaxでのアクセス
„ $output->MRM->bin->item
= $input->XMLNSC->doc->ref->item;
APIメソッドでのアクセス
„ getParent(),
„ $value
getPreviousSibling(), getNextSibling(), getChild(), getFirstChild() ……など
= $item->getFirstChild()->getValue()
XPath 1.0もサポート
25
PHPのサポート
PHPComputeノードの設定
「基本タブ」で使用するPHPスクリプトを指定
別プロジェクト内のPHPスクリプト・ファイルを選択する場合は、事前にプロジェクト参照の設定を行う
PHPComputeノードの主なプロパティ
タブ
説明
説明
ノード名、ノードの説明
基本
「PHPスクリプト」 PHPスクリプト・ファイル名を指定
「PHPクラス定義の’evaluate()’メソッドの呼び出し」 PHPスクリプト・ファイル内のコードにevaluateメ
ソッドが
含まれている場合は、プロパティーを選択
妥当性検査
妥当性検査の有無
モニター
ノードで生成するモニター・イベント
※必須プロパティは太字で表記
26
Sequence-Resequenceノードの提供
複数メッセージの順序を制御するノードを新規提供 (V7から)
メッセージを特定の順序で処理したり、特定の順序で受信側アプリケーションに送信
メッセージに順番を付与するSequenceノードと、メッセージを順番に基づいて再配列するResequence
ノードを提供
【複数入力元からのメッセージを順序制御】
WMB
TCPIP
Sequenceノード
MQ
①
JMS
②
③
③
②
①
Resequenceノード
Sequenceノード
„ 入力メッセージに対してシーケンス番号を付与
„ メッセージ内の情報からシーケンス・グループを分けることが可能
(グループ単位に番号を付与)
„ マルチスレッドで稼動する場合もグループごとにシーケンス番号の制御が可能
„ ブローカーの再起動をまたがってシーケンス情報を保持することも可能
-Failure
-Out
Resequenceノード
„ 受信したメッセージをメッセージ内の順序番号に従ってoutターミナルに出力する
„ メッセージが未着の場合は、タイムアウトを設定したり、後続のメッセージの処理方法を指定可能
„ Resequenceノードの前後でトランザクションは分かれる
(Collectorノードと同じ実装)
-Failure
-Out
-Expire
-Missing
-Catch
27
Sequence-Resequenceノードの提供
シーケンス・グループの使用
シーケンス・グループIDを使用して、シーケンス・グループごとに順序性の制御が可能
シーケンス・グループは1つのSequenceノードのみに関連付け
„ 異なるノードで同一のシーケンス・グループIDを使用しても別のグループとして扱われる
頻繁に同一名のシーケンス・グループIDを再利用しない
同時に複数のシーケンス・グループを処理可能
ノード・プロパティでメッセージ・シーケンスの開始条件/終了条件をユーザーが定義可能
SequenceノードとResequenceノードはペアで使う必要はない
シーケンスノードで付与されたシーケンス番号もメッセージ内にセットされたシーケンス番号も対応可能
シーケンス番号情報はキューに保持
Sequenceノード
„ SYSTEM.BROKER.SEQ.GROUP
„ SYSTEM.BROKER.SEQ.NUMBER
„ SYSTEM.BROKER.SEQ.EXPIRY
Resequenceノード
„ SYSTEM.BROKER.EDA.EVENTS
„ SYSTEM.BROKER.EDA.COLLETIONS
ノード・プロパティでシーケンス情報をパーシステント/ノンパーシステントどちらで保持するか選択が可能
28
Sequence-Resequenceノードの提供
Resequenceノードであるメッセージが未着で、タイムアウトが発生した場合の動作はExpiryター
ミナルとMissingターミナルで制御
タイムアウト発生時に保持していたメッセージやタイムアウト発生後に届いた後続メッセージはExpireターミ
ナルから出力
タイムアウト発生原因となった抜けたメッセージはMissingターミナルから出力
業務の要件に応じてOut、Expiry、Missingの出力ターミナルを実装
„ メッセージは完全に順序番号を維持する必要がある場合
→Outターミナルの先にメインフローを実装。ExpireとMissingターミナルの先にエラー処理を実装
„ メッセージの抜けは許容されるが、順序性を維持する必要がある場合
→OutとExpireターミナルの先にメインフローを実装。Missingターミナルの先にエラー処理を実装
„ できるだけ順序番号が維持されていてほしい(多少の追い越しは許容)場合
→すべての出力ターミナルの先にメインフローを実装
29
Sequence-Resequenceノードの提供
Sequenceノードの主なプロパティ
タブ
説明
説明
ノード名、ノードの説明
基本
「保管シーケンス番号へのパス」 シーケンス番号を保存する場所をXPathで指定
「シーケンス・グループIDへのパス」 シーケンス・グループID保管場所をXPathで指定
「シーケンス定義の開始」 各シーケンス・グループの最初のシーケンス番号を指定
「シーケンス定義の終了」 各シーケンス・グループの完了条件を指定
「リテラル」 シーケンス番号で判断
「述部」 XPath式の評価結果(True/False)で判断
「自動」 空のキューにメッセージが到着するまでの待機時間(秒単位)で判断
拡張
「持続モード」 シーケンス・グループの状態を永続的に保管するかどうか
モニター
ノードで生成するモニター・イベント
※必須プロパティは太字で表記
Resequenceノードの主なプロパティ
タブ
説明
説明
ノード名、ノードの説明
基本
「シーケンス番号へのパス」 シーケンス番号の保管場所をXPathで指定
「シーケンス・グループIDへのパス」 シーケンス・グループIDの保管場所をXPathで指定
「欠落しているメッセージ・タイムアウト」 シーケンス内の次のメッセージを待機する長さ(秒単位)
「シーケンス定義の開始」 各シーケンス・グループの最初のシーケンス番号を判断
「リテラル」 シーケンス番号で指定
「述部」 XPath式の評価結果(True/False)で判断
「自動」 指定した時間(秒単位)に届いたメッセージの中で最小のシーケンス番号で判断
「シーケンス定義の終了」 各シーケンス・グループの完了条件を指定
「リテラル」 シーケンス番号で判断
「述部」 XPath式の評価結果(True/False)で判断
「自動」 空のキューにメッセージが到着するまでの待機時間(秒単位)で判断
拡張
「持続モード」 メッセージの不完全なシーケンスを永続的に保管するかどうか
「構成可能サービス」 利用するResequence構成可能サービスを指定
インスタンス
フローの実行インスタンス数の設定
モニター
ノードで生成するモニター・イベント
30
※必須プロパティは太字で表記
Sequence-Resequenceノードの提供
Sequenceノードに関連するLocalEnvironment
タブ
説明
LocalEnvironment.Sequence.StartOfSequenceNumber
Sequenceノード・プロパティのシーケンス定義の開始条件を上書き
LocalEnvironment.Sequence.Number
Sequenceノードの出力時にシーケンス番号がセットされる
LocalEnvironment.Sequence.Group
Sequenceノードの出力時にシーケンス・グループIDがセットされる
LocalEnvironment.Sequence.Start
Sequenceノードの出力時にシーケンス・グループの最初のシーケンス・
データかどうかの情報がセットされる (TRUE/FALSE)
LocalEnvironment.Sequence.End
Sequenceノードの出力時にシーケンス・グループの最後のシーケンス・
データかどうかの情報がセットされる (TRUE/FALSE)
Resequenceノードに関連するLocalEnvironment
タブ
説明
LocalEnvironment.Sequence.Number
Sequenceノードの出力時にシーケンス番号がセットされる
LocalEnvironment.Sequence.Group
Sequenceノードの出力時にシーケンス・グループIDがセットされる
LocalEnvironment.Sequence.End
Sequenceノードの出力時にシーケンス・グループの最後のシーケンス・
データかどうかの情報がセットされる (TRUE/FALSE)
31
Sequence-Resequenceノードの提供
Sequenceノード/Resequenceノードを使用したフロー例
0
1
2
【このノードでの設定内容】
・入力メッセージのBody部(XMLNSC>xml>sec)にシーケンス番
号をセット
・シーケンス番号は入力メッセージのBody部
(XMLNSC>xml>group)のシーケンス・グループごとに割りふられる
・シーケンス番号は0から始まり、10でグループを閉じる
0
2
1
2
1
0
【このノードでの設定内容】
・入力メッセージのBody部(XMLNSC>xml>sec)のシーケンス番
号を元にメッセージを再配列
・メッセージ順序は入力メッセージのBody部
(XMLNSC>xml>group)のシーケンス・グループごとに制御
・次のメッセージが未着の場合は10秒待ち、タイムアウトする
・シーケンス番号は0から始まり、キューが空になって60秒経っても
メッセージが到着しなければグループを閉じる
32
PubSub機能の追加
WMBv7からPubSub機能をWMQv701に統合
Publicationノードから、WMBではなくWMQのPubSubエンジンをMQAPI経由で呼び出す
WMBで実装できたPubSubの機能はすべて使用可能
WMB
ContentsベースのフィルタリングはWMBとWMQで連携して実装
„ WMBがパースして、WMQでコンテンツベース・フィルタリング
Contents
Based Filtering
インターフェース
„ WMBのContent
Based Filtering support機能がフローを
デプロイした実行グループで動く
MQ
Contents
Based Filtering
PublicationノードでOutターミナルにno matchターミナルが追加
WMQv701で追加されたPUT メッセージ・オプション(PMO)に対応
MQPMO_WARN_IF_NO_SUBS_MATCHED
„ パブリケーションと一致するサブスクリプションがない場合、MQCC_WARNING
および MQRC_NO_SUBS_MATCHED 理由
コードを戻す
-Out
-NoMatch
33
その他
ノードが内部的に使用するキューをユーザー定義可能に
いくつかのノードでは状態情報をキューに保管
„ 各キューはブローカーごとにデフォルト作成されるため、複数のフロー間で共用
„ Aggregation、Timeout、Collector、Resequence、Sequence
アプリケーションの可用性、独立性の観点でV7から構成可能サービスを使用してキューをユーザー定義可能
„ 但し、固定のPrefixはつく
–例:Aggregationノード → SYSTEM.BROKER.AGGRというPrifixは固定。その後ろに自由にネーミング
34
Fly UP