...

WMB V7.0.0.1 アップデート・セミナー 目次

by user

on
Category: Documents
104

views

Report

Comments

Transcript

WMB V7.0.0.1 アップデート・セミナー 目次
WMB V7.0.0.1
アップデート・セミナー
ISE エンタープライズ・ミドルウェア
2010年10月22日
目次
WMBとは
パターン
サブフローのパッケージ化
DatabaseInputノード
SOAP/JMSサポート
WebサービスおよびHTTP関連機能拡張
メッセージフロー・セキュリティ機能強化
WMQFTEとの接続サポート
その他
2
WMBとは
3
WebSphere Message Broker(WMB)
業界をリードするアプリケーション統合ミドルウェア:ユニバーサル・コネクティビティ
WebSphere MQと共に、既存/ 新規のアプリケーション統合を実現する
SOAにおけるAdvanced ESB を構築する為のミドルウェアに位置づけられる
様々なプロトコルでメッセージをルーティング、フォーマット変換
サポートするプロトコル
„ MQ、JMS、HTTP(S)、Webサービス(SOAP)、REST、ファイル、TCP/IP、EIS(SAP、
Siebel・・・)
幅広いデータフォーマットに対応
„ XML、ユーザ定義(Cヘッダー形式、COBOL
COPY句)、バイナリー、タグ/区切り文字形式(CSV)、
業界標準(SWIFT、EDI、HL7・・)、IDOC
豊富なメディエーション処理
„ ルーティング、フィルター、変換、配布、組み立て、分解、順序付け、関連付け、集約など
開発の容易性
GUIによる簡単な開発、またはスクリプト/プログラムによる複雑な開発が可能
管理機能の充実と高いパフォーマンス
GUI、コマンドによる管理、管理用プログラムも作成可能
C++ベースの実行環境で高速なトランザクション処理を可能
幅広いプラットフォームのサポート
Routes and Transforms messages
FROM anywhere, TO anywhere
分散系からホストまで・・・
4
システム・コンポーネント
ブローカー
メッセージ・フローの実行環境(実行グループ)の構成・管理を行う
デプロイされたメッセージ・フローをDataFlowEngineプロセス
(実行グループ)のスレッドで実行
MB Explorer(MBX)
WMBの管理ツール
Eclipseのプラグインとして提供され、MQ Explorerに組み込み、ブローカーとMQを一元管理
ツールキット
EclipseベースのGUI開発/テストツール
開発者がテストを実施するために必要な操作のみ
実施可能
メッセージ・ブローカー
エクスプローラー
メッセージ・ブローカー
ツールキット
開発環境
本番環境
アプリケーション
アプリケーション
ブローカー
実行グループ
アプリケーション
アプリケーション
5
WMBの開発物
メッセージ定義とメッセージ・フローを開発
ブローカーでは、物理フォーマットやプロトコルを意識せずに、データへ統一的にアクセスするた
めに、受信したメッセージを共通の論理ツリーに展開して、変換処理などを実施
„メッセージ定義に基づいて、データのパース(展開)
/ 組み立てを実施
„メッセージ・フローに基づいて、データに対して必要なメディエーション処理を実施
論理メッセージ・ツリー
Root
Properties
メッセージ
定義
ヘッダー類
データ
データの組み立て
データのパース
メッセージ
定義
ESQLでアクセス
メッセージ・フロー
CWF/MQ
(一方向型)
SOAP/HTTP
(リクエスト/リプライ)
MQアプリケーション
Webサービス
アプリケーション
MQMD
<msg><data><elm01>aaa</elm01>
<elm02>bbb ・・・ </msg>
フォーマット変換、プロトコル変換、ルーティングなどを実施
6
aaa
bbb
・・・
WMBの歩み
Advanced ESB
EAI / HUB
’99
AS/400
HOST系
UNIX/PC
’00
’01
’03
’04
’05
’06
’07
’08
’09
終了
V1.1
V1.0
’02
V1.1
V2.0
V2.0.1
Windows NT Windows NT
AIX
AIX
SUN Solaris SUN Solaris
HP-UX
MQSeries Integrator (MQSI)
NEON社製品
2.0.2
V2.1
V2.1
V5.0
V5.0
2002.1
2003.6
V6.0
V6.0
V6.1
V6.1
2005.10
2007.11
WebSphere MQ
Integrator
(WMQI)
WebSphere Business
Integration
Message Broker
(WBIMB)
WebSphere
Message Broker
(WMB)
IBMが製品開発 + NEON 機能 (Rules and formatter)
V1.0
V2.0
V2.1
ルールエンジン ノードを組み合わせた TDSメッセージ
フロー開発
ESQLの拡張
V2.0.1
デバッガーの提供
各種ノードの提供
(2006/9サービス終了)
ESQLのサポート
DBアクセス
Pub/Sub、XMLメッセージ
V2.0.2
コントロールセンターの日本語化
V5
ツールキット
(Eclipseベース)
デプロイの変更
Webサービスサポート
高速Pub/Sub
(2008/9サービス終了)
V6
Javaノード
Webサービス強化
パーサー拡張
タイマーノード
ESQL機能拡張
V7
V6.1
Webサービス強化 シンプルな構成
パターンの提供
ファイル機能
影響分析
コレクター・ノード
MBXによる管理の統合
WSRRとの連携
マルチインスタンスQmgr
SOAPノード
への対応ブローカー
EIS接続
(SAP、Siebelなど)SCA ノード
MQ Pub-sub の統合
7
WMB V7.0.0.1 ハイライト
V7.0.0.1 ハイライト
FixCentralより入手(2010/07よりダウンロード可能)
http://www-01.ibm.com/support/docview.wss?uid=swg24027267
簡略化と生産性の向上
◆ 提供パターンの追加
◆ ユーザー定義パターンの作成が可能に
◆ サブフローからユーザー定義ノードを作成可能に
SOAのためのユニバーサルな接続性の提供
◆
◆
◆
◆
2009.11
eGA
Linux for Intel
Linux for z/OS
追加
HP-UX追加
V7
V7
SOAPノードでのSOAP/JMSサポートの追加
データベースでのイベントをトリガーにフローを起動するDatabaseInputノードの提供
WMQFTEと相互接続するためのFTEノードの提供
CICSノードやCORBAノードの提供
ダイナミックなオペレーション管理
◆ サポートするセキュリティ・トークンの追加
◆ フローの途中でセキュリティ処理を行うためのPEPノードの提供
◆ リソース統計が取得可能なリソース・タイプが追加 (CORBA、FTE、セキュリティ、SOAPの情報など)
サポート環境の拡充
◆ Windows 7と Server 2008 へのサポート・プラットフォームの拡張
◆ solidDB、SQL Server z/Linux、DB2 9.7のサポート
8
パターン
9
パターン
V7より連携パターンに応じたフローの雛形を提供
事例の多い連携パターンでのベスト・プラクティスをフローとして実装し、提供
„ メッセージフローの設計、実装の指針となる
„ 開発工数の削減、開発時における問題の回避など
インスタンス化して、メッセージフローや関連リソースを生成
„ 「パターン・エクスプローラー」ビューで提供されるパターンを確認可能
„ パターン・パラメーターを編集して、提供パターンをカスタマイズ
メッセージ連携、Webサービス連携、ファイル連携など8種類のパターンを提供
„ V7001でMQからのWebサービス呼び出し(一方向)のパターンを追加
「パターン・エクスプローラー」ビュー
提供されるパターン一覧
NEWV7001
10
パターン
<参考>
提供パターン
アプリケーション統合パターン
SAP
MQ一方向(IDoc)
このパターンを使用すると、1 つの RFC プログラム ID を使って様々な種類の IDoc を処理できます。
新しいタイプの IDoc を追加する場合であっても既存のメッセージ・セットとアダプターを再デプロイす
る必要はありません。
静的エンドポイント
Web サービス要求元と Web サービス・プロバイダーを分離するために、ターゲットのサービス・プロバイ
ダーに直接バインドされた仮想サービスを通してルーティングするには、このパターンを使用します。
サービス仮想化パターン
サービス・プロキシー
サービス使用可能化パターン
サービス・ファサード
MQ要求/応答
MQ のみを介してアクセス可能な機能に Web サービス・ファサードを提供するには、このパターンを使
用します。このパターンは、同期 HTTP プロトコル間のブリッジを作成します。通常このブリッジは
Web サービスと併用したり、MQ インターフェースを持つ既存のアプリケーションと併用したりします。
肯定応答を伴う
MQ一方向
クライアントに対して Web サービス・インターフェースを表示し、 MQ 使用可能アプリケーションを使っ
てサービス要求を実行するには、このパターンを使用します。
NEW V7001
MQからのサービス・
アクセス
(一方向)
このパターンを使用して、クライアントから受け付けたWebSphere MQ XML メッセージを利用して
Web サービスの呼び出し処理を実行します。このパターンを使用することにより、クライアント・アプリ
ケーション側の信頼の置ける WebSphere MQ メッセージング・プロトコルと、サービスに対する同期
要求との間にブリッジを設けて更新を処理し、要求の成功または失敗 (タイムアウトを含む) が確
実に報告されるという保証が得られます。このパターンは、クライアント・アプリケーションとサービス・プ
ロバイダーとの間での、タイミング、プロトコル、およびトランスポートの疎結合を提供します。これは、
サービスと既存のシステムとの間のインターフェースを設けるのに適しています。
11
パターン
<参考>
ファイル処理パターン
レコード配布
MQ一方向
このパターンを使用して 2 つのスタイルの統合 (ファイル・ベースとトランザクション・ベース) を橋渡しし
ます。
メッセージに基づく組み込みパターン
メッセージ・
スプリッター
MQ一方向(XML)
大きな XML メッセージをより小さなエレメントに分割し、トランザクション・フローと持続 MQ メッセージ
を使用して、1 つ以上のターゲットで処理できるようにするには、このパターンを使用します。
メッセージ
相関関係子
持続性のある
MQ要求/応答
多数のクライアントからの要求を単一のキューで受け入れ、トランザクション・フローと持続 MQ メッ
セージを使用して、正しいクライアントに応答を返すには、このパターンを使用します。
持続性のない
MQ要求/応答
多数のクライアントからの要求を単一のキューで受け入れ、非トランザクション・フローと非持続 MQ
メッセージを使用して、正しいクライアントに応答を返すには、このパターンを使用します。
12
ユーザー定義のパターン
V7.0.0.1よりパターンをユーザー定義することが可能
パターン・エクスプローラーに自作のパターンを追加可能
開発したフローの再利用を容易に
パターンの作成
既存のメッセージ・フローを元にパターンを生成
パターン・オーサリング・エディターを使用してパターンを構成
生成したパターンは「パターン・エクスプローラー」ビューに表示される
13
ユーザー定義のパターン
パターンの作成手順
1. パターン作成の準備
„
„
パターンの元になるメッセージ・フローを用意
ターゲット・プロパティを決定
2. パターン・オーサリング・プロジェクトの作成
„
パターンを格納するプロジェクトを準備
3. パターン・オーサリング・エディタでパターンを構成
„
„
„
„
ユーザー定義のパターンで使用するソース・ファイルの選択
ユーザー・インターフェースの定義
作成したパターンを格納する「カテゴリー」を選択
パターン・プラグインのビルド
4. 作成したパターンの確認
5. パターン・プラグインのパッケージ化と配布
14
ユーザー定義のパターン
1. パターン作成の準備
パターンの元となるフローを準備
①
②
③
◆今回用意したフロー
①MQメッセージを受信
②取得したメッセージをロギング
③メッセージ内の共通ヘッダの値をキーに、ルーティングテーブルを
参照し、宛先を決定
④宛先キューへ送信
④
ターゲット・プロパティーを決定
„
„
ノード・プロパティの中からインスタンス化時にユーザーが指定できるプロパティを決定
メッセージ・フロー・エディターでノードを右クリック→「パターン」→「ターゲット・プロパティーの選択」→「ターゲッ
ト・プロパティーの選択」
①
②
ターゲット・プロパティを選択
◆選択したターゲット・プロパティ
①MQInputノードの入力キュー名
②トレースノードのログ出力先ファイル名
「パターン」→「ターゲット・プロパティーを選択」
を押す
ターゲット・プロパティを選択したノードに
マークがつく
15
ユーザー定義のパターン
2. パターン・オーサリング・プロジェクトの作成
「ファイル」→「新規作成」→「その他」で「パターン・オーサリング・プロジェクト」を選択
„
パターンの元フローを含むプロジェクトにプロジェクト参照を設定
パターンを格納するプロジェクトを作成
パターンの元となるフローを含むプロジェクトに
プロジェクト参照を設定
16
ユーザー定義のパターン
「パターン・オーサリング・エディター」が起動
「パターン・オーサリング・エディター」が起動
ここでパターンを構成
17
ユーザー定義のパターン
3. パターン・オーサリング・エディタでパターンを構成
ユーザー定義のパターンで使用するソース・ファイルの選択
„
「ソース・ファイル」タブで、パターンの元とするフロー定義を選択
プロジェクト参照したプロジェクトの定義が表示される。
パターンの元とするフローをチェック
「ソース・ファイル」タブでの作業
18
ユーザー定義のパターン
ユーザー・インターフェースの定義
„パターン・ユーザーがカスタマイズ可能なパターン・パラメーターの表示方法、編集方法を設定
„「パターン・パラメーター」タブの「グループとパラメーター」リストに、選択したターゲット・プロパティーが表示され
る
ダブルクリックして、パターン・パラメーターを編集
選択したターゲット・プロパティーが表示
「パターン・パラメーター」タブでの作業
パターン・パラメーターの編集が可能
編集可能項目:
・表示名
・パラメーターオプション
・ウォーターマーク
その他、「エディター」タブでは、値の
入力方法や、デフォルト値の設定が可能
19
ユーザー定義のパターン
作成したパターンを格納する「カテゴリー」を選択
新規カテゴリー「ISEPattern」を追加し、そのカテゴリーに
今回作成するパターンを含める
「カテゴリー」タブでの作業
パターン・プラグインのビルド
パターン・プラグインが作成されると、「ワークベンチの起動」
がアクティブになるので、クリック
「パターンの作成」タブでの作業
20
ユーザー定義のパターン
4. 作成したパターンの確認
新しく起動したツールキットの「パターン・エクスプローラー」
ビューに作成したパターンが表示される
作成したパターンを選択
ここで指定した名前は作業セットやプロジェクト名に使用される
ボタンを押してインスタンスを生成
パターン・パラメーター値をカスタマイズ
21
ユーザー定義のパターン
ノードの編集や追加が可能
生成されたリソース
22
ユーザー定義のパターン
5. パターン・プラグインのパッケージ化と配布
「ファイル」→「エクスポート」で「エクスポート」ウィンドウを開き、「一般」の「アーカイブ・ファイ
ル」を選択
エクスポートするプラグインを選択し、生成したアーカイブ・ファイルを配布
パターン・プラグインのインストール
提供された.zipアーカイブ・ファイルを以下のフォルダーに解凍
„
„
Windowsの場合 C:¥Program Files¥IBM¥WMBT700
Linuxno場合 /opt/IBM/WMBT700
Eclipseリンク・ファイルを使用して任意のディレクトリーにプラグインを保管することも可能
„
詳細はInfoCenterを参照
23
blank
24
サブフローのパッケージ化
25
サブフローをユーザー定義ノードとして定義
サブフローをパッケージ化してユーザー定義ノードを作成可能
サブフローをブラック・ボックスとして配布可能
„実装の詳細を利用者から隠蔽
„サブフローの再利用者による変更を防止
生成したユーザー定義ノードは、メッセージ・フロー・エディタのパレットに表示される
サブフローからのユーザー定義ノードの生成方法は以下の2通り
ユーザー定義ノードを作成し、サブフローとして実装
既存のサブフローからユーザー定義ノードを生成
26
サブフローをユーザー定義ノードとして定義
ユーザー定義ノードを先に作成し、サブフローとして新規実装する方法
1. 「新規ユーザー定義ノード・プロジェクト」ウィザードを開き、新規ユーザー定義ノード・プロジェ
クトを作成する
„
「ファイル」→「新規作成」→「新規ユーザー定義ノード・プロジェクト」
【新規ユーザー定義ノード・プロジェクト・ウィザード】
要件に応じてプロパティ値を設定
「ユーザー定義ノード・プロジェクト」を
選択
27
サブフローをユーザー定義ノードとして定義
2. プロジェクト内で新規ユーザー定義ノードを作成
„
ノードの実装は「サブフローとして実装」を選択
「ブローカー開発」ビューで右クリック→
「新規」→「その他」を選択
【新規ユーザー定義ノード・ウィザード】
デフォルトまたはmqsi以外のスキーマ
を作成することを推奨
「サブフローとして実装」を選択
「ユーザー定義ノード」を選択
28
サブフローをユーザー定義ノードとして定義
3. 開いたメッセージ・フロー・エディターでユーザー定義ノードに含めるフロー処理を実装
起動したメッセージ・フロー・エディター
で、サブフローを実装
(ブローカー開発ビュー)
29
サブフローをユーザー定義ノードとして定義
既存のサブフローからユーザー定義ノードを作成する方法
1. 既存のプロジェクトを「ユーザー定義ノード・プロジェクトへの変換」
„
既存プロジェクトを右クリック→「ユーザー定義ノード・プロジェクトへの変換」を選択
要件に応じてプロパティ値を設定
30
サブフローをユーザー定義ノードとして定義
2. 既存のサブフローを「ユーザー定義ノードへの変換」
„
既存のサブフローを右クリック→「ユーザー定義ノードへの変換」を選択
デフォルトまたはmqsi以外のスキーマ
を作成することを推奨
「ユーザー定義ノード」の下に、
サブフローが移動
31
サブフローをユーザー定義ノードとして定義
パレット内でのユーザー定義ノードの位置の選択
パレット・エディターで作成したユーザー定義ノードを登録
„「ブローカー開発」ビューで、ユーザー定義ノード・プロジェクト」の下の「ユーザー定義ノード」を選択→「パレッ
トの編集および配置」を選択
„「ブローカー開発」ビューで、ユーザー定義ノード・プロジェクト内のpalette.xmiを右クリック→「アプリケーション
から開く」を選択し、「パレット・エディター」を選択
「表示名」、「パレット上のツールチップ」、「ノード・アイコン」フィールドの詳細を変更可能
【パレット・エディターの起動】
【パレット・エディターの編集画面】
32
サブフローをユーザー定義ノードとして定義
テストの実施
ユーザー定義ノード・プロジェクトを右クリック→「シミュレーションの開始」を選択
„プロジェクト内のユーザー定義ノードが「メッセージ・フロー・エディタ」のパレットに追加される
„ユーザー定義ノードを使用したメッセージ・フローを実装&デプロイし、稼動確認することも可能
„シミュレーションの停止は、ユーザー定義ノード・プロジェクトを右クリック→「シミュレーションの停止」
ユーザー定義ノード・プロジェクトを右
クリック→「シミュレーションの開始」
パレット上にユーザー定義ノードが追
加される
33
サブフローをユーザー定義ノードとして定義
ユーザー定義ノード・プロジェクトのパッケージ化および配布
プラグインJARファイルとしてパッケージ化
„パッケージ化するプロジェクトを右クリック→「パッケージ」を選択し、「ユーザー定義ノードのパッケージと配布」
ウィザードを開始
更新サイトを使用した配布用のパッケージ化も可
【プラグインJARファイルとしてパッケージ化】
パッケージに含めるプラグインを選択し、
jarファイルの配置ディレクトリを指定
「プラグインjar」を選択
34
指定したディレクトリにjarファ
イルが生成される
サブフローをユーザー定義ノードとして定義
ユーザー定義ノードのインポート
JARファイルをツールキットのインストール・ディレクトリのpluginsフォルダーにコピーして、ツールキット
を再起動
サブフローでプロパティのプロモートをしておけば、プロパティ値のカスタマイズも可能
ユーザー定義ノード
ユーザー定義ノードのプロパティとして、
プロモートしたプロパティが表示される
ノードを選択し、「プロパティーのプロモート」
プロモートしたいプロパティを選択
35
blank
36
DatabaseInputノード
37
DatabaseInputノードの追加
データベースの更新イベントをトリガーにフローの開始が可能
データベースの更新情報を他システムに連携することが可能
イベント・ストアを利用してデータベースの更新イベントを検知
テーブルの更新情報を格納するイベント・ストアを事前に構成
„イベント・ストアは任意のテーブル
„テーブルの更新などのイベントをトリガーにイベント・ストアへ更新情報を登録するようにデータベースを構成
ブローカーは定期的にイベント・ストアをポーリングし、更新を検知
更新を検知するとブローカーは更新情報を取得
„ブローカーは更新情報を取得後、イベント・ストアを処理済に更新することで二重処理を回避
–
レコードの削除や、レコードに処理済フラグをたてるなど
データベースの設定
WMBの設定
イベントストア
⑥処理済のイベントを削除
③更新情報の有無
をポーリング
WMB
②イベント・ストアを
更新
⑤更新データを処理
アプリDB
DBアプリ
①更新
④更新されていたら
データを取得
38
DatabaseInputノードの追加
DatabaseInputノードの処理の流れ
更新イベント読込み
処理の開始
Evenet情報の確認
シングル・
スレッドで実行
・・・
①ポーリング間隔ごとに、イベント・ストアに
更新情報がないか確認
・・・
②更新情報があれば処理を開始
複数更新があれば、全件読み込む
No
新規イベントの有無
commit
Yes
トランザクションが分かれる
更新データ処理
追加インスタンス
を指定することで
マルチ・スレッド
で実行可能
メッセージの生成
・・・
③-1 1件ごとに処理を開始
メッセージの
プロパゲート
・・・
③-2 後続処理にメッセージを渡す
イベント終了処理
・・・
③-3 イベント・ストアを更新
commit
No
未処理イベントの有無
・・・
Yes
④処理が完了すると、「Event情報の確認」を
呼び出し、他に更新情報の有無を確認
有→継続して処理を実施
無→次のポーリング間隔まで待機
39
DatabaseInputノードの追加
DatabaseInputノードの処理の流れ
① ポーリング間隔ごとに、イベント・ストアに更新情報がないか確認 (ReadEvent)
② 更新情報があれば、処理を開始
„
複数件ある場合は全件読み込む
③ 1件づつ処理を実施 (BuildMessage)
„
後続処理の完了後、イベント・ストアのレコードを処理済のステータスに更新 (EndEvent)
④ ②で読み込んだ全件の処理が完了すると、ブローカーは再度ReadEventを呼び出し、他に
更新情報がないかを確認
„
あれば、継続して処理を実施。なければ、次のポーリング間隔まで待機
DatabaseInputノードの考慮点
データベースとはODBC接続
DatabaseInputノードの処理内でトランザクションは分割される
„
„
„
データベースのロックを最小限に抑えるため
Read Events処理はシングル・スレッドで実行
BuildMeesage処理はマルチ・スレッドで実行可能
– ReadEvents処理で読み込んだ複数のイベントのBuildMessage処理を、同時並列処理することが可能
ReadEvent、BuildMessage、EndEventの処理はESQLで実装
„
要件にあわせてサンプルコードを編集
40
DatabaseInputノードの追加
DatabaseInputノード
Basicタブでデータベース名を指定
必要に応じてその他のプロパティを設定
-Failure
-Out
-Catch
タブ
説明
ノード・プロパティ
説明
ノード名、ノードの説明
基本
データソース名、呼び出すESQLモジュール名を設定
ポーリング
ポーリング間隔を設定
再試行
再試行のメカニズムを指定
トランザクション
トランザクション・モードを設定
インスタンス
追加インスタンスの指定(入力ノード単位での指定が可能)
モニター
ノードで生成するモニター・イベント
41
DatabaseInputノードの追加
【DatabaseInputノード ESQL実装例】
CREATE DATABASEEVENT MODULE TestDBInput_DB01
CREATE PROCEDURE ReadEvents( IN NewEvents REFERENCE )
BEGIN
DECLARE EXIT HANDLER FOR SQLSTATE LIKE 'D%'
BEGIN
RESIGNAL;
END;
SET NewEvents.Event[] = SELECT TESTTBL_UPD_EVT.* AS Usr, TESTTBL_UPD_EVT.COL1 AS Key
FROM Database.WMBADMIN.TESTTBL_UPD_EVT;
END;
CREATE PROCEDURE BuildMessage(IN DispatchedEvent REFERENCE)
BEGIN
DECLARE EXIT HANDLER FOR SQLSTATE LIKE 'D%'
BEGIN
RESIGNAL;
END;
SET Root.DataObject.TESTTBL[] = SELECT TESTTBL.* FROM Database.WMBADMIN.TESTTBL
WHERE TESTTBL.COL1 = DispatchedEvent.Usr.COL1;
RETURN;
END;
CREATE PROCEDURE EndEvent(IN DispatchedEvent REFERENCE)
BEGIN
DECLARE EXIT HANDLER FOR SQLSTATE LIKE 'D%'
BEGIN
RESIGNAL;
END;
DELETE FROM Database.WMBADMIN.TESTTBL_UPD_EVT
WHERE TESTTBL_UPD_EVT.COL1 = DispatchedEvent.Usr.COL1;
RETURN;
END;
CREATE PROCEDURE HandleDatabaseError( IN FunctionName CHARACTER )
BEGIN
DECLARE message CHARACTER 'Exception occured calling Database Input Node function: ' || FunctionName;
THROW USER EXCEPTION VALUES( SQLCODE, SQLSTATE, SQLNATIVEERROR, SQLERRORTEXT, message );
END;
END MODULE;
42
ReadEvents
BuildMessage
EndEvent
DatabaseInputノードの追加
フロー実装例
DB2
ポーリング
TESTTBL_UPD_EVT
INSERT INTO TESTTBL
TESTTBL
更新データの取得
ReadEvent、BuildMessage、
EndEventの処理内容をESQL
で実装(前ページ参照)
DB2のトリガー機能でINSERTを
トリガーにTESTTBL_UPDATE_EVT
テーブルを更新するように設定
43
blank
44
宛先に応じたメッセージ・
フォーマットの変換
SOAP/JMSサポート
45
SOAP/JMSサポート
SOAPノードでSOAP over JMS 1.0を新たにサポート
SOAPInput、SOAPReply、SOAPRequestノードでSOAP/JMSメッセージを処理可能
„V7.0.0.0まではSOAP/HTTPのみをサポート
Point-to-Pointトポロジーをサポート
„Request/Response型、1-way型のどちらも可能
„JMSメッセージのタイプは、テキスト・メッセージおよびバイト・メッセージ
„Pub/Subトポロジーは未サポート
WS-AddressingおよびWS-Securityにも対応
JMSバインディングが定義されたWSDLを基にメッセージ定義の自動生成が可能
„メッセージ定義からWSDLを生成する際にJMSバインディングの指定も可能
WSDLからドラッグ&ドロップでSOAPノードのJMS設定を自動的に構成可能
Webサービス
プロバイダー
SOAP/JMS
WMBメッセージフロー
SOAP/JMS
Webサービス
リクエスター
SOAP/JMS
46
SOAP/JMSサポート
SOAPノードのJMSバインディング時の基本動作
„ネーミング・サービスからJNDIを利用してJMSリソース(Connection
Factory、Destination)を取得
–ノード・プロパティに、JMSプロバイダー名、初期コンテキスト・ファクトリ、接続ファクトリ名等を指定
„JMSリソースを利用してJMSプロバイダーにアクセスし、SOAP/JMSメッセージを送受信
Webサービス
プロバイダー
JMSプロバイダー
JMS
プロバイダー
WMBメッセージフロー
Webサービス
リクエスター
Lookup
Lookup
JNDI
ConFact
Lookup
ConFact
Dest
Dest
ネーミング・サービス(ファイルシステム、LDAPなど)
47
SOAP/JMSサポート
SOAPInputノードのJMS関連プロパティ
「基本」タブ
„「インポートされたバインディング」にJMSバインディングを指定可能
ツールキット内のデプロイ可能なWSDLを指定
WSDLに定義されているJMSバインディングを指定可能
JMSのバインディングとHTTPのバインディングの両方が定義されている場合は、プルダウンで選択可能
48
SOAP/JMSサポート
SOAPInputノードのJMS関連プロパティ
「JMSトランスポート」タブ
„JMSリソースおよびネーミング・サービスの各プロパティを設定
–「基本」タブでJMSバインディングを指定した場合にのみ設定可能になる
SOAP/JMSメッセージを受信するキュー(JMS Destination)を指定
(ネーミング・サービスに定義したJNDI名)
JMSプロバイダーを指定
指定したJMSプロバイダーに応じて
自動的に対応する
初期コンテキスト・ファクトリがセットされる
ポイズン・メッセージに対する
バックアウト設定も可能
JMS Connection Factoryを指定
(JNDI名)
49
SOAP/JMSサポート
SOAPInputノードのJMS関連プロパティ
「メッセージ選択」タブ
„メッセージ・セレクターの各条件を設定
–「基本」タブでJMSバインディングを指定した場合にのみ設定可能になる
アプリケーションが任意に設定したメッセージ・プロパティに基づく条件式を設定
例: OrderValue > 200
50
ネーミング・サービスのbindingsファイルの
ロケーションを指定
SOAP/JMSサポート
SOAPRequestノードのJMS関連プロパティ
「基本」タブ
„「インポートされたバインディング」にJMSバインディングを指定可能
ツールキット内のデプロイ可能なWSDLを指定
WSDLに定義されているJMSバインディングを指定可能
JMSのバインディングとHTTPのバインディングの両方が定義されている場合は、プルダウンで選択可能
51
SOAP/JMSサポート
SOAPRequestノードのJMS関連プロパティ
「JMSトランスポート」タブ
„JMSリソースおよびネーミング・サービスの各プロパティを設定
–「基本」タブでJMSバインディングを指定した場合にのみ設定可能になる
リクエスト先のキュー(JMS Destination)を指定
(ネーミング・サービスに定義したJNDI名)
リクエストに対する応答先のキュー(JMS Destination)を指定
(JNDI名)
JMSプロバイダーを指定
指定したJMSプロバイダーに応じて
自動的に対応する
初期コンテキスト・ファクトリがセットされる
JMS Connection Factoryを指定
(JNDI名)
52
ネーミング・サービスのbindingsファイルの
ロケーションを指定
SOAP/JMSサポート
SOAPRequestノードのJMS関連プロパティ
「メッセージ・デリバリー」タブ
„JMSメッセージの各プロパティを設定
–「基本」タブでJMSバインディングを指定した場合にのみ設定可能になる
メッセージ・タイプには「バイト」もしくは「テキスト」のみ指定可能
53
SOAP/JMSサポート
SOAPRequestノードで使用されるLocalEnvironmentのエレメント
LocalEnvironment.Destination.SOAP.Request 下にある以下のエレメントを設定して各
プロパティの値を変更できる
エレメント
説明
TransportType
「トランスポート」プロパティを変更(’http’ もしくは ‘jms’)
Operation
「操作」プロパティを変更
54
SOAP/JMSサポート
SOAPRequest(およびSOAPReply)で使用されるLocalEnvironmentのエレメント
LocalEnvironment.Destination.SOAP.Request/Reply.Transport.JMS下にある以下の
エレメントを設定して各プロパティの値を変更できる
エレメント
説明
Destination
「宛先」プロパティを変更
ProviderName
「JMSプロバイダー名」プロパティを変更
InitialContextFactory
「初期コンテキスト・ファクトリー」プロパティーを変更
BindingsLocation
「JNDI URL バインディング・ロケーション」プロパティーを変更
ConnectionFactoryName
「接続ファクトリー名」プロパティーを変更
ContextParameters
「JNDI コンテキスト・パラメーター」プロパティーを変更
UriFormat
「UriFormat」プロパティーを変更(‘w3c’ もしくは ‘ibm’)
TargetService
「TargetService」プロパティーを変更
DeliveryMode
「DeliveryMode 」プロパティーを変更 (’PERSISTENT’ もしくは ‘NON_PERSISTENT’)
MessagePriority
「MessagePriority」プロパティーを変更
Expiration
「Expiration」プロパティーを変更
MessageType
「MessageType」プロパティーを変更(’text’ もしくは ‘bytes’)
UserProperties
「ユーザー・コンテキスト・パラメーター」プロパティーを変更
ReplyToDestination
「ReplyToDestination(宛先に応答)」プロパティーを変更
Timeout
「Timeout」プロパティーを変更
55
SOAP/JMSサポート
SOAPノードでSOAP/JMSメッセージ処理時のメッセージ・ツリー構造
Root
Properties
Message_MetaData
JMSTransport
Body
Transport_Folders
SOAP
Header_Values
「Application_Properties」にSOAP/JMS関連のプロパティがセットされる
他は、JMSノードによるJMSメッセージ処理時と同等
Application_Properties
JMS_Provider_Properties
Standard_Properties
PayloadType
JMSDestination
SOAPJMS_bindingVersion
JMS_IBM_PutDate
JMSXUserID
MessagePersistence
JMSDeliveryMode
SOAPJMS_soapAction
JMS_IBM_PutTime
JMSXAppID
JMSExpiration
SOAPJMS_requestURI
JMS_IBM_PutApplType
JMSXDeliveryCount
JMSPriority
SOAPJMS_targetService
JMS_IBM_Encoding
JMSTimestamp
SOAPJMS_contentType
JMS_IBM_Format
:
JMSMessageID
:
JMS_IBM_Character_Set
JMSCorrelationID
JMS_IBM_MsgType
JMSReplyTo
:
JMSType
JMSRedelivered
56
:
SOAP/JMSサポート
WSDLにおけるJMSバインディングの定義
bindingエレメントのtransport属性に以下を指定
http://schemas.xmlsoap.org/soap/jms
addressエレメントにJMSバインディングのURIを指定
„W3C
SOAP JMS 仕様のURI形式をサポート
jms:jndi:[destination]?<property>=<value>&amp;<property>=<value>&amp;…
※IBM独自形式(WAS V6.1等で使用していた形式)もサポートしているが非推奨
„指定可能なプロパティ
プロパティ
説明
destination
宛先キューのJNDI名
jndiConnectionFactoryName
接続ファクトリのJNDI名
targetService
要求のディスパッチ先であるポート・コンポーネントの名前
jndiInitialContextFactory
初期コンテキスト・ファクトリー名
jndiURL
JNDIプロバイダーのURL
replyToName
応答メッセージの受信に使用される、キューの JNDI 名
deliveryMode
要求メッセージを永続性(PERSISTENT/NON_PERSISTENT)
timeToLive
要求メッセージの存続時間(ミリ秒単位)
priority
要求メッセージの優先順位(0~9、デフォルト4)
57
SOAP/JMSサポート
WSDLのJMSバインディング定義例
(省略)
<binding name="SOAP_TEST_JMS_Binding" type="tns:SOAP_TEST">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms"/>
<operation name="SOAP_TEST">
<soap:operation soapAction="SOAP_TEST"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="SOAP_TEST">
<port binding="tns:SOAP_TEST_JMS_Binding" name="SOAP_TEST_JMS_Port">
<soap:address location="jms:jndi:JMS_IN?
replyToName=JMS_OUT&amp;jndiConnectionFactoryName=CF1&amp;jndiInitialContextFactory=com.sun.jndi.fscontext.RefFSContext
Factory&amp;jndiURL=file:/C:/_shoheim/JNDI_DIR/&amp;deliveryMode=PERSISTENT&amp;timeToLive=300000&amp;priority=1&amp;
targetService=SOAP_TEST_JMS_Service"/>
</port>
</service>
(省略)
58
SOAP/JMSサポート
JMSバインディングが定義されたWSDLを基にフローの一部を自動生成可能
WSDLをフロー・エディターにドラッグ&ドロップし、ウィザードを起動
フローをWebサービス・プロバイダーとする場合
SOAPInputとSOAPReplyノードを含むフローの一部が生成される
(「メッセージ・フローをWebサービスとして公開」を選択した場合の生成フロー)
ドラッグ&ドロップ
起動されたウィザード
「メッセージ・フローをWebサービスとして公開」を選択
WSDLに定義された各パラメータを選択
ここでJMSバインディングを指定できる
59
SOAP/JMSサポート
„SOAPノード・プロパティも自動的にセットされる
SOAPInputノードの「基本」タグ
ウィザードで指定したポートタイプやバインディングがセットされる
SOAPInputノードの「JMSトランスポート」タグ
WSDLの「address」エレメントに指定した各プロパティが対応するノード・プロパティにセットされる
60
SOAP/JMSサポート
フローをWebサービス・プロバイダーとする場合
SOAPRequestノードを含むサブフローが生成される
ウィザード
ドラッグ&ドロップ
サブフロー
「Webサービス」をメッセージフローから起動」を選択
ウィザードで指定したポートタイプやバインディングがセットされる
WSDLの「address」エレメントに指定した各プロパティが
対応するノード・プロパティにセットされる
SOAPRequestの「基本」タブ
SOAPRequestの「JMSトランスポート」タブ
SOAPRequestの「メッセージ・デリバリー」タブ
61
SOAP/JMSサポート
既存メッセージセットからJMSバインディングを含むWSDLの生成が可能
62
SOAP/JMSサポート
既存メッセージセットからJMSバインディングを含むWSDLの生成が可能
SOAP/JMSを選択
JMSバインディングの
各プロパティを設定
WSDL生成
63
blank
64
Webサービスおよび
HTTP関連機能拡張
65
WSDL照会
Webサービス・クライアントからのWSDL照会に対応
SOAPInputノードは、クライアントからのWSDL照会要求に対してWSDL定義を返信可能
„HTTPトランスポート使用時のみ可能
„「HTTPトランスポート」タブの「?wsdl」のサポートを有効にする」プロパティをチェック
クライアントは、「?wsdl」を付けてHTTP GET要求をエンドポイントに送信
„エンドポイントURLが、http://localhost:7800/test1
の場合のWSDL照会要求
GET http://localhost:7800/test1?wsdl
„これによってクライアントは最上位のWSDLサービス定義を入手
„WSDL内でXMLスキーマ等をインポート/インクルードしている場合は、続けて照会要求を送信
<xsd:import ... schemaLocation=“http://localhost:7800/test1?xsd=xsd0”/> がWSDLに含まれている場合
GET http://localhost:7800/test1?xsd=xsd0
エンドポイント
Webサービス
クライアント
WSDL照会要求(HTTP GET)
WSDLサービス定義
WSDL
66
実行グループ・リスナー
HTTPノードで実行グループ内のHTTPリスナー(実行グループ・リスナー)を利用可能
V7.0.0.0までHTTPノードはブローカー・レベルのHTTPリスナー(ブローカー・リスナー)を利用
„実行グループ・リスナーはSOAPノードが利用
実行グループ・リスナーを利用することで、スループット、レスポンスの向上が期待できる
„フローを複数の実行グループにデプロイして、複数のリスナーでリクエストを処理できる
„実行グループ・リスナーは、HTTPノードと直接通信するため処理速度も向上
–ブローカー・リスナーは、キュー経由でHTTPノードと通信
注意点
„HTTPInputノードとHTTPReplyノードは同じ実行グループにデプロイし、
同じリスナーを利用するようにする必要がある(ノードを配置するフローは異なっていてもよい)
ブローカー
実行グループ
HTTP
クライアント
実行グループ
リスナー
実行グループ
HTTP
クライアント
ブローカー
リスナー
67
実行グループ・リスナー
実行グループ・リスナーの利用設定
デフォルトではHTTPノードはブローカー・リスナーを利用
ブローカー内の全ての実行グループを一括で設定する場合、
以下のコマンドでブローカー・リスナーを使用不可にする
mqsichangeproperties <BrokerName> -b httplistener -o HTTPListener -n startListener -v false
„ブローカーを再起動したタイミングで実行グループはブローカー・リスナーの使用停止を検知し、
自動的に実行グループ・リスナーを使用する
–実行グループ個々の設定には依存しない
„ブローカー・リスナーが利用していたポート(デフォルト、HTTP:7080、HTTPS:7083)を実行グループ・リス
ナーが利用するように設定することも可能(mqsichangeproperties コマンドで変更)
„設定を戻す場合は、上記コマンドの「-v」オプションに「true」を指定して実行(ブローカー再起動で反映)
実行グループ単位に設定する場合、以下のコマンドで特定の実行グループに対し設定する
mqsichangeproperties <BrokerName> -e <EGName> -o ExecutionGroup
-n httpNodesUseEmbeddedListener -v true
„設定は、ブローカー再起動で反映
„設定を戻す場合は、上記コマンドの「-v」オプションに「false」を指定して実行(ブローカー再起動で反映)
※上記設定はHTTPノードにのみ有効で、SOAPノードは常に実行グループ・リスナーを利用
68
HTTPタイムアウト・ターミナル
SOAPInputノード、HTTPInputノードでHTTPタイムアウト時の処理を実装可能
各ノードに「HTTP Timeout」ターミナルが新たに追加
„SOAPInputノードでは、HTTPトランスポート使用時のみ有効
„HTTPInputノードでは、組み込みの実行グループ・リスナー利用時のみ有効
HTTP Timeoutターミナル
HTTP Timeoutターミナル
タイムアウト時間は各ノードのプロパティに設定
:「HTTPトランスポート」タブの「最大クライアント待機時間(秒)」(デフォルト180秒)
„HTTPInputノード :「エラー処理」タブの「最大クライアント待機時間(秒)」(デフォルト180秒)
„SOAPInputノード
「HTTP Timeout」ターミナルの先では、応答ノード(SOAPReply/HTTPReply)を用いて
クライアントに応答を返信するフローを実装
„「HTTP
Timeout」ターミナルを実装しない場合は、リスナーがタイムアウト・エラー応答を返信
–V7.0.0.0までの実装と同じ
„「HTTP
Timeout」ターミナルを実装した場合でも、タイムアウト発生後、特定時間(※1)内にエラー応答
をフローから返信できないと、リスナーが自動的にタイムアウト・エラー応答を返信
※1 タイムアウト時間、または10秒のいづれか短い値
69
HTTPタイムアウト・ターミナル
「HTTP Timeout」ターミナルにメッセージが伝播されるときのメッセージ・ツリー構造
ヘッダー部分は、元の入力メッセージのものがそのままセット
メッセージ本体は、タイムアウトを示すエラー・メッセージ
„SOAPの場合は、SOAP
Faultメッセージ
Root直下のメッセージ・ツリー(SOAPInputの場合)
(0x01000000:Folder):SOAP
= ( ['SOAP' : 0xbf77f8]
(省略)
(0x01000000:Folder):Header =
(0x01000000:Folder):Body
= ( ['xmlnsc' : 0x4245d08]
(0x01000000:Folder)http://schemas.xmlsoap.org/soap/envelope/:Fault = (
(0x03000000:PCDataField):faultcode = 'SOAP-ENV:Server' (CHARACTER)
(0x03000000:PCDataField):faultstring = 'A timeout occurred during processing' (CHARACTER)
(0x03000000:PCDataField):faultactor = '/soap_test_01' (CHARACTER)
(0x01000000:Folder
):detail
= (
(0x03000000:PCDataField):text = 'Timeout. The Broker 70BK did not provide a response within the specified time
interval (10 seconds). The message reached the main flow, but timed out during processing. It was then given to the the
timeout flow for processing.' (CHARACTER)
元の入力メッセージの本体は、LocalEnvironmentにBLOB形式で保管
LocalEnvironment直下のメッセージ・ツリー(SOAPInputの場合)
(0x01000000:Name):SOAP
= (
(0x01000000:Name):Input = (
(0x01000000:Name):Timeout
= (
(0x03000000:NameValue):OriginalClientWaitTime
(0x03000000:NameValue):OriginalMessageMadeTheFlow
(0x03000000:NameValue):OriginalRequestIdentifier
(0x03000000:NameValue):OriginalInboundMessage
70
=
=
=
=
10 (INTEGER)
TRUE (BOOLEAN)
X'534f4150000000000000000000000000300a000000000000' (BLOB)
X‘3c736f6170656e763a4・・・・・・・f70653e' (BLOB)
HTTPタイムアウト・ターミナル
タイムアウト時のユーザ実装の応答メッセージとステータス・コード
SOAPの場合、SOAPReplyノードでSOAP Faultメッセージを返信する必要がある
„ステータス・コードは、「500」(変更不可)
HTTPの場合、HTTPReplyノードで任意の応答メッセージを返信できる
„ステータス・コードは、LocalEnvironment.Destination.HTTP.ReplyStatusCode
71
blank
72
で指定可能
メッセージフロー・セキュリティ
機能強化
73
メッセージフロー・セキュリティの機能強化
WS-Trust V1.3 準拠セキュリティー・トークン・サーバー(STS)を
外部セキュリティ・プロバイダーとして新たにサポート
Tivoli Federated Identity Manager(TFIM)V6.2 など
セキュリティ・トークン
WS-Trust V1.3 準拠STSを使用することで、
新たに右記セキュリティ・トークンが利用可能
SAMLアサーション
Kerberosチケット
LTPAトークン
RACFパスチケット
SecurityPEPノードの提供
ユニバーサルWSSEトークン
フロー内の任意のポイントでセキュリティー・マネージャーを起動可能
V7.0.0.0までのメッセージフロー・セキュリティ
‹外部セキュリティ・プロバイダーは以下の2つをサポート
◇Lightweight Directory Access Protocol (LDAP) →認証、許可をサポート
◇TFIM V6.1 →認証、許可、マッピングをサポート
‹利用可能なセキュリティ・トークンは以下の3つをサポート
◇ユーザー名 / ユーザー名とパスワード / X.509 証明書
‹セキュリティ・マネージャーの起動ポイントは、
セキュリティが使用可能な入力ノード(MQ/HTTP(S)/SOAP/SCA)に限定
74
メッセージフロー・セキュリティの概要
メッセージのIDに基づいたアクセス制御を可能にするセキュリティー・マネージャーを提供
トランスポート・タイプとメッセージ形式のどちらにも依存しないセキュリティー・メカニズムを提供
当機能は、V6.1から提供開始
セキュリティー・マネージャーを利用して以下の処理を実行可能
①入力メッセージから ID(セキュリティ・トークン)の抽出
②外部セキュリティ・プロバイダーによるセキュリティ操作の実施
の認証
の代替 ID へのマップ
„ID または代替 ID がメッセージ・フローへのアクセスを許可されているかの検査
※要件(設定)に応じて、上記のいづれか、または複数の処理を実施
„ID
„ID
③ID または代替 ID の出力メッセージへの伝搬
セキュリティ・プロファイルによるセキュリティ機能の制御
プロファイルに、実施するセキュリティ操作(認証/マップ/許可検査)、
使用するセキュリティ・プロバイダー、プロバイダーへの接続情報等を設定
セキュリティが有効な各入力/出力/要求ノードおよびSecurity PEPノード(V7.0.0.1から)に
プロファイルを設定
75
メッセージフロー・セキュリティの概要
メッセージフロー・セキュリティの動作イメージ
③IDの伝搬
セキュリティ
プロファイル
セキュリティ
プロファイル
ID
ID
入力メッセージ
入力ノード:
MQ/HTTP(S)/
SOAP/SCA
ID
出力ノード:
MQ/HTTP(S)/
SOAP/SCA
①IDの抽出
ID
セキュリティ・マネージャー
セキュリティ
キャッシュ
②IDの認証/マップ/許可検査
ブローカー
ID
ID
マップ
認証
外部セキュリティ・プロバイダー(WS-Trust v1.3 STS / LDAP / TFIM V6.1)
76
ID
許可検査
出力メッセージ
Security PEPノード
Security PEPノードの提供
入力ノードから出力/要求ノードまでの任意の箇所でセキュリティ・マネージャーの呼出が可能
メッセージフロー・セキュリティをサポートしていない入力ノード(※)の場合でも利用可能
※メッセージフロー・セキュリティをサポートしている入力ノードは、MQ/HTTP(S)/SOAP/SCA
関連付けられたセキュリティ・プロファイルに基づいてセキュリティ処理を実施
セキュリティ
プロファイル
出力/要求
ノード
入力
ノード
ID
セキュリティ
キャッシュ
セキュリティ・マネージャー
ブローカー
許可検査
マップ
認証
外部セキュリティ・プロバイダー(WS-Trust v1.3 STS / LDAP / TFIM V6.1)
77
Security PEPノード
Security PEPノードのプロパティ
「基本」タブ
„セキュリティー・プロファイルがノードに関連付けられている場合に、
メッセージからのID/セキュリティ・トークンの抽出を制御するプロパティーを設定
使用するID/トークンのタイプを指定
メッセージツリー内のID/トークンの位置を指定
指定方法:XPath 式、ESQLフィールド参照、ストリング・リテラル
メッセージツリー内のID/トークン発行者の位置を指定
指定方法:XPath 式、ESQLフィールド参照、ストリング・リテラル
78
ID
Security PEPノード
「拡張」タブ
„WS-Trust
v1.3 STS のデフォルト設定を変更する際に設定するプロパティー
–ノードに関連付けられたセキュリティー・プロファイルが WS-Trust v1.3 STS を指定している場合にのみ設定可能
WS-Trust メッセージの /wst:RequestSecurityToken/wsp:AppliesTo エレメントのアドレス、サービス名、ポート・タイプを指定
79
blank
80
WMQFTEとの接続サポート
81
WMQFTEとの接続サポート
WebSphere MQ File Transfer Edition(WMQFTE)との接続をサポート
WMQFTE V7.0.2以降をサポート
FTEとのインターフェースとして、FTEInputノード、FTEOutputノードを提供
„FTEInputノード
„FTEOutputノード
:リモートFTEエージェントからのファイル転送をトリガーにメッセージ・フローを開始
:メッセージ・フローからリモートFTEエージェントへのファイル転送を実施
-Failure
-Out
-End of Data
-Failure
-Out
-End of Data
-Catch
※FTEエージェントとは、
ファイルの送受信を行う
WMQFTEのコンポーネント
FTEエージェントの自動構成
„FTEノードをデプロイした際に自動的にブローカー(実行グループ)内に構成される
WMQFTEとWMBを組み合わせることで、フォーマット/データ変換を伴うファイル転送が可能
„送信元FTEネットワークより、WMBへファイルを送信
„メッセージ・フローでファイルのデータを変換し、送信先FTEシステムへファイルを転送
送信元
FTEシステム
FTE
エージェント
送信先
FTEシステム
WMB
WMBメッセージフロー
FTE
エージェント
フォーマット/
データ変換
82
FTE
エージェント
FTE
エージェント
WMQFTEとは
WebSphere MQ File Transfer Edition
管理されたファイル転送(Managed File Transfer)ソリューションを提供
2009年10月 V7.0.2発表
ファイル転送のバックボーンを提供
バックボーンに接続する任意の拠点同士で
ファイル転送が可能
転送プロトコルとしてMQを使用
障害時の自動再転送が可能
監査、転送ログの監視
ファイル
転送要求
管理されたファイル転送バックボーン
A
B
C
D
E ・・・ X
File
Y
Z
File
ファイル転送の一元管理
監査ログ、転送ログを任意の場所で監視・収集可能
データベースへの監査ログ蓄積が可能
ファイル転送の自動化
スケジュール機能
トリガー機能
83
WMQFTE論理構成
WMQFTEを構成するコンポーネント
WMQFTEの論理コンポーネント
役割
調整キュー・マネージャー
ファイル転送のバックボーンを管理する
調整キュー・マネージャーはFTEネットワークに1つのみ構成
FTEエージェント
ローカルマシンのファイルの送受信を行う、常駐のJavaアプリケーション
FTEエージェント・キュー・マネージャー
FTEエージェントがファイル転送を行うために接続(ローカル/クラアイント)するキュー・マネー
ジャー
コマンド・キュー・マネージャー
ファイル転送用のFTEコマンド・メッセージを適切なエージェントに送信するキュー・マネージャー
運用管理コマンド
FTEコンポーネントの構成、ファイル転送の開始/スケジュール/取り消しなどの運用を行うコマ
ンド群
MQエクスプローラー
ファイル転送管理用GUIをプラグインで提供
File
FTE エージェント
File
FTE エージェント
MQ
エクスプローラー
調整キュー・マネージャー
FTE エージェント・
エージェント・
FTE
キュー・マネージャー
キュー・マネージャー
(MQ V6 / V7)
コマンド・キュー
コマンド・キュー
・マネージャー
・マネージャー
(MQ V6 / V7)
WebSphere MQベースのファイル転送バックボーン
84
FTE エージェント
File
FTE エージェント
File
コマンド
WMQFTEファイル転送の仕組み
WMQFTEは内部的にMQを使用し、ファイル転送を実施
FTEエージェントは、ファイルをMQメッセージに変換して転送
„
FTEエージェント同士が転送バイト数を確認しながら、ファイルとMQメッセージ変換を実行
MQのPub/Sub機能を利用して転送ログを一元管理
„
エージェントは転送状況、監査情報を調整キュー・マネージャーにパブリッシュする
【FTEを使用したファイル転送の流れ】
FTEシステム
FTEシステム
メッセージをファイルに変換
ファイルをメッセージに変換
FTEファイル転送
エージェント
QMGR
エージェント
QMGR
FTE
エージェント
FTE
エージェント
転送用キュー
ファイル
ファイル
ログ、転送状況の表示
FTE管理システム
転送ログを
パブリッシュ
MQエクスプ
ローラー
調整QMGR
ログ管理
アプリ
監査ログ
85
ブローカーが使用するWMQFTEコンポーネントの構成
ブローカーが使用するWMQFTEコンポーネントの構成
FTEエージェント(以下、ブローカー使用FTEエージェント)
„ブローカーは、実行グループ内にFTEエージェントを構成する
エージェント・キュー・マネージャー
„ブローカー・キュー・マネージャーをエージェント・キュー・マネージャーとして使用(変更不可)
–ブローカー使用FTEエージェントとエージェント・キュー・マネージャーは、ローカル接続のみ可能
調整キュー・マネージャー
„ローカル、もしくは、既存リモートの調整キュー・マネージャーを使用
–既存リモート調整キュー・マネージャーを使用する場合は、既存FTE環境が構成済みであることが前提
9ブローカー・キュー・マネージャー、調整キュー・マネージャー間のチャネルを作成
※WMQFTE環境の設定に関しては、次のSIL:WebSphere MQ File Transfer Edition V7.0 導入ガイドを参照
9http://w3-06.ibm.com/jp/domino02/ise/ISEINFO.NSF/604755fe61c93ffc492563fd002551ec/
9402f8bdc4e9eace4925756d0027c78f?OpenDocument
【ブローカーが使用するWMBコンポーネントの構成】 ブローカー・システム
FTEシステム
FTE
エージェント
ファイル
内部的にFTEエージェントを構成
ブローカーQMGR
エージェント
QMGR
エージェント
QMGR
実行グループ
メッセージフロー
FTE
エージェント
転送用キュー
ローカル接続のみ可能
調整QMGR
86
ブローカーが使用するWMQFTEコンポーネントの構成
ブローカーが使用するWMQFTEコンポーネントの構成方法
FTEエージェント(以下、ブローカー使用FTEエージェント)
„FTEノード
を含むフローをデプロイした各実行グループに1つ起動される
–デプロイ時には自動的に構成される
–エージェント名: Broker.ExecutionGroup
9変更不可
„実行グループ、フロー起動/停止と同時に、自動的に起動/停止される
エージェント・キュー・マネージャー
„ブローカー使用FTEエージェント構成時、ブローカー・キュー・マネージャーにエージェント・キュー・マネ
ジャーが自動的に構成される
調整キュー・マネージャー
„実行グループに対し、調整キュー・マネージャーを設定
–設定されていない場合、ブローカー・キュー・マネージャーがデフォルトの調整キュー・マネージャーとして使用される
–明示指定しない場合、ブローカー起動/停止の都度、ブローカー使用FTEエージェントが作成/削除されるため、
設定することを推奨
87
構成手順
以下は、ブローカーとWMQFTEの接続を構成する手順
1. ディスク・スペースの確認
ブローカーはリモート・エージェントへの送受信の際に次のディレクトリを使用
„<WORKPATH>/common/FTE
転送ファイル・サイズ以上の十分なスペースを準備
2. MQ環境の設定
通常のWMQFTE構成同様、以下MQオブジェクトの作成が必要
„エージェント・キュー・マネージャー、調整キュー・マネージャー間のチャネル
„エージェント・キュー・マネージャー間のチャネル
※既存FTE環境は構成済みであることが前提です。
※WMQFTE環境の設定に関しては、次のSILを参考にしてください。
–SIL: WebSphere MQ File Transfer Edition V7.0 導入ガイド
–http://w3-06.ibm.com/jp/domino02/ise/ISEINFO.NSF/604755fe61c93ffc492563fd002551ec/
9402f8bdc4e9eace4925756d0027c78f?OpenDocument
3. FTEノードを含むメッセージ・フローをデプロイ
ブローカーは、エージェント・キュー・マネージャー に必要なMQオブジェクトを自動的に構成
„SYSTEM.FTEから始まるMQオブジェクトが自動的に作成される
88
構成手順
4. 調整キュー・マネージャーの設定
MB Explorer、または mqsichangeproperties コマンドで、調整キュー・マネージャーを指定
„ブローカーMB7BROKER の実行グループ myExecutionGroup に対して、調整キュー・マネージャー
を QM2に設定する場合
mqsichangeproperties
„MB
MB7BROKER -e myExecutionGroup
-o FTEAgent -n coordinationQMgr -v QM2
Explorerから変更する場合
–「ナビゲーター」 - 「ブローカー」 - 「実行グループ」を右クリックし、プロパティを選択
–WebSphere MQ File Transfer Editionから調整キュー・マネージャーを設定
変更後、実行グループ再起動が必要
5. ブローカー使用FTEエージェント名の確認
以下のいずれかで確認
„syslog:
メッセージ BIP3358 のログで出力される
コマンドを使用
„mqsireportproperties
–ブローカー MB7BROKER の実行グループ FTESAMPLE の FTE エージェント名を表示する
mqsireportproperties MB7BROKER -e FTESAMPLE -o FTEAgent -n agentName
„MB
Explorerで確認
–実行グループを右クリックして、ポップアップ・メニューから適切なオプションを選択
6. ブローカー使用FTEエージェントの稼動確認
次のコマンドで確認可能
ftePingAgent –m <BROKER_QMGR> <AGENT_NAME>
89
ブローカー使用FTEエージェント使用時のFTE機能
転送ログ
MBExplorerからファイル転送ログの確認が可能
※MBExpolorerからファイル転送の管理を行うためには、WMQFTEパッケージよりWMQFTEリ
モートツールを導入する必要があります。
ブローカー使用FTEエージェントが使用できない主なFTE機能
データベース・ロガー
プロトコル・ブリッジ
ユーザーEXIT
Ant スクリプト
90
FTEInputノード
FTE Inputノード
リモートFTEエージェントからのファイル転送をトリガーに、フローを開始するノード
„FTEファイル転送ごとにフローが開始される
ノードが処理するファイルのフィルタリグが可能
-Failure
-Out
-End of Data
-Catch
„リモートFTEエージェントは、ブローカー指定FTEエージェントと宛先ディレクトリ/ファイル名を指定し、
ファイルを転送する
„デフォルトは、転送されたディレクトリ、ファイル名にかかわらず、すべてのファイルを処理
„ブローカー使用FTEエージェントが受信するファイルの名前、宛先ディレクトリを設定することで、
指定したディレクトリ、ファイル名以外に転送されたファイルを処理不可とすることが可能
–「基本」タブで設定
ブローカー使用FTEエージェントが受信したファイルの処置を選択可能
„FTEInputノードの「基本」タブで設定
–ファイル名を変更せずに残す
–削除
–ファイル名にタイム・スタンプを付与して残す
„フローは、FTEファイル転送をトリガーに起動されるため、ファイルが残っていてもフローが2重に起動されるこ
とはない
メタデータ
„ファイル転送、または、ファイルに関する情報を取得可能
91
メッセージ・フローの開始までの流れ
FTEエージェントからのファイル転送をトリガーとしたメッセージ・フローの開始までの流れ
①リモートFTEからブローカー使用FTEエージェントに対しファイルを転送を発行
„リモートのFTEエージェントは、相手がブローカーであることを意識しない
„宛先のディレクトリは任意の場所を指定可能
②リモートFTEからブローカーシステムへファイルが転送される
„ファイル転送とメッセージ・フローは独立した処理
„転送状況や転送ログは通常のFTEエージェント間ファイル転送同様、調整キュー・マネージャーに送信される
③ブローカー使用FTEエージェントは、ファイルの到着をFTEInputノードに通知
④FTEInputノードは転送されたファイルを読み込み、処理を開始する
ブローカー・システム
転送要求の発行
FTEシステム
コマンド
①
ブローカー
②
FTE
エージェント
FTE
エージェント
File
転送元ファイル
92
③
④
メッセージフロー
FTEInputノード
FTEInputノードの「レコードおよびエレメント」タブで設定
FTEInputノードでのファイル処理
入力ファイルをレコード単位に処理することが可能
„レコード単位に読み込んで、都度メッセージフローを実行
レコードの識別方法(レコードの検出)
レコードの検出 種別
説明
ファイル全体
ファイル全体を1レコードとして扱う
固定長
バイト単位で指定
区切り文字
カスタム区切り文字(16進で指定)、またはブローカーのデフォルト(改行コード)を区切り文字として
扱う
Infix:ファイルの最後が区切り文字で終わった場合、空のレコードを渡す
Postfix:ファイルの最後が区切り文字の場合、そこで終了
構文解析されたレコード・シーケンス
FileInputノードで指定したメッセージ定義でパースしてレコードを抽出する
パースしたレコード順に渡す
LocalEnvironment.FTE.Recordでファイル内のレコード番号を確認可能
ファイル内の全レコードの処理が完了すると、メッセージが“End of Data” ターミナルに流れる
„データ部は空メッセージ
„“End
of Data”ターミナルの先に処理が実装されている場合のみ
93
FTEInputノード
ノード・プロパティ
タブ
説明
基本
入力メッセージの構文解析
再試行
レコードおよびエレメント
妥当性検査
トランザクション
インスタンス
説明
・ノード名、コメント
・ディレクトリー・フィルター
・ファイル名・フィルター
・正常な処理に対する処置
・入力メッセージをパースする際の情報
メッセージ・ドメイン、メッセージ・セット、メッセージ・タイプ、メッセージ形式、CCSID、Encoding
・パースするタイミング
即時、要求時など
・処理が失敗した場合の再試行の有無、再試行のメカニズム
短い再試行間隔と回数、長い再試行間隔
・処理が失敗した場合の入力ファイルの扱い
削除、バックアップなど
・レコードの検出方法とそれに関する設定
ファイル全体(レコード処理しない)、固定長、区切り、レコードシーケンス
長さ、区切り文字、区切り文字タイプなど
・妥当性検査の有無と方法
・妥当性検査失敗時の対応
例外、ユーザトレース、ローカルエラーログ、例外リスト
・後続のリソース更新処理に対するトランザクション制御の有無
・追加インスタンスの指定方法(メッセージフロー/ノード)
ノード単位の場合のインスタンス数
94
FTEOutputノード
FTEOutputノード
メッセージ・ツリーのデータをファイルに書き込み、ブローカー使用FTEエージェントに転送要求を
発行するノード
-Failure
-Out
-End of Data
„ファイル名にワイルドカードを指定可能
– LocalEnvironmentWildcard.WildcardMatchから値を取得
„レコードの追記中は以下のディレクトリに出力データを保持
–<workpath>/common/FTE/<BROKER>/<実行グループ>/Transfers/<フロー名>/<ノード名
>/Output/mqsitransit
„Finish
Fileターミナルにファイル処理の終了通知メッセージを受信すると、指定したFTEエージェントに対
するファイル転送要求を発行
FTE間の転送時に指定する宛先などの設定や転送オプションを「基本」タブにて設定
„宛先エージェント、ディレクトリー、ファイル名など
„転送モードを指定
–バイナリー転送か、テキスト転送か
„チェックサムの使用
„出力先ディレクトリに同一名称のファイルが存在していた場合の対応を指定
–既存ファイルの上書きするか、ファイル転送をエラーにするか
„LocalEnvironment.Destination.FTEで上書きが可能
メッセージ・ツリーの情報を元に動的なファイル出力の設定が可能
„ファイルへの出力内容、ファイルの出力先等の情報をメッセージ・ツリーから指定可能
95
フローからFTEエージェントへファイル転送開始までの流れ
メッセージ・フローからFTEエージェントへのファイル転送開始までの流れ
①In ターミナルに入ってきたメッセージからレコード作成し、mqsitransitディレクトリ以下の一時ファ
イルに追記
„レコードの追記中は以下のディレクトリに出力データを保持
–<workpath>/common/FTE/<BROKER>/<実行グループ>/Transfers/<フロー名>/<ノード名>/Output/mqsitransit
②Finish File ターミナルにメッセージが渡ると、出力ファイルを移動
–<workpath>/common/FTE/<BROKER>/<実行グループ>/Transfers/<フロー名>/<ノード名>/Output
③FTEOutputノードは、ブローカー使用FTEエージェントに対しファイルを転送を発行
④ブローカー使用FTEエージェントは作成されたファイルを読み込みファイルを転送
ブローカー・システム
Output
転送ファイル
①
FTEシステム
④
In
④
②
②
Finish File
FTE
エージェント
FTE
エージェント
mqsitransit
①
File
レコード1
レコード2
転送先ファイル
③
96
FTEOutputノード
FTEOutputノードでのファイル処理
レコード単位にファイルへ出力
レコードの出力方法(FTEOutputノードの「レコードおよびエレメント」タブで指定)
レコードの出力 種別
説明
ファイル全体
1レコードを1ファイルとして出力
未変更
レコードをそのまま追加
固定長
レコードを固定長データとして追加
レコード長(バイト)と埋め込み文字(16進)を指定し、指定した長さまでPaddingして出力
区切り文字
レコードを区切り文字形式で追加
区切り文字にはカスタム区切り文字(16進で指定)、またはブローカーのデフォルト(改行コード)を使
用
Infix:最後の区切り文字は出力されない
Postfix:最後のレコードのあとに区切り文字を出力
レコード処理の終わりは、FTEOutputノードの「Finish File」 ターミナルで検知
„FTEInputノードの「End
of Data」ターミナルとFTEOutputノードの「Finish File」ターミナルを接続するな
どの実装が必要
FTEOutputノードの「レコードおよびエレメント」タブで設定
„レコード出力種別で「ファイル全体」を設定した場合は
この実装は不要
97
ファイル・インターフェースのサポート
ノード・プロパティ
タブ
説明
説明
基本
・ノード名、コメント
・メタデータ
- ジョブ名
・宛先
- エージェント、キュー・マネージャー、ファイル・ディレクトリー、ファイル名
・オプション
- モード(Bimary/Text)、チェックサム指定、宛先ファイルの上書き指定
要求
・出力する内容に関する設定
XPath形式でメッセージツリーを指定
レコードおよびエレメント
・ファイルへの出力方法の指定
ファイル全体、固定長、区切り、未変更
長さ、埋め込み文字、区切り文字、区切り文字タイプなど
妥当性検査
・妥当性検査の有無と方法
・妥当性検査失敗時の対応
例外、ユーザトレース、ローカルエラーログ、例外リスト
FTEOutputノードのターミナル一覧
ターミナル名
説明
入力
ターミナル
in
処理要求メッセージを受信
Finish File
ファイル処理を終了するためのトリガーメッセージを受信
出力
ターミナル
Failure
エラー発生時に出力
Out
レコード出力成功時に、inターミナルで受信したメッセージを出力
End of Data
ファイルの終了処理成功時に、Finish Fileターミナルで受信したメッセージを出力
98
LocalEnvironment
FTEノードで使用するLocalEnvironmentツリー
ノード通過時に転送/ファイル情報やレコード情報がLocalEnvironmentのサブ・エレメントに
セットされる
LocalEnvironment.FTE
„現行レコードに関連する情報が格納
エレメント名
TimeStamp
データ型
CHARACTER
属性
ノードがファイル処理を開始した時間
UTCタイムゾーン
(ファイル名にTimestampを使用する場合に利用)
Offset
INTEGER
ファイル内のレコード開始オフセット
Record
INTEGER
ファイル内のレコード番号(1から)
Delimiter
CHARACTER
レコードの区切り文字
IsEmpty
BOOLEAN
レコードが空の場合にTrue
99
LocalEnvironment
LocalEnvironment.FTE.Transfer
„FTEから受信する転送またはファイルに関する情報が格納
エレメント名
データ型
属性
Directory
JobName
CHARACTER
CHARACTER
入力ディレクトリーの絶対ディレクトリー・パス
転送の名前
Name
CHARACTER
ファイル名と拡張子
LastModified
SourceAgent
TIMESTAMP
CHARACTER
ファイル最終更新日時
ファイルを送信元FTEエージェント名
DestinationAgent
CHARACTER
ファイル送信先FTEエージェント名
OriginatingHost
CHARACTER
ホストの名前 (どのホストから転送を実行するのか)
TransferId
CHARACTER
転送の固有名
MQMDUser
CHARACTER
転送要求メッセージのMQMDにセットされたユーザーID
OriginatingUser
CHARACTER
転送要求を実行したユーザーのユーザーID
TransferMode
CHARACTER
転送のモード(Binary/Text)
TransferStatus
CHARACTER
ファイル転送の状況
FileSize
INTEGER
転送するファイルのサイズ
ChecksumMethod
Checksum
CHARACTER
CHARACTER
DestinationAgentQmgr
CHARACTER
Null / MD5
ChecksumMethod エレメントが MD5 に設定されている場合は、このエレメント
が実際のチェックサムになる
ファイルの送信先の宛先エージェントのキュー・マネージャーの名前
SourceAgentQmgr
CHARACTER
ファイルを送信したソース・エージェントのキュー・マネージャーの名前
QverallTransferStatus
CHARACTER
転送の全体的な状況
TotalTransfers
INTEGER
正常に転送されたファイルの総数
TransferNumber
INTEGER
転送に含まれている現在のファイルの番号
100
LocalEnvironment
LocalEnvironment.WrittenDestination.FTE
„FTEOutputノード使用時に出力ファイルの情報をセット
エレメント名
DestinationAgent
データ型
CHARACTER
属性
ファイルの送信先のエージェントの名前
DestinationQmgr
CHARACTER
宛先エージェント・キュー・マネージャーの名前
JobName
CHARACTER
転送の名前
Directory
CHARACTER
出力ファイルのディレクトリ名
Name
CHARACTER
ファイル名
Overwrite
BOOLEAN
TransferId
CHARACTER
宛先エージェントが同じ名前のファイルをここに移動するとき、宛先システムのファ
イルを上書きできるようにするかどうかの指定
FTEOutput ノードが開始する転送の固有名
LocalEnvironment.Destination.FTE
„FTEOutput
ノードを使用時、「基本」タブに設定した転送オプションを以下の設定値で上書きが可能
エレメント名
DestinationAgent
データ型
CHARACTER
属性
ファイルの送信先のエージェントの名前
DestinationQmgr
CHARACTER
宛先エージェント・キュー・マネージャーの名前
JobName
CHARACTER
転送の名前
Directory
CHARACTER
出力ファイルのディレクトリ名
Name
CHARACTER
ファイル名
Overwrite
BOOLEAN
宛先エージェントが同じ名前のファイルをここに移動するとき、宛先システムのファ
イルを上書きできるようにするかどうかの指定
101
LocalEnvironment
LocalEnvironment.WrittenDestination.FTE
„FTEInputノードでファイル名にワイルドカードを使用すると、ワイルドカード部分の文字列をセット
„フロー内で値をセットすることも可能
„FTEOutputノードのファイル名指定でワイルドカードを指定すると、この値を使用
情報内容
エレメント名
データ型
属性
ワイルドカードに
関する情報
Directory
CHARACTER
ファイル名パターン内のワイルドカードに一致するファイル名中の文字
ストリング
102
マルチスレッドでのファイル処理の考慮点
マルチスレッドでのファイル処理
ノード・レベルまたは、フロー・レベルで追加インスタンスを設定可能
„
フロー・レベルでの設定はBARファイルの「構成」タブで設定
FTEInputノードの「インスタンス」タブで設定
FTEInput
„
FTEInputノードが転送されたファイルを読み込む処理から並列化される
FTEOutput
„
書き込み時、複数のインスタンスから1つの一時ファイルに書き込み可能
–同一実行グループ、同一ノードは、共通の一時ファイルを使用
–レコードの追記順序は保証されない
103
WMB-WMQFTE連携例
WMB-WMQFTE連携例
リモートのFTEサーバーより、中継サーバー(ブローカー)にファイルを転送
中継サーバーでは、ファイルのフォーマットを変更し、転送先FTEサーバーに転送
①転送元FTEエージェントからブローカー使用FTEエージェントへファイルを転送
②ブローカーは、ブローカー使用FTEエージェントからファイルを受け取り、一レコードづつ処理
③ファイルの処理が終了後、転送先サーバーへファイルを再転送する
„FTEInputの「End
of Data」ターミナルとFTEOutputの「Finish File」ターミナルを接続
„FTEOutputノードは、レコード処理の終了を、「Finish File」ターミナルで検知
„転送先FTEエージェント宛のディレクトリ、ファイル名はLocalEnvironmentで指定
④転送先サーバーでは、FTEエージェントがファイルを受け取り、指定のディレクトリに書き込む
転送元サーバー
中継サーバー
転送先サーバー
FTE
エージェント
FTE
エージェント ①
④
FTE
エージェント
出力ファイル
入力ファイル
食品, ワイン, 2300, 12, 27600
食品, ビール, 1300, 10, 13000
雑貨, シート, 400, 2, 800
:
②
③
104
食品 : 27600
食品 : 13000
:
その他
105
CORBARequestノードの追加
外部 CORBA アプリケーションとの接続をサポート
CORBARequestノードを提供
-Failure
-Out
-Error
„CORBAサーバーに対して、CORBAオブジェクトに対する操作を呼び出し、結果を受信
CORBA
オブジェクト
※
CORBA オブジェクト: CORBAによって規定されたプロ
トコルによってアクセス可能な、分散アプリケー
ション・オブジェクト
IDL: CORBAオブジェクトのインタフェースを定義
IDL
接続先CORBAオブジェクトの設定
„「基本」タブのIDLプロパティー、CORBAオブジェクト参照プロパティーに設定
–CORBAオブジェクト参照を、構成可能サービスで設定することも可能
9構成可能サービス名を指定
106
CORBARequestノードの追加
構成可能サービスを使用した接続定義の設定
mqsicreateconfigurableserviceコマンドを使用して定義を作成
mqsicreateconfigurableservice MB7BROKER -c CORBA -o myCORBAService -n
namingService,objectReferenceName -v localhost:2809,Europe.region/Market.object
mqsichangepropertiesコマンドで定義済み構成可能サービスを変更
mqsichangeproperties MB7BROKER -c CORBA -o myCORBAService -n namingService,objectReferenceName -v
production.corba.ibm.com:2809,Europe.region/Market.object
mqsireportpropertiesコマンドで定義済み構成可能サービスを削除
mqsireportproperties MB7BROKER -c CORBA -o AllReportableEntityNames -r
107
CICSRequestノードの追加
CICSに接続するためのCICSRequestノードを提供
ターゲットの CICS 領域のプログラムを呼び出すことが可能
CICS Transaction Server for z/OS バージョン 3.2 以降をサポート
IP InterCommunications (IPIC) プロトコルを使用してCICS へ接続
-Failure
-Out
-Error
-タイムアウト
ホスト
File
MQ
WMB
TCP/IP
CICS for z/OS
IPIC
TCPIPService
IMSノード
SOAP
接続先CICS情報の登録
「基本」タブより、接続先CICSサーバー、プログラム名などを指定
–構成可能サービスでの設定も可能
–CICSサーバーに構成可能サービス名を指定
108
Application
CICSRequestノードの追加
構成可能サービスを使用した接続定義の設定
mqsicreateconfigurableserviceコマンドを使用して定義を作成
mqsicreateconfigurableservice MB7BROKER -c CICSConnection -o myCICSConnectionService -n
cicsServer,clientApplid,clientQualifier,connectionTimeoutSecs,requestTimeoutSecs -v
tcp://test.cics.ibm.com:12345,BRKApp,BRKQual,10,5
mqsichangepropertiesコマンドで定義済み構成可能サービスを変更
mqsichangeproperties MB7BROKER -c CICSConnection -o myCICSConnectionService -n cicsServer -v
tcp://production.cics.ibm.com:12345
mqsireportpropertiesコマンドで定義済み構成可能サービスを削除
mqsireportproperties MB7BROKER -c CICSConnection -o AllReportableEntityNames -r
109
SSL による IMS に対する接続の保護
IMSとのSSL通信をサポート
SSLを使用し、 IMSRequestノード、IMS間のセキュアな通信が可能
※SSLを使用する場合は、構成可能サービスを使用してIIMSRequestノードを構成することが必要
„「基本」タブの「ノードで定義された接続プロパティーを使用します」のチェックを外す
„mqsicreateconfigurableserviceコマンドを使用して定義を作成
構成手順
Public Key Infrastructure (PKI) をブローカー・レベルでセットアップ
„鍵ストア、トラストストア、パスワード、および証明書を構成
IMSConnect 構成可能サービスで UseSSL および SSLEncryptionType プロパティーを設定
„myIMSConnectService
構成可能サービスを使用するように構成されたIMSRequest ノードを変更する例
mqsichangeproperties MB7BROKER -c IMSConnect -o myIMSConnectService -n
UseSSL,SSLEncryptionType -v True,Weak
110
リソース統計の追加
リソース統計が取得可能なリソース・タイプが追加
CICS
„CICSサーバーの呼び出し回数、実行成否など
CORBA
„CORBAサーバーの呼び出す回数、実行成否など
FTEエージェント
„FTEエージェントが送受信した転送数など
JDBCコネクションプール
„コネクションプールに関する情報など
SOAP
„SOAPInputノード/SOAPReplyノードでの送受信したメッセージ数、実行成否など
セキュリティ
„認証要求した数、実行成否など
111
その他
サポート・プラットフォームの拡張
ブローカー、ツールキット、MBExplorerはそれぞれ以下をサポートを追加
„Windows
7
„Windows Server 2008 R2
Windows (x86-64)環境にて64 ビット・ブローカーと実行グループをサポート
サポートパック(IE02): WMB Database Extenderが追加
DataDirect ODBC ドライバーでは対応できない ODBC データ・ソースに対するインターフェース
を用意
„SolidDBデータ・ソース
„unixODBC
Project で提供されているデータ・ソース
112
Fly UP