...

IBM Integration Bus V9 第 2 章

by user

on
Category: Documents
240

views

Report

Comments

Transcript

IBM Integration Bus V9 第 2 章
IBM Integration Bus V9
第2章 新機能の紹介
内容
ワークロード・マネージメント
Web UIによる管理機能の強化
グローバル・キャッシュ機能の拡張
ビジネス・ルール
.NETサポートの拡張
BPMとの連携
サービス・ディスカバリー
XMLデータ分析
その他の機能強化
WAS管理コンソールからの管理機能
GUIマッピングの機能強化
Web関連機能の拡張
ODBC設定の検証機能
集約ノードの機能強化
CICSトランザクション・サポート
実行グループのユーザー指定(z/OS)
2
ワークロード・マネージメント
3
ワークロード・マネージメント
ワークロード・マネージメント機能の提供
最大処理レートの制御
メッセージ処理件数が指定のレート内に収まるように制御することが可能
メッセージフローに対して最大レート(メッセージ処理件数/秒)を設定
通知
処理リクエスト入力件数が閾値を超過/収束した場合に通知することが可能
MQ
Pub/Subの仕組みを利用し通知メッセージをパブリッシュ
無応答フローに対するアクション
メッセージ処理時間が指定のタイムアウト時間を超過した場合のアクションを指定可能
–実行グループの再起動(GA版時点)、もしくは、アクションなし
処理時間超過を通知可能
ワークロード・マネージメント・ポリシーにて動的に設定を変更可能
ブローカー
ブローカー
ワークロード・マネージメント機能
メッセージフローB
処理
リクエスト
処理が閾値内に収まる
処理が閾値内に収まる
ように制御
ように制御
最⾼
速度
メッセージフローA
入力リクエスト数が閾
入力リクエスト数が閾
値を超えると通知
値を超えると通知
メッセージフローC
タイムアウト時にアク
タイムアウト時にアク
ションを実施(再起動)
ションを実施(再起動)
4
再起動
ワークロード・マネージメント
ワークロード・マネージメント活用シナリオ
最大処理レートの制御を利用し、時間帯により優先させる処理を制御する
バッチ処理、オンラン処理のフローが混在する環境を想定
業務時間帯はオンライン処理を優先させるため、バッチ処理の処理速度を制限する
業務時間帯
ブローカー
ブローカー
オンライン処理フロー
オンライン処理を優先させるため、
バッチ処理の処理速度を制限
オンライン処理
バッチ処理フロー
最⾼
速度
バッチ処理
リソースに制限のあるバックエンド・サーバーに合わせて、フロントエンドからの処理速度を制限する
ブローカー
ブローカー
オンライン処理フロー
バックエンドのパフォーマンスにあわせて、
フロントからの処理速度を制限
最⾼
速度
フロント・エンド
バック・エンド
5
最⾼
速度
ワークロード・マネージメント– 最大処理レートの制御
メッセージ処理件数が指定のレート内に収まるように制御することが可能
最大処理レート(メッセージ処理件数/秒)をフロー単位で設定
フローのメッセージ処理件数が、最大レート内に収まるように制御
最大処理レートを50
(メッセージ/秒)に設定した場合の例
10,000件のメッセージ処理にかかる処理速度を比較
100
100
処理件数/s
100
100
80
80
80
80
60
60
60
60
40
40
40
40
20
20
20
20
00
最大レートを50件/秒に設定
処理件数/s
00
経過時間
経過時間
入力ノードの種別に関係なく、フローへのリクエスト数をもとに速度が制御される
メッセージフロー内のすべての入力ノードおよびインスタンスへのリクエストの合計を制御に使用
リクエストがエラーとなる場合でも、1入力としてカウントされる
複数スレッドでフローを実行する場合、合計スレッド数と最大処理レートの設定をもとに、
各スレッドにそれぞれ処理レートが割り当てられる
ノード単位で、処理レートを制御することはできない
各スレッドに割り当てられる処理レートの具体的な計算例は次ページ参照
6
(参考) ワークロード・マネージメント – 最大処理レートの制御
最⾼
速度
複数スレッドで実行する場合の処理レートの割り当て
稼動中の各スレッドに(最大処理レート÷合計スレッド数)の処理レートが割り当てられる
合計スレッド数は以下の式で計算
(メッセージフロー内の入力ノード数)+(各入力ノードの追加インスタンス数の合計)
稼動スレッドに割り当てられる処理レートの割り当て例(最大処理レート50に設定時)
1メッセージフロー、1入力ノード、追加インスタンス0
の場合
–(合計スレッド数) = 1
–(各スレッドの処理レート) = 50 ÷ 1
=1
1メッセージフロー、1入力ノード、追加インスタンス2の場合
–(合計スレッド数) = 2
–(各スレッドの処理レート) = 50 ÷ 2
= 25
1フローに3入力ノードがあり、それぞれ以下のように追加インスタンスが設定されている場合
–InputノードA 追加インスタンス:4
–InputノードB 追加インスタンス:3
–InputノードC 追加インスタンス:0
–(合計スレッド数) = 5 + 4 + 1
= 10
–(各スレッドの処理レート) = 50 ÷ 10
= 5
7
ワークロード・マネージメント – 通知
メッセージ入力件数が閾値を超過/収束した場合に通知することが可能
メッセージフローに対して通知閾値(処理リクエスト件数/秒)を設定
MQ Pub/Subの仕組みを利用し通知メッセージをパブリッシュ
処理リクエスト件数が通知閾値を越えると、メッセージがパブリッシュされる
–閾値を超えたままの状態の場合、パブリッシュされない
処理リクエスト件数が閾値内に収束すると、メッセージがパブリッシュされる
※通知を受け取るためのアプリケーションは別途必要(現時点ではブローカで通知を受け取る機能はない)
通知閾値を50(処理リクエスト件数/秒)設定した場合の例
処理件数/s
超過通知ポイント
100
通知閾値を50件/秒に設定
75
50
超過通知ポイント
25
収束通知ポイント
0
経過時間
8
(参考)ワークロード・マネージメント – 通知
通知メッセージのパブリッシュ先トピックと通知メッセージ
メッセージ・レートが閾値を超過した場合のパブリッシュ先トピック
通知対象のメッセージ・フローの構成により、トピックが異なる
フローがライブラリに含まれる場合
$SYS/Broker/<brokerName>/WorkloadManagement/AboveThreshold/<executionGro
upLabel>/<applicationName>/<libraryName>/<messageFlowLabel>
フローがアプリケーションに含まれる場合
$SYS/Broker/<brokerName>/WorkloadManagement/AboveThreshold/<executionGro
upLabel> /<applicationName>/<messageFlowLabel>
フローが実行グループの直下にデプロイされる場合
$SYS/Broker/<brokerName>/WorkloadManagement/AboveThreshold/<executionGro
upLabel> /<messageFlowLabel>
9
(参考)ワークロード・マネージメント – 通知
メッセージ・レートが閾値内に収束した場合のパブリッシュ先トピック
通知対象のメッセージ・フローの構成により、トピックが異なる
フローがライブラリに含まれる場合
$SYS/Broker/<brokerName>/WorkloadManagement/BelowThreshold/<executionGro
upLabel>/<applicationName>/<libraryName>/<messageFlowLabel>
フローがアプリケーションに含まれる場合
$SYS/Broker/<brokerName>/WorkloadManagement/BelowThresholdexecutionGrou
pLabel> /<applicationName>/<messageFlowLabel>
フローが実行グループの直下にデプロイされる場合
$SYS/Broker/<brokerName>/WorkloadManagement/BelowThreshold/<executionGro
upLabel> /<messageFlowLabel>
10
(参考)ワークロード・マネージメント – 通知
通知メッセージ例
通知閾値を5
(件/秒)に設定した場合の、入力件数が超過通知メッセージ
<wmb:event
xmlns:wmb="http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/event">
<wmb:eventPointData>
<wmb:eventData wmb:productVersion="9000" wmb:eventSchemaVersion="6.1.0.3"
wmb:eventSourceAddress="WLM">
イベント名
イベント名
<wmb:eventIdentity wmb:eventName="AboveThreshold"/>
<wmb:eventSequence wmb:creationTime="2013-08-20T02:41:15.471Z" wmb:counter="1"/>
<wmb:eventCorrelation/>
</wmb:eventData>
<wmb:messageFlowData>
<wmb:broker wmb:name="BK9" wmb:UUID="15cd0878-4157-44cc-a402-123b8aa662af"/>
<wmb:executionGroup wmb:name="EG1" wmb:UUID="0eb1590f-4001-0000-0080-fb887e8428d5"/>
<wmb:messageFlow wmb:uniqueFlowName="BK9.EG1.SOAP.APP01.HelloServiceProvider"
wmb:name="HelloServiceProvider" wmb:UUID="e9f88b7a-4001-0000-0080-cffab21e4897"/>
</wmb:messageFlowData>
設定した閾値
設定した閾値
</wmb:eventPointData>
<wmb:applicationData xmlns="">
<wmb:simpleContent wmb:name="NotificationThresholdMsgsPerSec" wmb:value="5"
wmb:dataType="integer"/>
<wmb:simpleContent wmb:name="MessageRateMsgsPerSec" wmb:value="6"
wmb:dataType="integer"/>
</wmb:applicationData>
入力メッセージ件数
入力メッセージ件数
</wmb:event>
11
ワークロード・マネージメント – 無応答フローに対するアクション
再起動
メッセージ処理が指定時間を超過した場合のアクションを指定可能
メッセージフローに対して処理タイムアウト(秒)を設定
メッセージ処理時間が処理タイムアウトを超過した場合にアクションを実行
実行グループの再起動、もしくは、アクションなし(GA版時点)
メッセージ処理が指定時間を超過したことを通知可能
タイムアウトをMQ
Pub/Subの仕組みで通知
処理アクションをなしに設定した場合、処理の完了も通知可能
長時間のループ・・
外部システムの応答待ち・・・
メッセージフロー
処理タイムアウト発生時、
処理タイムアウト発生時、
実行グループを自動的に再起動が可能
実行グループを自動的に再起動が可能
タイムアウト発生をPub/Subで通知
タイムアウト発生をPub/Subで通知
入力ノード通過後の処理時間を計測
mqsistopmsgflowコマンドに実行グループの強制停止オプションが追加
mqsistopmsgflowコマンドにて「-f restartExecutionGroup」オプションを指定
V8.0以前のバージョンでは、実行グループ・プロセスをkillのみが可能であった
12
再起動
(参考)ワークロード・マネージメント – 無応答フローに対するアクション
処理時間を超過した際に通知されるメッセージのパブリッシュ先トピック
フローがライブラリに含まれる場合
$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingTimeout/<executionGro
upLabel>/<applicationName>/<libraryName>/<messageFlowLabel>
フローがアプリケーションに含まれる場合
$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingTimeout/<executionGro
upLabel>/<applicationName>/<messageFlowLabel>
フローが実行グループの直下にデプロイされる場合
$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingTimeout/<executionGro
upLabel>/<messageFlowLabel>
13
再起動
(参考)ワークロード・マネージメント – 無応答フローに対するアクション
処理時間を超過後に処理が完了した場合のパブリッシュ先トピック
処理アクションが「None」のときのみ
–フローがライブラリに含まれる場合
$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingFinished/<executionGro
upLabel>/<applicationName>/<libraryName>/<messageFlowLabel>
–フローがアプリケーションに含まれる場合
$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingFinished/<executionGro
upLabel>/<applicationName>/<messageFlowLabel>
–フローが実行グループの直下にデプロイされる場合
$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingFinished/<executionGro
upLabel>/<messageFlowLabel>
14
再起動
(参考)ワークロード・マネージメント – 無応答フローに対するアクション
タイムアウト時の通知メッセージ例
処理タイムアウトを2(秒)、処理アクションをNoneに設定した場合
<wmb:event
xmlns:wmb="http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/event">
<wmb:eventPointData>
<wmb:eventData wmb:productVersion="9000" wmb:eventSchemaVersion="6.1.0.3"
wmb:eventSourceAddress="WLM">
イベント名
イベント名
<wmb:eventIdentity wmb:eventName="ProcessingTimeout"/>
<wmb:eventSequence wmb:creationTime="2013-08-20T05:20:46.709999Z" wmb:counter="1"/>
<wmb:eventCorrelation/>
</wmb:eventData>
<wmb:messageFlowData>
<wmb:broker wmb:name="BK9" wmb:UUID="15cd0878-4157-44cc-a402-123b8aa662af"/>
<wmb:executionGroup wmb:name="EG1" wmb:UUID="0eb1590f-4001-0000-0080-fb887e8428d5"/>
<wmb:messageFlow wmb:uniqueFlowName="BK9.EG1.SimpleMQ.MsgPassThru"
フロー名
フロー名
wmb:name="MsgPassThru" wmb:UUID="513f0c72-4001-0000-0080-d5391be7ca04"/>
</wmb:messageFlowData>
設定したタイムアウト時間とアクション
設定したタイムアウト時間とアクション
</wmb:eventPointData>
<wmb:applicationData xmlns="">
<wmb:simpleContent wmb:name="processingTimeout" wmb:value="2" wmb:dataType="integer"/>
<wmb:simpleContent wmb:name="processingTimeoutAction" wmb:value="none"
処理時間、スレッドID
処理時間、スレッドID
wmb:dataType="string"/>
<wmb:simpleContent wmb:name="timeTaken" wmb:value="2" wmb:dataType="integer"/>
<wmb:simpleContent wmb:name="threadId" wmb:value="8356" wmb:dataType="string"/>
<wmb:simpleContent wmb:name="nodeTrail" wmb:value="[MQ Input]-out->in-[Compute]-out->in[SLEEP]" wmb:dataType="string"/></wmb:applicationData>
</wmb:event>
処理の流れ(タイムアウトしたノードが分かる)
処理の流れ(タイムアウトしたノードが分かる)
15
ワークロード・マネージメント – 設定
ワークロード・マネージメント機能の設定方法
メッセージフロー単位で以下を設定
設定項目
説明
最大速度
最大処理レートの制御(メッセージ数/秒)
0の場合機能OFF(デフォルト)
通知閾値
通知の閾値の設定(メッセージ数/秒)
0の場合機能OFF(デフォルト)
処理タイムアウト
処理タイムアウトの時間を指定(秒)
0の場合機能OFF(デフォルト)
再起動
処理アクション
処理タイムアウト時のアクションを指定
「なし」、もしくは「実行グループの再起動」を指定
再起動
最⾼
速度
以下のいずれかで設定可能
BARファイル(ビルド済みメッセージフローのプロパティ)
ワークロード・マネージメント・ポリシー
–フローの再起動や再デプロイなしに、動的に設定を変更可能
BARファイルとワークロード・マネージメント・ポリシーの両方で設定した場合、
ワークロード・マネージメント・ポリシーが優先される
ポリシーで設定のない項目については、BARファイルの設定値が使用される
16
ワークロード・マネージメント – 設定
BARファイルでの設定
BARファイル・エディターでの設定
通知閾値の設定
処理タイムアウトの指定
最大処理レートの設定
処理アクションの指定
17
ワークロード・マネージメント – 設定
ワークロード・マネージメント・ポリシーの設定
以下のいずれかで、ポリシーを作成/適用
WebUIによる管理機能(作成/適用)
コマンド(作成/適用)
–以下のコマンドが新規に追加
–mqsicreatepolicy / mqsireportpolicy / mqsichangepolicy / mqsideletepolicy
mqsiattachpolicy / mqsidetachpolicy
BARファイルの「ポリシー」(適用)
ポリシーによるワークロード・マネージメント機能の設定の流れ
①ワークロード・マネージメント・ポリシーの作成
②作成したポリシーを、メッセージ・フローに適用
Toolkitにて利用可能なポリシーの一覧を表示可能
「ウィンドウ」→「ビューの表示」→「Integration
18
Registries」
ワークロード・マネージメント – 設定
WebUIによる管理機能でのポリシー設定例
①ワークロード・マネージメント・ポリシーの作成
「ポリシー」を展開
ポリシー名
通知閾値
最大レート
「作成」をクリック
タイムアウト時の
アクション
タイムアウト時間
19
ワークロード・マネージメント – 設定
②作成したポリシーを、メッセージ・フローに適用
「ポリシー」を選択
「適用」をクリック
メッセージフローを選択
作成したポリシーを選択
ポリシーを適用する
メッセージフローを選択
20
ワークロード・マネージメント – 設定
コマンドによるポリシーの設定
以下のコマンドが新規に追加
コマンド
説明
mqsicreatepolicy
ポリシーの作成
mqsireportpolicy
ポリシー情報の表示
mqsichangepolicy
ポリシーの設定変更
mqsideletepolicy
ポリシーの削除
mqsiattachpolicy
メッセージフローへのポリシーの適用
mqsidetachpolicy
メッセージフローからポリシーを除外
ポリシー設定を記述したXMLファイルを使用して、ポリシーを作成/変更する
–ポリシー設定用サンプルXMLファイルを以下に提供
Windows の場合:
<導入ディレクトリ>¥sample¥Policy¥WorkloadManagement_Policy.xml
Linux、UNIXの場合:
<導入ディレクトリ>/sample/Policy/WorkloadManagement_Policy.xml
21
ワークロード・マネージメント – 設定
①ワークロード・マネージメント・ポリシーの作成
ポリシー設定用XMLファイル作成
–最大処理レートを1000に設定する例
<wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
<iwlm:workloadManagement
xmlns:iwlm="http://www.ibm.com/xmlns/prod/websphere/iib/9.0.0/policy/wlm">
<iwlm:notificationThresholdMsgsPerSec></iwlm:notificationThresholdMsgsPerSec>
<iwlm:maximumRateMsgsPerSec>1000</iwlm:maximumRateMsgsPerSec>
<iwlm:processingTimeoutSec></iwlm:processingTimeoutSec>
<iwlm:processingTimeoutAction></iwlm:processingTimeoutAction>
<iwlm:additionalInstances></iwlm:additionalInstances>
<iwlm:startInstancesWhenFlowStarts></iwlm:startInstancesWhenFlowStarts>
<iwlm:commitCount></iwlm:commitCount>
<iwlm:commitInterval></iwlm:commitInterval>
<iwlm:startMode></iwlm:startMode>
</iwlm:workloadManagement>
</wsp:Policy>
mqsicreatepolicyコマンドにて、ポリシー設定用XMLファイルをもとにポリシーを作成
– -tで「WorkloadManagement」を指定
– -lでポリシー名を指定(例ではWLM_Policy01)
– -fでポリシー設定XML用ファイル名を指定(例ではpolicy_config.xml)
mqsicreatepolicy BK9 -t WorkloadManagement -l WLM_Policy01 -f policy_config.xml
22
ワークロード・マネージメント – 設定
②作成したポリシーを、メッセージ・フローに適用
mqsireportpolicyコマンドにて作成したポリシーの確認
– -tで「WorkloadManagement」を指定
– -lでポリシー名を指定(例ではWLM_Policy01)
$mqsireportpolicy BK9 -t WorkloadManagement -l WLM_Policy01
BIP1895I: Policy type 'WorkloadManagement' Policy name 'WLM_Policy01' Policy URI
'http://AHA032671:4414/isr/oslc/resource/isr_core/f7090dfe-a759-43aa-a39c-2baa7
bbc7740'
Policy content
'<wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy"> <iwlm:workloadManageme
nt xmlns:iwlm="http://www.ibm.com/xmlns/prod/websphere/iib/9.0.0/policy/wlm"> <
iwlm:notificationThresholdMsgsPerSec></iwlm:notificationThresholdMsgsPerSec> <i
wlm:maximumRateMsgsPerSec>1000</iwlm:maximumRateMsgsPerSec> <iwlm:processingTim
eoutSec></iwlm:processingTimeoutSec> <iwlm:processingTimeoutAction></iwlm:proce
ssingTimeoutAction> <iwlm:additionalInstances></iwlm:additionalInstances> <iwl
m:startInstancesWhenFlowStarts></iwlm:startInstancesWhenFlowStarts> <iwlm:commi
tCount></iwlm:commitCount> <iwlm:commitInterval></iwlm:commitInterval> <iwlm:s
tartMode></iwlm:startMode> </iwlm:workloadManagement></wsp:Policy>‘
mqsiattachpolicyコマンドにてポリシーをメッセージフローに適用
– -tで「WorkloadManagement」を指定
– -lでポリシー名を指定(例ではWLM_Policy01)
– -e, -m, -k, -l で実行グループ、メッセージフロー、アプリケーション(オプション)、ライブラリ(オプション)を指定
mqsiattachpolicy BK9 -e EG1 -m HelloServiceProvider -t WorkloadManagement -l
WLM_Policy01 -k SOAP.APP01
23
ワークロード・マネージメント – 設定
BARファイルによるポリシーの適用
「ポリシー」に作成済みのポリシーを設定
デプロイ時に指定のポリシーが適用される
※WebUIによる管理機能/コマンドにて動的に適用したポリシーは、BARファイルの再デプロイ時にリセットされる
BARファイルにあらかじめポリシーを指定しておくことで、デプロイ直後からポリシーを適用可能
作成済みポリシー名を設定
24
(補足)mqsicreatepolicyコマンド
mqsicreatepolicyコマンドの文法
mqsicreatepolicy brokerSpec -t policyType -l policyName -f policyDocument
コマンド・オプション:
'brokerSpec' は以下のいずれかの値
'brokerName' : ローカルに定義されているブローカーの名前
'-n brokerFileName' : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)
'-i ipAddress -p port -q qMgr' : リモート・ブローカーのホスト名、ポート、およびキューマネージャー
‘-t policyType’: ポリシーのタイプを指定(例: ‘WorkloadManagement’)
‘-l policyName’: ポリシー名を指定
‘-f policyDocument’ : ポリシー設定用XML文書を指定
以下は必要に応じて指定
'-w timeoutSecs' : ブローカーの応答を待機する最大秒数 (デフォルトは 60)
'-v traceFileName' : 指定されたファイルに詳細内部トレースを送信
25
(補足)mqsichangepolicyコマンド
mqsichangepolicyコマンドの文法
mqsichangepolicy brokerSpec -t policyType -l policyName -f policyDocument
コマンド・オプション:
'brokerSpec' は以下のいずれかの値
'brokerName' : ローカルに定義されているブローカーの名前
'-n brokerFileName' : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)
'-i ipAddress -p port -q qMgr' : リモート・ブローカーのホスト名、ポート、およびキューマネージャー
‘-t policyType’: ポリシーのタイプを指定(例: ‘WorkloadManagement’)
‘-l policyName’: ポリシー名を指定
‘-f policyDocument’ : ポリシー設定用XML文書を指定
以下は必要に応じて指定
'-w timeoutSecs' : ブローカーの応答を待機する最大秒数 (デフォルトは 60)
'-v traceFileName' : 指定されたファイルに詳細内部トレースを送信
26
(補足)mqsideletepolicyコマンド
mqsideletepolicyコマンドの文法
mqsideletepolicy brokerSpec -t policyType -l policyName
コマンド・オプション:
'brokerSpec' は以下のいずれかの値
'brokerName' : ローカルに定義されているブローカーの名前
'-n brokerFileName' : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)
'-i ipAddress -p port -q qMgr' : リモート・ブローカーのホスト名、ポート、およびキューマネージャー
‘-t policyType’: ポリシーのタイプを指定(例: ‘WorkloadManagement’)
‘-l policyName’: ポリシー名を指定
以下は必要に応じて指定
'-w timeoutSecs' : ブローカーの応答を待機する最大秒数 (デフォルトは 60)
'-v traceFileName' : 指定されたファイルに詳細内部トレースを送信
27
(補足)mqsireportpolicyコマンド
mqsireportpolicyコマンドの文法
Syntax 1:
Syntax 2:
Syntax 3:
mqsireportpolicy BrokerName -t policyType -l policyName
mqsireportpolicy BrokerName -t policyType (-a | -r)
mqsireportpolicy BrokerName -e egName -m flowName [-k application] [-y library]
コマンド・オプション:
'brokerSpec' は以下のいずれかの値
'brokerName' : ローカルに定義されているブローカーの名前
'-n brokerFileName' : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)
'-i ipAddress -p port -q qMgr' : リモート・ブローカーのホスト名、ポート、およびキューマネージャー
‘-t policyType’: ポリシーのタイプを指定(例: ‘WorkloadManagement’)
‘-l policyName’: ポリシー名を指定
‘-f policyDocument’ : ポリシー設定用XML文書を指定
‘-m messageFlow’: メッセージフロー名を指定
‘-a’: すべてのポリシーのシングルレベルを表示
‘-r’: すべてのポリシーとコンテンツを表示
以下は必要に応じて指定
‘-k application’: アプリケーション名を指定
‘-y library’: ライブラリ名を指定
'-w timeoutSecs' : ブローカーの応答を待機する最大秒数 (デフォルトは 60)
'-v traceFileName' : 指定されたファイルに詳細内部トレースを送信
28
(補足)mqsiattachpolicyコマンド
mqsiattachpolicyコマンドの文法
mqsiattachpolicy brokerSpec -e egName -m messageFlow -t policyType -l policyName
[-k application] [-y library]
コマンド・オプション:
'brokerSpec' は以下のいずれかの値
'brokerName' : ローカルに定義されているブローカーの名前
'-n brokerFileName' : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)
'-i ipAddress -p port -q qMgr' : リモート・ブローカーのホスト名、ポート、およびキューマネージャー
‘-e egName’: 実行グループ名を指定
‘-m messageFlow’: メッセージフロー名を指定
‘-t policyType’: ポリシーのタイプを指定(例: ‘WorkloadManagement’)
‘-l policyName’: ポリシー名を指定
以下は必要に応じて指定
‘-k application’: アプリケーション名を指定
‘-y library’: ライブラリ名を指定
'-w timeoutSecs' : ブローカーの応答を待機する最大秒数 (デフォルトは 60)
'-v traceFileName' : 指定されたファイルに詳細内部トレースを送信
29
(補足)mqsidetachpolicyコマンド
mqsidetachpolicyコマンドの文法
mqsidetachpolicy brokerSpec -e egName -m messageFlow [-k application] [-y library]
コマンド・オプション:
'brokerSpec' は以下のいずれかの値
'brokerName' : ローカルに定義されているブローカーの名前
'-n brokerFileName' : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)
'-i ipAddress -p port -q qMgr' : リモート・ブローカーのホスト名、ポート、およびキューマネージャー
‘-e egName’: 実行グループ名を指定
‘-m messageFlow’: メッセージフロー名を指定
以下は必要に応じて指定
‘-k application’: アプリケーション名を指定
‘-y library’: ライブラリ名を指定
'-w timeoutSecs' : ブローカーの応答を待機する最大秒数 (デフォルトは 60)
'-v traceFileName' : 指定されたファイルに詳細内部トレースを送信
30
WebUIによる管理機能の強化
31
WebUIによる管理機能
Webブラウザからブローカー実行環境の運用管理が可能
MQ Explorer やWASの管理コンソールの機能を補完
WMB V8.0.0.1にて追加された機能
Webユーザー・インターフェース・サーバーを提供
HTTP/HTTPSリクエストを受け付け、要求された管理操作を実行する
デフォルトで有効化されている
主な機能(V8.0.0.1)
ブローカーのステータス表示
起動停止、プロパティ設定は不可
実行グループのステータス表示、起動、停止
アプリケーション/メッセージフローのステータス表示、起動、停止
構成可能サービスの表示
データ・キャプチャ・ストアの表示
ブラウザ
Webユーザー・アカウントの表示
管理ログの表示
HTTP(S)
ブローカー
ブローカー
実行グループ
Webユーザ
I/F Server
メッセージフロー
メッセージフロー
32
WebUIによる管理機能の強化
WebUIによる管理機能の強化
メッセージフロー統計(スナップショット統計)の表示が可能
リアルタイムでフローの各種指標を参照可能
–メッセージ処理のスループット、平均CPU時間など
統計情報をグラフで表示
メッセージフロー・レベル/ノード・レベルで統計情報の比較が可能
メッセージフロー統計の開始/停止が可能
ワークロード・マネージメント・ポリシーの設定が可能
ポリシーの作成、編集、削除、メッセージフローへの適用
33
WebUIによる管理機能の強化
WebUI追加機能
メッセージフロー統計の開始/停止
デフォルトでは、統計情報の収集はオフ
「ブローカー名」⇒「実行グループ」⇒「アプリケーション」⇒アプリケーション名の右三角形をクリック
統計情報のオン/オフを選択
34
WebUIによる管理機能の強化
統計情報の表示
統合サーバー(実行グループ)、アプリケーション、メッセージフローにて統計を確認
※メッセージ・フロー統計がオン時
「統合サーバー」⇒「統計」タブをクリック
メッセージフローごとに統計情報が表示される
35
WebUIによる管理機能の強化
「メッセージフロー」⇒統計をクリック
統計情報がグラフで表示される
36
WebUIによる管理機能の強化
グラフに表示する統計情報を選択可能
グラフ右プルダウン・メニューをクリック
グラフで表示する項目を選択可能
37
WebUIによる管理機能の強化
ノードごとの統計情報を表示
「メッセージフロー」⇒統計をクリック
メッセージフローに含まれるノードと、統計情報を表示
38
WebUIによる管理機能の強化
WebUIによる管理機能の変更点
統計情報フォーマットの追加
Web管理ツールから統計情報をオンにした場合、統計情報はJSONフォーマットで出力される
出力先トピック
$SYS/Broker/brokerName/Statistics/JSON/SnapShot/executionGroupName/applications/appl
icationName/libraries/libraryName/messageflows/messageFlowName
Web管理ユーザーに必要な権限が追加
SYSTEM.BROKER.WEBADMIN.SUBSCRIPTIONキューへのput/get権限
SYSTEM.BROKER.MB.TOPICトピックへのpub/sub権限
39
グローバル・キャッシュ拡張
40
グローバル・キャッシュとは
複数プロセス間でデータを共有可能な機能としてグローバル・キャッシュを提供(V8.0.0.1)
異なる実行グループや異なるブローカー上のメッセージ・フロー間でデータの共有/再利用が可能
WebSphere
eXtreme Scaleから、キャッシングの一部機能を移植
データ共有のためのデーターベースなどの代替ソリューションが不要
複数ブローカーでのリクエスト/リプライ処理や、参照データのキャッシュなどに活用可能
キャッシュされたデータを実行グループに複製して保持することで、障害時のデータロスを防止
JavaComputeノードを使用して、グローバル・キャッシュへアクセス
キーと値を関連付けるマップ形式でデータを保持
mqsicacheadminコマンド、リソース統計、アクティビティー・ログにてキャッシュ情報を確認可能
ブローカーA
メッセージフローA
メッセージフローB
異なる実行グループ間でデータを共有
グローバル・キャッシュ
マップ形式でデータを保存
異なるブローカー間でデータを共有
ブローカーB
メッセージフローA
キー
値
Key1
Value1
Key2
Value2
Key3
Value3
41
(参考)グローバル・キャッシュ
グローバル・キャッシュを利用するために必要なキャッシュ・コンポーネント
キャッシュ・コンポーネントは実行グループ上で動作
コンポーネント
説明
コンテナ・サーバー
グローバル・キャッシュのデータを保持するコンポーネント
カタログ・サーバー
コンテナ・サーバーのロケーション情報を管理するコンポーネント
コンテナ・サーバーをモニターし、データの配置を制御
メッセージフローは、カタログ・サーバーからキャッシュ配置情報を取得し、キャッシュにアクセス
実行グループ1
メッセージフロー
実行グループ2
実行グループ3
メッセージフロー
カタログ・サーバー
カタログ・サーバー
コンテナ・サーバー
コンテナ・サーバー
メッセージフロー
実行グループ4
メッセージフロー
グローバル・キャッシュ
コンテナ・サーバー
キャッシュ・データは複製され、
コンテナ・サーバーに分散して格納される
42
グローバルキャッシュ拡張
V8.0.0.2での機能拡張
外部 WebSphere eXtreme Scale グリッドとの連携
ブローカー内部のカタログ・サーバー/コンテナ・サーバーはWXSのグリッドと連携
外部WXSへのSSL接続が可能
キャッシュの残存時間設定
V9.0での機能拡張
マルチインスタンス・ブローカーのサポート
43
外部 WebSphere eXtreme Scale グリッドとの連携
外部 WebSphere eXtreme Scale グリッドとの連携をサポート(V8.0.0.2)
外部WXSで提供されるキャッシュを利用可能
ブローカー内部のカタログ・サーバー/コンテナ・サーバーはWXSのグリッドと連携
外部WXSへのSSL接続が可能
グリッドを識別するためにドメイン・ネームを使用
WXSクライアントは、ドメイン・ネームを使用してグリッドを識別
同じドメイン・ネームを持つWXSのみがグリッドに参加できる
使用可能なWXS環境の例
DataPower XC10
WAS NDの組み込みWXSサーバー
スタンドアロンWXS
外部WebSphere eXtreme Scale グリッド
連携
実行グループ1
実行グループ2
メッセージフロー
グローバル・キャッシュ
メッセージフロー
カタログ・サーバー
カタログ・サーバー
コンテナ・サーバー
コンテナ・サーバー
44
実行グループ3
メッセージフロー
コンテナ・サーバー
外部 WebSphere eXtreme Scale グリッドとの連携
外部グリッドへの接続設定
WXSServer 構成可能サービスを作成
設定プロパティ一覧
プロパティ
説明
catalogServiceEnd
Points
必須
接続先WXSグリッドのカタログ・サーバーのホスト名
カタログ・サーバーをコンマ区切りでリスト
hostname:port 型式で指定
gridName
必須
接続先グリッド名
overrideObjectGrid
File
オプション
WXS接続プロパティーを定義用XMLファイルへの絶対パス
特定のプロパティー(numberOfBuckets や timeToLive など) を変更可能
securityIdentity
オプション
セキュア・グリッドへの接続時に使用するセキュリティー ID 名
mqsisetdbparms コマンドにて指定したID名から”wxs::” を省いたIDを指定
mqsicreateconfigurableserviceコマンドもしくはIIB Explorerで設定
mqsicreateconfigurableserviceコマンドでの設定
でサービスタイプ「WXSServer」を指定
でオブジェクトタイプ「xc10」を指定
-n, -vで上記パラメータを設定
-c
-o
45
外部 WebSphere eXtreme Scale グリッドとの連携
コマンド実行例
グリッド名「myGrid」、WXSグリッドのカタログ・サーバーのホスト名「Server.ibm.com」、ポート「
接続定義ファイル(後述) 「xc10Client.xml」、セキュリティID(後述)「xc10」 を設定する場合
mqsicreateconfigurableservice BK9 -c WXSServer -o xc10
-n catalogServiceEndPoints,gridName,overrideObjectGridFile,securityIdentity
-v "server.ibm.com:2809","myGrid",
"C:¥Brokers¥WebSphere_eXtreme_Scale¥xc10¥xc10Client.xml","xc10"
接続にユーザーIDとパスワードを必要とするセキュア・グリッドに接続する場合は、
あらかじめmqsisetdbparms コマンドを使用してセキュリティー ID を作成
でセキュリティーID名を指定
-u でユーザー名指定
-p でパスワードを指定
-n
mqsisetdbparms BK9 -n wxs::id1 -u userId -p password
46
2809」、
外部 WebSphere eXtreme Scale グリッドとの連携
IB Explorerでの設定
構成可能サービス名
構成可能サービスタイプ
設定プロパティ
47
外部 WebSphere eXtreme Scale グリッドとの連携
WXS接続プロパティーを定義用XMLファイル
サンプル定義XMLファイルを以下に提供
Windows の場合:
<導入ディレクトリ>¥cachesupport¥config¥objectgrid.xml
Linux、UNIXの場合:
<導入ディレクトリ>/cachesupport/config/objectgrid.xml
特定のプロパティー(numberOfBuckets
や timeToLive など) を変更可能
–詳細な設定項目については、WXSのInformationCenterを参照
http://publib.boulder.ibm.com/infocenter/wxsinfo/v7r1m1/index.jsp
設定例
–外部WXSキャッシュのデータをブローカー内部にコピーしないよう設定する例
numberOfBuckets=“0” を設定
<backingMap name=".*¥.LUT" template="true" readOnly="false" lockStrategy="NONE"
ttlEvictorType="LAST_UPDATE_TIME" timeToLive="3600"
copyMode="COPY_TO_BYTES“ numberOfBuckets=“0” />
–構成可能サービスにて、objectgrid.xmlへの絶対パスを設定
48
外部 WebSphere eXtreme Scale グリッドとの連携
外部グリッドへの接続
JavaComputeを使用して外部グリッド内のマップへのアクセス
オブジェクトを追加し、外部グリッド上のマップの名前を指定
グリッドへの接続に使用する構成可能サービスの名前を指定
MbGlobalMap
DataPower XC10上のマップ「MyMap.LUT」に接続する例
構成可能サービスは「xc10Connection」
MbGlobalMap xc10Map = MbGlobalMap.getGlobalMap("MyMap.LUT","xc10Connection");
...
String val = (String)xc10Map.get(key);
構成可能サービス名を指定
構成可能サービス名を指定
49
外部 WebSphere eXtreme Scale グリッドとの連携
グリッドを識別するためのドメイン・ネームの使用
複数ブローカーにまたがるグローバル・キャッシュを使用する場合、ドメイン・ネームの設定が必要
同じドメイン・ネームを持つサーバーのみが、同じキャッシュ(グリッド)に参加可能
外部WXSに接続する場合は、WXSサーバーと実行グループでドメイン・ネームをあわせる
実行グループのプロパティまたはポリシー・ファイルにて、ドメイン・ネームを設定
mqsichangepropertiesコマンドでの設定
–-n で「domainName」 を指定, -vで値を指定
以下の構成の場合の設定例
・enableCatalogService: true
・enableContainerService: true
・listenerPort: 2809
・listenerHost: server1
・haManagerPort: 2810
・catalogClusterEndPoints:
BK1_server1_2809:server1:2811:2810
・connectionEndPoint: server1:2809
・domainName: myDomain
ホスト名: server1
ブローカー BK1
EG1でのプロパティ設定
EG1
カタログ・サーバー
コンテナ・サーバー
実行グループEG1にプロパティを設定するコマンドの例
mqsichangeproperties BK1 -e EG1 -o ComIbmCacheManager -n
enableCatalogService,enableContainerService,listenerPort,listenerHost,haManagerPort,c
atalogClusterEndPoints,connectionEndPoints,domainName -v true,true,2809,server1,2810,
BK1_server1_2809:server1:2811:2810,server1:2809,myDomain
50
外部 WebSphere eXtreme Scale グリッドとの連携
ポリシー・ファイルでの設定
–domainName タグを指定
<?xml version="1.0" encoding="UTF-8"?>
<cachePolicy
xmlns="http://www.ibm.com/xmlns/prod/websphere/messagebroker/globalcache/policy-1.0">
<domainName>myDomain</domainName>
<broker name="BK1" listenerHost=“server1">
<catalogs>1</catalogs>
<portRange> <startPort>3000</startPort>
<endPort>3019</endPort>
</portRange>
</broker>
</cachePolicy>
51
(参考)グローバル・キャッシュ
実行グループでのプロパティ設定
mqsichangepropertiesにて実行グループのプロパティーを設定
-bでcachemanagerを指定、-oでComIbmCacheManager

を指定
-n -v で関連プロパティーを設定
カタログ・サーバー/コンテナ・サーバーを配置する実行グループに以下を指定
プロパティ
説明
enableCatalogService
カタログ・サーバーを配置する場合 true を指定(デフォルト: false)
enableContainerService
コンテナ・サーバーを配置する場合 true を指定(デフォルト: false)
コンテナ・サーバー/カタログ・サーバーを配置する実行グループにて、以下のホスト/ポートを設定
プロパティ
設定が必要なコンポーネント
説明
listenerPort
カタログ・サーバー/コンテナサーバー
カタログ・サーバーおよびコンテナサーバーが使用するポートを
指定
listenerHost
カタログ・サーバー/コンテナサーバー
ローカル・コンピューターのホスト名を指定
2つ以上ホスト名を持つ場合に指定
haManagerPort
カタログ・サーバー/コンテナサーバー
カタログ・サーバーおよびコンテナサーバーが使用するポートを
指定
catalogClusterEnd
Points
カタログ・サーバー
カタログ・サーバーが使用するエンドポイントを指定
複数のカタログ・サーバーが存在する場合は、コンマ区切りで
リスト
※エンドポイントの指定方法は次頁
52
※各ポートはそれぞれ固有の番号を指定
(参考)グローバル・キャッシュ
※カタログ・サーバーが使用するエンドポイントの指定方法
–以下の形式で指定
ServerName:listenerHost:CatalogPeerPort:haManagerPort
haManagerPortプロパティ設定したポート番号を指定
新たにポート番号を指定
listenerHostプロパティで設定したホスト名を指定
BrokerName_listenerHost_listenerPort 形式で指定
・BrokerName: ブローカー名
・listenerHost: listenerHostプロパティで設定したホスト名を指定
・listenerPort: listenerPortプロパティで設定したポート番号を指定
catalogClusterEndPointsの設定例
–他プロパティにて以下を設定した場合
ブローカー名: MBV8BK、listenerHost: localhost、listenerPort: 2809、haManagerPort: 2810
–CatalogPeerPortの指定:2811
catalogClusterEndPointsの指定 ⇒ MBV8BK_localhost_2809:localhost:2811:2810
53
(参考)グローバル・キャッシュ
カタログ・サーバーへの接続情報を設定
グローバル・キャッシュにアクセスするすべての実行グループで設定が必要
プロパティ
説明
connectionEndPoints
接続先カタログ・サーバーホスト名、ポート番号を指定
複数のカタログ・サーバーが存在する場合は、コンマ区切りでリスト
設定形式: listenerHost:listenerPort, listenerHost2:listenerPort2
mqsicacheadmin
コマンドでグローバル・キャッシュ情報を取得する場合、以下を設定
プロパティ
説明
enableJMX
実行グループがグローバル・キャッシュの管理情報を提供するどうかを指定
jmxServicePort
enableJMX パラメーターが true に設定される場合、使用されるポート
54
(参考)グローバル・キャッシュ
ポリシー・ファイルによるプロパティ設定
mqsichangebroker もしくはmqsichangepropertiesにてブローカー・プロパティを設定
mqsichagebrokerでの設定 (ブローカー停止後コマンドを実行)
-b
で「ポリシーファイルの絶対パス」を指定
mqsichangebroker broker_name -b /path/policy.xml
mqsichangepropertiesコマンドでの設定
-b
で「cachemanager 」を指定、-oで「CacheManager」 を指定
-v で「ポリシー・ファイルの絶対パス」を設定
-nで「policy」
コマンド実行後、ブローカーを再起動
mqsichangeproperties broker_name -b cachemanager -o CacheManager -n
policy -v /path/policy.xml
55
キャッシュの残存時間設定
キャッシュの残存時間設定をサポート(V8.0.0.2)
MbGlobalMapオブジェクト取得時に残存時間(秒)を指定
残存時間を指定したMbGlobalMap
オブジェクトを使用して作成されたマップに適用される
マップ内の既存データや別MbGlobalMap オブジェクトのマップは影響を受けない
残存時間はマップ項目の最終更新日時からカウントされる
デフォルトでは無制限
キャッシュによりメモリ消費量が増大することをさけることができる
V8.0GA版では、不要なデータは、アプリケーションの中でremoveするか、mqsicacheadminコマンドで
定期的に削除する必要があった
指定方法
MbGlobalMapSessionPolicyクラスに残存時間(秒)を設定
MbGlobalMapオブジェクト取得時に、 MbGlobalMapSessionPolicyオブジェクトを設定
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60))
Expiryを設定
Expiryを設定
デフォルトは0 (Expiryなし)
デフォルトは0 (Expiryなし)
56
キャッシュの残存時間設定
キャッシュの残存時間設定の注意点
残存時間は、MbGlobalMapSessionPolicyオブジェクトにstaticに設定される
異なる存続時間値を設定する場合は、データをキャッシュするごとに値を設定
MbGlobalMap m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
m1.put("k1","v1");
m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(40));
m1.put("k2","v2");
m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(20));
m1.put("k3","v3");
※以下の場合、残存時間はm1, m2, m3とも20(秒)が設定される
MbGlobalMap m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
MbGlobalMap m2 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(40));
MbGlobalMap m3 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(20));
m1.put("k1","v1");
m2.put("k2","v2");
m3.put("k3","v3");
57
マルチインスタンス・ブローカーのサポート
コンテナサーバーをマルチインスタンス・ブローカーとして構成可能(V9.0.0.0)
自動的にテイクオーバー先でコンテナサーバーが起動しキャッシュが共有される
4コンテナサーバーまで設定可能
カタログ・サーバーのマルチインスタンス構成は不可
マルチインスタンスの対象のコンテナサーバーに接続する実行グループでの設定
ポリシー・ファイルにてActive/Standbyインスタンスのホスト名を構成
サンプルポリシーファイルを以下に提供
Windows の場合:
<導入ディレクトリ>¥sample¥globalcache¥policy_multi_instance.xml
Linux、UNIXの場合:
<導入ディレクトリ>/sample/globalcache/policy_multi_instance.xml
リスナー・ホストにActive/Standbyインスタンスのホスト名を指定
<?xml version="1.0" encoding="UTF-8"?>
<cachePolicy xmlns="http://www.ibm.com/xmlns/prod/websphere/messagebroker/globalcache/policy-1.0">
<broker name="MIBRK">
<listenerHost>host1.ibm.com</listenerHost>
<listenerHost>host2.ibm.com</listenerHost>
<catalogs>0</catalogs>
<portRange>
<startPort>3020</startPort>
<endPort>3039</endPort>
</portRange>
</broker></cachePolicy>
58
ビジネス・ルール
59
ビジネス・ルール
自然言語を使用したビジネス・ルールの開発
ツールキットで自然言語 Business Action Language (BAL) を利用してルールを作成可能
ブローカー上でのビジネス・ルールの実行
ODMと同等のルール・エンジンを
ブローカー内部のJVMで稼動
業務レベルの判断ロジックをESBで実行
データに対するメディエーション処理の集約 ⇒ パフォーマンス向上、レイテンシー縮小
Rule-based
Business Decisions
Enterprise
Application
BPM
System
Destination
Business
Application
Portal
ESB
60
Destination
Business
Application
ビジネス・ルール
IBM Operational Decision Manager(ODM)との連携機能の提供
ODMの開発ツール(Rule Designer)で作成したルールをツールキットにインポート可能
インポートしたルールの編集は不可
インポートしたルールを使用してフローを開発し、ブローカーにルールとともにデプロイ可
ブローカー(実行グループ)内部のルール・エンジンでインポートしたルールを実行
ルールはローカルのリポジトリ(ファイルシステム)に格納
ブローカーから外部のODM repository(RES DB)にアクセスし、ルールを取得することも可
Rule
Designer からインポートしたルールでフローを実装していることが前提
ODM v8.5 をサポート
WMB
v7/v8では、サポートパックIAM9(カテゴリ2)を利用することでODM v7/v7.5/v8と連携可
Rule Execution
Server
Rule Designer
ODM
ODM
Repository
(Database)
デプロイ
ビジネスルール
取出
インポート
IIB
Broker
Toolkit
Rule Engine
実行
Decision
Repository
(File System)
デプロイ
(BARファイル)
フロー開発
61
(補足) IBM Operational Decision Manager
“今、この瞬間”をビジネスに活用! 情報収集から意思決定までを自動化
意思決定および変更検出ツールを組み合わせて、進化、追跡、監査、 およびテストが
容易なビジネス・ルール管理システムを提供
ビジネス・ルール管理システム (BRMS)
ビジネス・ルールが存在する典型的な場所
アプリケーションコードに
埋め込まれたロジック
・ルールの定義 ルールの可視化
・ルールの分析 ビジネスユーザ
・ルールの保守
自らルールの
※業務用語
変更が可能
プロセスの中に定義
されたロジック
ユーザー・ツール
If xxxx
Then xxxxx
Else xxxxx
・・・・・・・
・・・・・・・
人の頭の中にノウハウ
としてあるロジック
各種ドキュメントの
中にあるロジック
From : Honmoku
To : Smyrna
Order No.
RAN No.
Part Number : 24011 CJ000
Tracking Point
Status
Invoice No.
B/L No.
RAN#
SA00001
SA00002
SA00003
SA00004
SA00005
・ルールを保存
ルールの
・ルールの一元 一元管理による
管理
透明性・保守性の
・ルールの共有
確保
ルール・リポジトリー
Today : 2005/04/16
Plan Actual Current (40)Vanning Completion
PART#
QTY QTY Status
Plan Revised Actual
24011 CJ000 200 200 60 060415 060415 060415
24011 CJ000 100 100 60 060415 060415 060415
24011 CJ000 200 200 40 060415 060415 060415
24011 CJ000 200 200 00 060415 060418
24011 CJ000 100 100 00 060415 060418
(60)B/L
Plan
060415
060415
060415
060415
060415
ルールを展開、 結果として変更へ
の対応柔軟性を実
実行、および
現
モニター
…
Revised Actual …
060415 060415
060415 060415
060417
060418
060418
ルール・エンジン
62
(補足) IBM Operational Decision Manager
ODM基本コンポーネント
Decision Center
ルール開発
ルール開発
Decision Center Console
管理
管理
Rule Solutions
for Office
Decision Center
for Business Space
デプロイ
デプロイ
Decision Center Repository
デプロイ
デプロイ
ガバナンス
ガバナンス
イベント・アプリ
イベント・アプリ
開発
開発
ルール・アプリ
ルール・アプリ
開発
開発
実行
実行
デプロイ
デプロイ
デプロイ
デプロイ
Rule Execution
Server
実行
実行
Rule Designer
ODM Repository
/RES DB
Event Designer
Event Execution
Runtime
Decision Server
63
ビジネス・ルール
ビジネス・ルール実行のための構成パターン
①IIBコンポーネントのみの構成
IIBコンポーネントのみによるビジネスルールの開発と実行が可能
ルールの変更を適用するために
Toolkit
フローのデプロイが必要
②IIBとODMとの連携構成
Broker
デプロイ
(BARファイル)
ルール&フロー開発
実行
ODMの利用により、高度なビジネスルールの開発とルールのガバナンスが可能
ビジネスルールとITインフラ・ロジックの実装の分離
開発ユーザーの分離
Decision Center
デプロイ・タイミングの分離
Rule Designer
ルール開発
Toolkit
インポート
フロー開発
64
ガバナンス
Rule Execution
Server
Broker
デプロイ
(BARファイル)
実行
DS
Repository
更新
Decision Service (決定サービス)
ツールキット上では、ビジネス・ルールをDecision Service (決定サービス)として定義
Decision Service は、アプリケーション/ライブラリに格納する1コンポーネント(.rules ファイル)
Decision Service 内にルールを定義(複数のルールを定義可)
Decision
Service エディターを利用
ルールは、IF-THEN-ELSE の構文で記述
日本語では、「仮定条件」-「その場合」-「それ以外の場合」
アプリケーション/ライブラリー
スキーマ定義
xxxxx01.rules
ルール1
(ルールセットxxxxx01)
フロー
ルール 1
Decision Service(決定サービス)
ルール 2
決定サービス xxxxx01.rules
決定サービス xxxxx02.rules
65
Decision Service (決定サービス)
Decision Service の作成
ツールキット上で「新規」→
「Decision Service」を指定
66
仮定条件(IF)
xxxxxxxxxxxxxxxxxx
その場合(THEN)
yyyyyyyyyyyyyyyyyy
それ以外の場合(ELSE)
zzzzzzzzzzzzzzzzzz
Decision Service (決定サービス)
Decision Service の作成(つづき)
格納するアプリケーション/ライブラリ、Decision Serviceの名前を指定
Decision Serviceで使用するデータの指定
後続の手順でも選択可
67
Decision Service (決定サービス)
Decision Service の作成(つづき)
空のDecision Serviceが作成され、Decision Service エディターで開かれる
Decision Service エディター
タブで設定項目を切り替え
68
Decision Service (決定サービス)
Decision Service の作成(つづき) →データ(パラメータ)の選択
「Parameters」タブでルールの定義に使用するデータ(パラメータ)を指定
※ルールに使用するデータは事前にDFDL/XMLスキーマで定義しておく必要がある
ルール内で使用する
データの言語化
データの選択
69
Decision Service (決定サービス)
Decision Service の作成(つづき) →ルールの定義
「Rule sequence」タブでビジネスルールを定義
「Ctrl+Space」でコンテント・アシストを利用
70
Decision Service (決定サービス)
Decision Service の作成(つづき) →ルールの定義
コンテント・アシストを利用してルールを組み立てていく
先に指定したデータの構造を展開していくことができる
71
Decision Service (決定サービス)
Decision Service の作成(つづき) →ルールの追加(オプション)
「Add Rule」ボタンでルールを追加できる
72
Decision Service (決定サービス)
Decision Service ノードの設定
Decision Service をドラッグ&ドロップでメッセージフローに移動
⇒Decision Service ノードが配置される
Decision Service ノード
作成した
Decision Service
73
Decision Service (決定サービス)
Decision Service ノードの設定 →ロケーションのXPath指定
ルールに定義したデータ(パラメータ)に対するフロー内におけるロケーションをXPathで指定
XPath 式ビルダーを
利用してXPathを
生成する
ドラッグ&ドロップで
XPathを生成
74
Decision Service (決定サービス)
Decision Service ノードの設定 →プロパティの完成
プロパティの完成
75
Decision Service (決定サービス)
Decision Service ノードが使用するLocalEnvironment
ノード通過後、LocalEnvironment.DecisionServices下に以下のエレメントがセットされる
エレメント名
データタイプ
説明
decisionService
String
ノードによって使用されたDecision Service 名
アプリケーション/ライブラリ内に格納されている場合は、その名前がPrefix に付く
ruleSet
String
ノードによって使用されたルール・セット名
rulesMatched
Integer
条件に合致して実行されたルールの数
ノード通過後のLocalEnvironment
ツリーの出力例
(0x01000000:Name):DecisionServices = (
(0x03000000:NameValue):decisionService = 'BookOrder2/bookorder2' (CHARACTER)
(0x03000000:NameValue):ruleSet
(0x03000000:NameValue):rulesMatched
= 'bookorder2' (CHARACTER)
= 1 (INTEGER)
)
76
Decision Service (決定サービス)
Decision Service を利用するフローの処理イメージ
ルール定義
ルール・エンジン
BookOrder
e1
仮定条件
‘BookOrder’の e1 が X より大きい
その場合
‘BookOrder’の e2 を Y とする。
e2=Y
ルールに基づいてデータを変換
入力ツリー
出力ツリー
Root
Root
XMLNSC
XMLNSC
BookOrder
BookOrder
e1
e2=0
ノード・プロパティのXPathで
BookOrder の位置を指定
e1
e2=Y
DecisionService ノード・プロパティ
77
Decision Service (決定サービス)
ブローカーのセットアップ
DecisionServices を含むフローをブローカーにデプロイする場合、ブローカーの稼動モードを拡
張する必要がある
mqsimode (BrokerName) -x DecisionServices
※分散環境では、ブローカー名の指定は不要。z/OS環境では、ブローカー名を指定
※ブローカー稼動時に動的に反映可
※モード拡張を解除にする場合も同じコマンドを実行
モード拡張
>mqsimode -x DecisionServices
BIP1831I: ブローカー '' にはモード拡張機能 'DecisionServices' があります。
BIP8071I: コマンドが完了しました。
モード拡張解除
>mqsimode -x DecisionServices
BIP1831I: ブローカー '' にはモード拡張機能 '' があります。
BIP8071I: コマンドが完了しました。
※モード拡張せずにDecisionServiceノードを含むフローをデプロイすると以下のエラーで失敗する
BIP1835E: You attempted to deploy a broker archive (bar) file to execution group 'ex01' on broker '9BK',
but a flow within the bar file contains a node of type 'ComIbmDecisionServiceNode' that requires
extension 'DecisionServices' to be enabled in the broker. The bar file cannot be deployed. The bar file
cannot be deployed because it contains a flow that is not valid for the target broker. Rework your
message flow to use nodes that are valid in the current mode. Alternatively, contact your IBM
representative to upgrade your license.
78
ODM連携
ODM Rule Designer で作成したルールをツールキットにインポート
インポートするファイルには以下の制約がある
インポートするファイルはルール・アプリケーション・アーカイブ・ファイル(.jar)であること
ルール・アプリケーション・アーカイブのルールセットにはアクション・ルールが含まれること
ルールセットはスキーマXOM(XSD)を持つこと(Java
XOM は不可)
ルールセットはスキーマ・タイプのパラメータを持つこと
ODM Rule Designer
ルール・アプリケーション
ルールを配布可能な形に
パッケージしたもの
スキーマXOM
ルール実行の対象となるデータのモデル
79
ODM連携
インポート手順
ツールキットから「ファイル」→「インポート」
→「Decision Services」
→「Rule Application archive file」
ルールを格納するプロジェクトと
インポートするルール・アプリケーション・アーカイブ・ファイルを指定
80
ODM連携
インポート手順(続き)
インポートされるルールセットを確認
インポートしたルールは
Decision Service(.rules)として格納
81
ODM連携
インポート手順(続き)
インポートしたルール(Decision Service)はエディターで開けるが編集は不可
ドラッグ&ドロップでフローへ配置可能
82
ODM連携
インポートしたルールからXMLスキーマの抽出も可能
入出力メッセージのメッセージモデルに利用
決定サービスを右クリック
→「Extract XML Schema file…」
83
ODM連携
ODM Repository との連携
ODM RES のRepository(RES DB)にブローカー・ランタイムからアクセスし、
ルールを取得可能
RES(管理サーバー)に接続することでルールの変更通知を受信可能
Rule Designer で開発したルールをインポートして作成したフローでのみ設定可能
RES DB
RES
(管理サーバー)
ビジネス・ルール
変更
通知
最新版
取得
実行グループ
J2SE Rule Engine
84
ODM連携
ブローカー設定
JDBCProviders 構成可能サービスの作成
RES
DBに接続するための情報(データベース名、サーバー名、ポート番号、セキュリティIDなど)を
JDBCProviders 構成可能サービスに設定する
mqsicreateconfigurableservice / mqsichangeproperties コマンドを利用
–主な設定パラメータ:
databaseName、serverName、portNumber、securityIdentity、connectionUrlFormat、
type4DatasourceClassName
RES DBにアクセスするユーザーIDとパスワードの設定
構成可能サービスのsecurityIdentityプロパティに指定した値をリソース名として
アクセス・ユーザーID / パスワードを設定する
mqsisetdbparms コマンドを利用
JDBCProviders
DecisionServiceRepository 構成可能サービスの編集
デフォルトで定義されているDecisionServiceRepository
構成可能サービスを利用する
–複数のDecisionServiceRepository 構成可能サービスを定義することは不可
JDBCProviderNameプロパティに先に定義したJDBCProviders
構成可能サービス名を指定
RES(管理サーバー)する場合は、以下のプロパティを指定
–resManagementHost :ルール実行サーバーが稼動するホスト名
–resManagementPort :ルール実行サーバーの管理コンソール用ポート番号
(ルール実行サーバーのmanagement.tcpip.port と同じ値)
85
ODM連携
フロー設定
DecisionServiceノードの以下のプロパティをチェック
ノード・プロパティ「Use
DecisionServiceRepository configurable service」
86
.NET サポートの拡張
87
.NETサポートの拡張
.NETInput ノードの提供
ユーザーが任意のデータ受信処理を.NETコードで実装可能
CLR(Common
Language Runtime)準拠の言語で実装
–C#、Visual Basic、F#、C++/CLI、など
.NETやCOM(Component Object Model)インターフェースでアクセス可能なリソースから
データを受信できる
WebSphere
MQ、MSMQ、ファイル、データベースなど
Microsoft Visual Studio との連携
ツールキットから.NETInputノードのダブルクリックでVisual
Studio を起動可能
Microsoft Visual Studio用の.NETコードのテンプレートを提供
A
polling-based .NETInput node
An event-driven .NETInput node
Windows版でのみサポート
WMB V8から、.NETComputeノードを提供
フローの途中で.NETコードによるメディエーション処理の実装が可能
88
.NETサポートの拡張
.NETInput ノードの設定
「基本」タブの「アセンブリー名」と「クラス名」で使用するアセンブリー/クラスを指定
.NETのアセンブリーはツールキットにインポートし、
BARファイルにパッケージしてランタイムにデプロイ可能
ランタイム上のアセンブリーを直接参照する場合は絶対パスで指定
主なタブ/プロパティ
タブ
説明
基本
使用するアセンブリー(dll)とクラスを指定
入力メッセージの
受信メッセージの解析(パース)に使用するドメイン、メッセージ・モデル等を指定
構文解析
Visual Studio
Visual Studioのソリューション(*.sln)を指定
拡張
AppDomain名やアセンブリーID(バージョン、国/地域別環境、公開鍵トークン)を指定
妥当性検査
妥当性検査の有無、失敗時の処置を指定
モニター
モニター・イベントの構成を設定
89
.NETサポートの拡張
.NETInput ノードの設定
「Visual Studio」タブでVisual Studioのソリューション・ファイル(*.sln)を指定しておくと、
.NETInputノードのダブルクリックで指定したソリューションを開くことができる
Visual Studio
ダブルクリックで起動
90
.NETサポートの拡張
.NETInput ノードのサンプル・コードの提供
A polling-based .NETInput node
MSMQのキューをポーリングし、受信したメッセージを後続ノードに渡す処理を実装
An event-driven .NETInput node
イベント・ベースでMSMQからメッセージを受信し、後続ノードの渡す処理を実装
Visual Studio のソリューション形式で提供
<IIBv9InstDir>¥sample¥DotNet¥DotNetInput¥VS2010¥SampleDotNetInputSolution¥DotNet
InputSolution.sln
91
.NETサポートの拡張
MSMQと連携する.NET サンプル・フローの提供
ツールキットから「ヘルプ」→「サンプルおよびチュートリアル」のビューを開き、
「トランスポートおよび接続」→「.NETInput Node for MSMQ sample」
MQから固定長メッセージを受信し、XMLに変換してMSMQに送信するフロー
MSMQからメッセージを受信し、メッセージ処理を行い、MSMQに返信するフロー
MSMQからXMLメッセージを受信し、固定長メッセージに変換してMQに送信するフロー
92
.NETサポートの拡張
.NET アプリケーションと連携するパターン(メッセージフローの雛形)の提供
「Microsoft Dynamics CRM Account Entity 出力: 動的トランスポート入力」 パターン
ユーザー定義の MQ、ファイル、または HTTP の入力メッセージを処理し、Microsoft Dynamics CRM Account Entity に対する
「作成」、「取得」、「更新」、および「削除」の操作にマップ
「Microsoft Dynamics CRM Account Entity 出力: 静的 SAP 入力」 パターン
同期RFCが受信する AP BAPI を処理し、Microsoft Dynamics CRM Account Entity に対する「作成」、「取得」、「更新」、「削
除」の操作にマップ
93
BPMとの連携
94
BPMとの連携
IIBとIBM Business Process Manager (BPM) と連携
BPMからIIBへのWebサービス呼び出しの連携開発が可能
BPMからIIBの統合サービス(SOAP/HTTPのWebサービス)を呼び出す連携
BPMの開発ツールProcess
Process
DesignerとIIBのツールキット間で、開発構成物の交換が可能
DesignerとIIBツールキット間で構成物を交換するときには、BPMのエクスポート・ファイル(.twx)
を使用
Webサービス呼び出しに制約があるBPMとの連携開発が容易
ランタイム
開発
Process
Designer
BPM
Process Server
4. プロセスを
デプロイ
.twx
1. Webサービスの入力、
出力パラメータ定義
をエクスポート
.twx
IIB
ツールキット
IIB
5. Webサービス
SOAP/HTTP呼び出し
3. Webサービスの実装(オペ
レーション名やエンドポイント
情報)定義をエクスポート
IIB
2. フロー(統合サービス)を
デプロイ
95
IBM Business Process Manager
ビジネス・プロセスの管理、可視化を行って、
業務の改善を実施していくためのIT基盤
BPMNベースの人のタスクのワークフロー開発
に向いたLombardiの機能と、BPELベースの
システム間の複雑な連携に向いた
WebSphere Process Serverの機能を含む
バージョンがある
開発ツール
Process
Designer
IBM BPM
Process Center
Versioned Assets
BPM Repository
Process Designer
Integration Designer (Advancedのみ)
Process Server
開発物レポジトリー
Process Center
 開発物のバージョン管理(スナップショットなど)
 作成物のテストが可能
実行環境
Process Server
BPM Standard
BPMNのフロー
BPM Advanced
BPELのフロー
96
BPM開発ツール Process Designer
Process Designer
BPMNベースでプロセス定義を開発するツール
プロセス定義
Process
App
プロセス定
義を含むプ
ロジェクト
ヒューマン・タスク
のアクティビティ
使用するビジネ
ス・オブジェクトや
UIの定義を含む
TOOLKIT
プロセス作成
に使用する
部品箱
システム・タスク
のアクティビティ
Webサービスを
呼び出す統合
サービスなどを
含む
システム・タスクの
レーン
ヒューマン・タスクの
レーン
97
BPMの開発の用語
Process App
1つ以上のプロセスや、その他の構成物(UI定義、ビジネス・オブジェクトなど)を含む
コンテナー (プロジェクトに相当する)
Process Centerに格納され、バージョン管理される
プロセス
BPMNベースで定義するビジネスプロセスの定義
複数のレーン上のアクティビティのフローとして定義される
ビジネス・オブジェクト
プロセスのアクティビティ間を流れるデータの型の定義体
XSDの複合タイプ定義に相当
統合サービス
Webサービスなど外部システムと統合するためのサービス定義
システムタスクのアクティビティーで使用される
TOOLKIT
複数のProcess Appから共用される部品をまとめた部品箱(ライブラリー)
Process Appと同様に、Process Centerに格納され、バージョン管理される
Process AppからどのTOOLKITのどのバージョンを使用するかの依存関係を関連
づけて使用される
スナップショット
Process AppやTOOLKITをある時点でキャプチャーしたもの
バージョン管理の単位
BPMエクスポートファイル
BPMの構成物をやり取りするファイル (.twx)
IIBとの連携では、TOOLKITのスナップショットをエクスポート、インポートするのに使
用する
98
BPMとの連携
BPMとIIBの連携を開発するときの方法
BPMからIIBに統合を開始する

IIBの統合サービス:
SOAP Webサービスのプロバイダーを
専用に実装するプロジェクト
WMB V8.0.0.1より導入
トップダウンのみ可能
制約事項
IIBに新規の統合サービスを作成することのみが可能、既存の統合サービスにオペレーションを
追加することは不可
BPMからエクスポートするときのBPMの統合サービスは、 TOOLKITとしてエクスポートし、入力、
出力パラメータだけを設定する(他の設定を加えるとIIBにインポートできない)
WSDLへの制約
document,
literal, wrappedタイプでなければいけない
スキーマには、ターゲット名前空間と接頭部が指定されていること
スキーマでは「要素の接頭部」が「qualified」に設定されていること
インターフェースごとに 一つのoperationの使用を推奨
XMLスキーマのサブセットがサポートされている(すべてのタイプがサポートされているわけではない)
IIBで実装したいBPMの統合サービスとビジネス・オブジェクトは、それだけを収めた専用の
TOOLKITに含める
UI部品などを含むTOOLKITとは分離して作成し、IIBとの交換用のTOOLKITにする
99
BPMとの連携
BPMからの統合の開始
Process
Designer
Process Designer上の操作
1. IIBで実装したい統合サービスを格納するTOOLKITを作成
2. TOOLKIT内にビジネス・オブジェクトを定義
3. TOOLKIT内に統合サービスを定義
–
.twx
統合サービスの入力、出力となるビジネス・オブジェクトだけを指定
4. TOOLKITのスナップショットをエクスポート.twxファイルとして作成
IIB開発者にエクスポートファイルを渡す
IIB
ツールキット
IIBツールキット上の操作
i.
「統合サービスの作成から開始」から新しい統合サービスを作成
–
–
–
統合サービス名を指定
インポートする.twxファイルを指定
実装するBPM統合サービスを選択
ii. サービスを実装し、デプロイ
iii. 統合サービスをエクスポート(.twxファイルの更新版ができる)
BPM開発者にエクスポートファイルを渡す
Process Designerの操作
.twx
5. .twxファイルをインポート (新しいスナップショットが作成される)
6. Precess AppからTOOLKITへの依存関係を設定し、
プロセスを実装
100
Process Designerの操作1
TOOLKITの作成
Process DesignerのProcess Center画面からTOOLKITを新規に作成
新規作成
TOOLKITの名前と
接頭辞を指定
Designerで
開く
TOOLKITが作成される
101
Process Designerの操作2
TOOLKITにパラメータのビジネス・オブジェクトを作成
ビジネス・オブ
ジェクトの名前
を指定
ビジネス・オブジェクト
の新規作成
ビジネス・オブジェクトの
パラメータ(フィールド)を
設定して、完成
102
Process Designerの操作3
TOOLKITに統合サービスを作成
変数の入力と出力だけを設定
統合サービスの
新規作成
統合サービス
の名前を指定
ビジネス・オブジェクトを選択
入力、出力の変数を指定
103
Process Designerの操作4
TOOLKITのスナップショットを作成して、エクスポート
スナップショットの作成
スナップショットの
名前を指定
IBM BPMエクス
ポートを選択
104
ブラウザが起動して、ファイルのダウン
ロードからファイルを保存
IIBツールキットの操作ⅰ
エクスポートされたファイルを使用して統合サービスを作成
統合サービスを
新規に作成
.twxファイルを選択
名前を指定
BPM統合サービスから作成を選択
105
IIBツールキットの操作ⅱ
統合サービスを実装して、デプロイ
サービスタブを表示
フローを実装する
106
IIBツールキットの操作ⅲ
統合サービスをエスポート
BPMエクスポート
を選択
ホスト名とポート
を指定
107
Process Designerの操作5
IIBツールキットでエクスポートしたファイルをProcess Designerでインポート
インポート
インポートするファイルを指定
新しいスナップショットと
してインポートされる
108
インポートしたBPMの統合サービス
インポートしたスナップショットのTOOLKITの統合サービス
統合サービスにWebサービスの統合コンポーネントが、IIBのサービスを呼び出すように構成され
ている
エクスポート時のスナッ
プショットではコンポーネ
ントの設定は空
Webサービスの統合コン
ポーネントが構成されて、
IIBのWebサービスのエンド
ポイントが設定されている
109
Process Designerの操作6
TOOLKITをProcessAppの依存関係に追加して、プロセスから使用
プロセスからTOOLKITの
依存関係追加で、IIB
のサービスを含む
TOOLKITを追加する
追加された統合サービスをドラッグ &
ドロップしてシステムタスクとして使用し
てプロセスを作成
110
BPMとIIBのデータタイプのマッピング
BPMとIIBのデータタイプのマップ
BPMでサポートされているデータタイプと互換性のあるタイプを使用
タイプマップ表
*
+
+
*
+
+
+
* BPMでは、DateもTimeも内部的には
datetimeとして取り扱われている
+ BPMで定義されている型
111
BPMとの連携
BPMの統合サービスの変数定義時の注意点
BPMの統合サービスの直接の入力、出力のパラメータのタイプにDate、Timeを使用しない
 BPMの統合サービスの入力、出力につけたパラメータのタ
イプをDateとTimeにすると、BPMからのWebサービス呼
び出し時に、これらのタイプはxsd:datetimeとなる。一方、
IIBにインポートしたWebサービスのパラメータのタイプは
xsd:dateとxsd:timeにため、タイプが一致せずにエラーと
なる。
GA版での挙動
 ビジネス・オブジェクトの中のパラメータでは、IIB側も
xsd:datetimeになるので、Date、Timeを使用可能
BPMのProcess DesignerからIIBへの開発連携
メリット
BPMで使用できるデータタイプでインターフェースが作成されるので、連携が容易
–タイプマッピング可能なデータのみが使用される
デメリット
IIBで作成される統合サービスは、1つのオペレーションだけを持つサービスとなってしまう。複数の操作(オペ
レーション)を提供するまとまったサービスをIIBで実装したい場合は、この開発連携方法は向かない。
–これを実装するには、BPMで使用できるタイプのみのWSDLで定義されたWebサービスをIIBで実装し、Process
Designerの従来の方法でWebサービスをディスカバーして開発する。(ボトムアップ開発)
112
サービス・ディスカバリー
113
サービス・ディスカバリー
DBやMQに接続して構成情報を取得し、DBやMQへの操作のサービス定義を作成するサービス・
エディターを提供
DBやMQへの操作を
サービスとして定義
MQサービス
統合レジストリー
登録
テーブル情報
の取得
サービス
エディター
DB
DBサービス
WSDL
WSDL
キュー情報の
取得
QMgr
サービス定義の目的
DBやMQへの操作をサービスとして捉えて、論理的なインターフェースや物理的な接続情報を共通の形式
(WSDL)で記述して、開発者間で交換したり、カタログ化できるようにする
DBサービス
IIBとDBテーブル間で行われる操作をサービスとして捉えてそのインターフェースを定義したもの
 テーブルに格納されているビジネス・オブジェクトへのCRUD操作をサービスのオペレーションとして定義
 これまでComputeノードで直接SQL文を記述していたものを、オペレーションを実装したESQLのプロシージャー呼び出しで
実装が可能
MQサービス
MQのキュー経由で実装されているサービスのインターフェースを定義したもの
 要求や応答のメッセージ定義や要求や応答のキュー名、キューマネージャー名のエンドポイント情報を含む
 このサービスを使用するときにMQInputやMQOutputのノードが作成される
統合レジストリー
作成したMQサービスをブローカーの統合レジストリーに登録して、他の開発者がMQサービス定義を自分の
ワークスペースにインポートして利用が可能
114
サービス・ディスカバリー
DBサービスとMQのサービスの詳細
DBサービス
DBのテーブルに対するSelect、Insert、Update、Deleteを実行するオペレーションのサービス定義を
WSDLとして作成可能
DBのオペレーションの入出力パラメータのデータ型をXSDとして生成
DBサービスの内容は、.serviceファイルに保存され、 DBサービス・エディターを用いてディスカバーを繰り返
し行い、サービス定義を更新することが可能
作成されたサービス定義をComputeノードに、ドラッグ&ドロップして、ESQLからサービス呼び出しを実装
IIB V9 では、DB2のみサポート
MQサービス
MQのキューに接続するサービス定義をWSDLとして作成可能
–このWSDLの形式は、サポートパックMA93のIBM MQ Service specificationに準拠
MQサービスエディターでサービス定義を作成するときに、メッセージの形式を指定すると、その入出力パラ
メータのXSDファイルを生成
MQサービスの内容は、.serviceファイルに保存され、 MQサービス・エディターを用いてディスカバーを繰り
返し行い、サービス定義を更新することが可能
このサービス定義をフローエディターにドラッグ&ドロップして、MQメッセージの一方向または要求応答のリク
エストを行うフロー、MQメッセージの一方向または要求応答のサービスを実装するフローを作成
–リクエストでは、要求を送信するMQOutputや応答受信のMQGetノードなどが配置される
–実装では、要求を受信するMQInputノード、応答送信のMQOutputノードなどが配置される
115
DBサービスのディスカバリー手順
データベース・サービスを新規に作成
「ファイル」→「新規」→「データベース・サービス」
サービスを作成するライ
ブラリー名とサービス名
を指定
116
DBサービスのディスカバリー手順
データベース・サービス エディターで、データベース定義、リソースを選択
既存のデータベース定
義を選択するか、ここ
で新規に作成
テーブルを1つ選択
(複数テーブルは選択できない)
サービス操作の
定義へ進む
117
DBサービスのディスカバリー手順
サービスの操作を追加
操作タイプと操作名を指定
DB操作をサービスのオペレーション化するステップ
出力列を選択する
SQLが表示される
条件タブで、検索条件
を指定する
118
DBサービスのディスカバリー手順
インターフェースの内容を確認して、保存
作成されたDB
サービス
レスポンスのデータタイプ
ここで、サービス
定義を保存
119
DBサービスの使用
DBサービスは、フローのComputeノードから使用
作成されたDBサービスを
Computeノードにドラッグ
&ドロップ
使用するオペレーションを
選択
120
DBサービスの使用
生成されたDatabaseService.esql
ComputeノードのESQLで使用するプロシージャーが定義されている
retrieveCustomerのESQL
プロシージャー定義
121
DBサービスの使用
Computeノード内のDBサービスの使用例(開発者がコーディングする)
ComputeノードのESQLから生成されたサービスのオペレーションを呼び出して使用
DBサービスの戻り用
の変数定義
作成されたDBサー
ビスの呼び出し
出力ツリーへのマップ
122
MQサービスの作成手順
MQサービスの作成
「ファイル」→「新規」→「MQサービス」
サービスを作成するライ
ブラリー名とサービス名
を指定
123
MQサービスの作成手順
キューマネージャーに接続して、キューを選択
要求・応答タイプか一方向
タイプかを選択
キューマネージャーへの
接続パラメータを指定
して、接続のテスト
キューを選択
124
MQサービスの作成手順
MQヘッダーの値、メッセージのタイプを指定
メッセージの定義のタイプを選択
メッセージのタイプを選択
MQヘッダーの
値を指定
すでに定義し
てあるタイプを
選択
確認して、保存
125
MQサービスの使用
作成されたMQサービスをフローエディターのドラッグ&ドロップする
サービスの実装か呼び出し
を選択する
実装の場合、MQ Inputノー
ドが作られる
MQサービスをドラッグ&
ドロップする
設定されるプロパティー:
-入力キュー名
-メッセージ・ドメイン
呼び出しの場合、MQヘッダーノード
とMQ Outputノードが作られる
設定されるプロパティー:MQOutput
-キュー・マネージャー名
-キュー名
MQヘッダー構成で指定し
たMQMDの設定
126
MQサービスの公開
MQサービスをブローカーの統合レジストリーに公開
MQのサービスを他の開発者が利用できるようにする
公開するブローカーを選択
統合レジストリー・ビューが表示される
MQサービスが登録される
127
公開されたMQサービスのインポート
ブローカーに公開されているMQサービスをインポートする
他の開発者が、MQサービスをブローカーからインポートして使用できる
右クリックで、Importを選択
MQサービスと関連したス
キーマがインポートされる
128
ライブラリーを選択
XMLデータ分析
129
XMLデータ分析
大規模で複雑なデータ・モデルから簡潔なモデルを作成するための機能
実データで使用されているフィールドを元に、必要なフィールドを選択してモデル化する
業界標準モデルから、社内標準モデルへ抜粋するケースなど
XMLデータを分析しモデル化するための機能を提供
既存XMLデータから、より扱いやすいスキーマまたはリレーショナル・モデルを生成することが可能
XMLデータ構造の解析ツールを提供
複数XMLデータを解析しデータ分析モデルを生成
XMLデータの構造や、エレメントの出現頻度などを把握することができる
エメント名によるフィルタリングが可能
解析ツールにより生成されたモデルから、新規に作成するモデル(ターゲット・モデル)を定義
ドラッグ
& ドロップで構造を定義
XMLデータをターゲット・モデルの形式にマッピングするフローを生成可能
ターゲット・モデルからマッピング・ノードを含むフローやスキーマをライブラリに生成
データ分析パースペクティブを新規に提供
XMLデータを分析、フィルターするためのビューやツールを提供
モデルを生成するためのエディターを提供
130
XMLデータ分析 利用例
背景
HL7 v3などの業界標準のドキュメント・スキーマは、さまざまなドキュメント形式に
対応できるよう柔軟性を持って設計されている
XMLファイル
しかし、それらの柔軟性と引き換えに、構造が非常に複雑
実際のデータで必要となる部分は、一部のフィールドのみであるので、
軽いモデルで扱いたい
診療ドキュメントの実データ(XMLデータ)の理解のための解析
どのフィールドが使用されているか、目的の情報はどのフィールドにあるか?
Clinical Document Architecture (CDA)は再帰的な構造があるため、
スキーマからの解読は大変
解析をサポートするツールを用いて実データを解析
目的の情報を抽出したターゲット・モデルの作成
データ分析
分析モデル
ターゲット・モデル
作成
必要な診療情報を識別して、抜き出すことが目的
一般的には、診療データの大部分は不要なもの
ターゲット・モデル作成をサポートするツールを使用
ターゲット・モデル
ターゲットモデルのXMLスキーマを生成
データをターゲットモデルの形式に変換するフローを生成
131
XMLデータ分析
ブローカー・データ分析パースペクティブ
XMLデータを分析、フィルターするためのモデル、ビュー、ツールを提供
データ分析プロジェクト・ビュー
データ分析プロジェクト・ビュー
アプリケーション・ビュー
アプリケーション・ビュー
データ分析モデル・ビュー
データ分析モデル・ビュー
データ・パス・ビュー
データ・パス・ビュー
データ分析モデルのプロパティ
データ分析モデルのプロパティ
ビュー
ビュー
データ・フィルター・ビュー
データ・フィルター・ビュー
サンプル文書ビュー
サンプル文書ビュー
132
XMLデータ分析
XMLデータの分析から変換ツール作成までの流れ
①データ分析プロジェクトの作成
既存スキーマファイルを指定
②既存XMLデータからデータ分析モデルを生成
データ分析モデルは、XMLデータに含まれるエレメントから生成される
③データ分析モデルからエレメントを精査
④新規に作成するモデル(ターゲット・モデル)を作成・編集
リレーショナル・モデルの生成も可能
⑤ターゲット・モデルからデータ分析ツールを生成
データ分析ツールは入力XMLをターゲットモデルに変換するフローを含むライブラリー
XMLファイル
データ分析モデル
②
④
③
データ分析ツール
ターゲット・モデル
エレメントの精査
⑤
スキーマ・ファイル
ターゲット・モデル
のスキーマ
①
133
XMLデータ分析
①データ・分析プロジェクトの作成
データ分析プロジェクトの作成
「ファイル」→「新規」→「データ分析プロジェクト」
プロジェクト名を指定
データー分析プロファイルの作成
分析対象XMLデータのスキーマ・ファイルを指定
サンプル・データ分析プロファイル
(サンプル・スキーマ・ファイル)を提供
「参照」→スキーマ・ファイルを指定
134
XMLデータ分析
.dapファイルが作成され、データ分析プロジェクトに関連付けられる
135
XMLデータ分析
②既存XMLデータからデータ分析モデルを生成
分析対象のXMLデータを指定
XMLが格納されているディレクトリを指定
ディレクトリ中のXMLが分析の対象となる
ディレクトリを指定
分析の要約が表示される
136
XMLデータ分析
③データ分析モデルからエレメントを精査
データ分析モデル・ビューに、分析したXMLデータから導出されたモデルが表示される
サンプル文書ビューに選択したエレメント
サンプル文書ビューに選択したエレメント
がXMLデータのどの部分に該当するか
がXMLデータのどの部分に該当するか
表示
表示
分析した文書インスタンスに含まれるエ
分析した文書インスタンスに含まれるエ
レメントが表示される
レメントが表示される
サンプル文書ビューのエレメントをダブ
サンプル文書ビューのエレメントをダブ
ル・クリックすると、分析したXMLデータの
ル・クリックすると、分析したXMLデータの
構造に該当する箇所が表示される
構造に該当する箇所が表示される
137
XMLデータ分析
エレメントのフィルタリング
データ・フィルタービューにて、
データ・フィルタービューにて、
エレメント名を入力
エレメント名を入力
フィルタリング結果が表示される
フィルタリング結果が表示される
データ・パス・ビューにフィルタリングされ
データ・パス・ビューにフィルタリングされ
たエレメントが表示される
たエレメントが表示される
138
XMLデータ分析
エレメントのハイライト
右クリック→
「すべての共存エレメントを強調表示を選択」
フォーカスしたエレメントに対する各エレ
フォーカスしたエレメントに対する各エレ
メントの出現の割合が表示される
メントの出現の割合が表示される
139
XMLデータ分析
エレメントのハイライト
サンプル文書を基準にしての強調表示や、
サンプル文書を基準にしての強調表示や、
時刻を基準にしての強調表示も可能
時刻を基準にしての強調表示も可能
140
XMLデータ分析
④ターゲットモデルの作成、編集
「データ分析プロジェクト・ビュー」→「新規ターゲット・モデルの作成」をクリック
ターゲット・モデルのファイル名を入力
ルート・オブジェクト名とターゲット・ネーム
スペースを入力
141
XMLデータ分析
ターゲット・モデルの作成
データ分析ビュー/モデルビュー、フィルタービューからドラッグアンドドロップ
ターゲット・モデルを編集
ターゲット・モデルを編集
142
XMLデータ分析
⑤ターゲット・モデルからデータ分析ツールを生成
ターゲット・モデル → 「生成」をクリック
143
XMLデータ分析
データ分析ツール
入力データをターゲットモデルに変換するためのライブラリが生成される
サンプルに含まれるメイン・フロー例(MQInput
サンプルに含まれるメイン・フロー例(MQInput ––
サブフロー
サブフロー –– MQOutput)
MQOutput)
ライブラリにサブフローやスキーマ
ライブラリにサブフローやスキーマ
が生成される
が生成される
メイン・フロー
144
XMLデータ分析
生成されたデータ変換用マップ
データ分析モデルからターゲット・スキーマへの変換
データ分析モデルからターゲット・スキーマへの変換
145
XMLデータ分析
(参考)サンプルの提供
書籍データのXMLファイルとスキーマを提供
「ヘルプ」→「ようこそ」→「サンプル」→「メッセージ変換」→「DataAnalytics」
146
その他の機能強化
147
WAS管理コンソールからの管理
WASの管理コンソールから、IIBの統合ノード・リソースを管理可能
統合ノードや統合サーバーの状況の表示だけでなく、開始、停止などの操作が可能
可能な管理操作
既存の統合ノードへの接続
、接続のテスト
統合サーバーおよびそのプロパティーと状況 (実行中または停止中) の表示 、開始、停止
統合サービスの状況、プロパティーの表示 、開始、停止
統合サーバー毎にデプロイされている
–アプリケーションおよびそのプロパティーと状況の表示 、開始、停止
–統合サービスおよびそのプロパティーと状況の表示 、開始、停止
–ライブラリーおよびそのプロパティーの表示
–メッセージ・フローおよびその状況の表示 、開始、停止
サポート対象のWAS
Windows, Linux, UNIX
V7.0
(7.0.0.9 – 7.0.0.29 and future fix packs), V8, V8.5
Deploymentを含む
Express、Network
z/OS
V7.0
(7.0.0.9 – 7.0.0.27 and future fix packs), V8, V8.5
148
IIB V9の用語
統合ノード:
V8までのブローカー
統合サーバー: V8までの実行グループ
統合サービス: V8のサービス
(Webサービス専用のフローや
そのプロジェクト)
WAS管理コンソールからの管理
必要な構成
WASにIBM Integration フィーチャーを導入
InstallationManagerを使用して、以下のレポジトリーファイルからフィーチャーを導入
–wmb.admin.repository.zip
–wmb.admin.repository_update.zip (更新用のレポジトリーで、GA版には含まれていない)
WASのプロファイルをmanageprofilesコマンドを使用して拡張
デフォルト・プロファイルの例
manageprofiles -augment -profileName AppSrv01
-templatePath "C:¥IBM¥WebSphere¥AppServer¥profileTemplates¥default.broker"
デプロイメント・マネージャー・プロファイルの例
manageprofiles -augment -profileName DMgr01
-templatePath "C:¥IBM¥WebSphere¥AppServer¥profileTemplates¥dmgr.broker"
IIBのWebユーザー・インターフェース・サーバーを構成
新規のブローカーを作成すると、デフォルト4414のポートで構成されている
WASの管理コンソールから、IIBの統合ノードに接続
統合ノードのエントリーを新規作成して、統合ノードのリストに追加
149
WAS管理コンソールからの管理
WAS管理コンソールからの管理 (統合ノード、統合サーバー、統合サービス)
初めに、統合ノードを新
規に追加
開始、停止が可能
150
WAS管理コンソールからの管理
統合サーバー毎のアプリケーションやアプリケーション内のフローの管理
統合サーバーの
プロパティ画面
アプリケーションの
プロパティ画面
151
GUIマッピングの機能強化
マップからデータベース・ルーチン変換を使用して、ストアード・プロシージャーの呼び出し
が可能
マップの入力データをもとにプロシージャーを呼び出して、結果を出力データにマップ可能
ネストされたマップにおいて、
–ソースツリーからプロシージャーのIN, INOUTパラメータにマップ
–プロシージャーのOUT, INOUT, ResultSet, 戻り値から、デスティネーションツリーにマップ
呼び出すプロシージャーは、マップに変換追加時にデータベース定義から選択
データベース定義は、ルーチンを含めて事前に作成しておく
V9では、DB2のみをサポート
Group変換が追加された
複数の入力レコードを指定したキーでグルーピングして、構造を変更
152
GUIマッピングの機能強化
マップからストアード・プロシージャー呼び出しの設定
マップ・エディターで、データベース・ルーチンの呼び出しをクリック
CREATE PROCEDURE APPL01.ADD_CUSTOMER (
IN ID INTEGER,
IN NAME VARCHAR(20),
IN CTYPE CHAR(4),
IN ADDRESS VARCHAR(50),
OUT LASTUPDT TIMESTAMP)
LANGUAGE SQL
BEGIN
SET ADD_CUSTOMER.LASTUPDT = (select LASTUPDT from new table (
insert into APPL01.CUSTOMER (ID, NAME, CTYPE, ADDRESS, LASTUPDT)
values (ADD_CUSTOMER.ID, ADD_CUSTOMER.NAME, ADD_CUSTOMER.CTYPE,
ADD_CUSTOMER.ADDRESS, CURRENT TIMESTAMP)
)
);
END
153
GUIマッピングの機能強化
ストアード・プロシージャーを選択
プロシージャーを選択
選択したプロシージャー
のパラメータを確認
154
ストアード
プロシージャー
GUIマッピングの機能強化
プロシージャーの入力パラメータへのマップと出力からのマップを設定
データベース・ルーチン変
換が追加される
呼び出しのマップ IN, INOUTパラ
メータへデータをマップ
呼び出しと戻りの接続を
追加する
戻りのマップ INOUT, OUTパ
ラメータからデータをマップ
155
GUIマッピングの機能強化
Result Setを戻すプロシージャーの場合
CREATE OR REPLACE PROCEDURE APPL01.GET_CUSTOMER (
IN CTYPE CHAR(4))
LANGUAGE SQL
DYNAMIC RESULT SETS 1
ストアード
プロシージャー
Result Setあり
BEGIN
DECLARE cursor1 CURSOR WITH RETURN FOR
select ID, NAME, CTYPE, ADDRESS, LASTUPDT
from APPL01.CUSTOMER
where CTYPE = GET_CUSTOMER.CTYPE
order by ID;
open cursor1;
END
156
GUIマッピングの機能強化
Result Setを戻すプロシージャーの場合の設定
戻されるResultSet
プロシージャーを選択
ResultSetにふくまれる列を選択
157
GUIマッピングの機能強化
Result Setを戻すプロシージャーの戻りマップ
戻りのマップ
ResultSet
For eachのネストされた
マップ
158
GUIマッピングの機能強化
Group変換
複数の入力レコードを、指定したキーでグルーピングすることが可能
itemをitemTypeで
グルーピングして
構造を変えたい
Group変換を使用
159
GUIマッピングの機能強化
Group変換の設定
itemとitemType間を
Group変換
itemとitemTypeの子の
要素のマッピング
Group変換の
プロパティー設定
itemのitemTypeを
キーにして
グルーピング
160
Web関連機能の拡張
国際化ドメイン名(IDN:Internationalized Domain Name)のサポート
非英語ホスト名の利用をサポート
SSLクライアント認証鍵別名(Key alias)の指定
SSLクライアント認証時に使用する証明書を指定できる
複数のSSLサーバーと接続するためキーストア内に複数の証明書がある場合に有効
SOAPRequest / HTTPRequest ノードの「SSLクライアント認証識別名」に指定
LocalEnvironment で動的に設定も可
SOAPRequestノードの場合
LocalEnvironment.Destination.SOAP.Request.Transport.HTTP.KeyAlias
HTTPRequestノードの場合
LocalEnvironment.Destination.HTTP.KeyAlias
161
Web関連機能の拡張
HTTPリスナーの Certificate Revocation Lists (CRLs) サポート
HTTPリスナーがSSLサーバーとして証明書を受け取った際にCRLチェックが可能に
V8では、フローがSSLクライアントとして証明書を受け取った際のCRLチェックは可能
設定
ブローカー・レベルのHTTPリスナーの場合
mqsichangeproperties IB9NODE -b httplistener -o HTTPSConnector -n crlFile -v file_path
実行グループ・レベルのHTTPリスナーの場合
mqsichangeproperties IB9NODE -e exgroup1 -n crlFile -v file_path
162
Web関連機能の拡張
複数 Kerberos Service Principals のサポート
IIBでは、ブローカーをケルベロス認証のクライアントとして構成し、メッセージの完全性、機密性、
認証を保証できる
前提として、Key
Distribution Center(KDC)およびKerberos secured serviceが稼動するサーバーへ
アクセスできる必要がある
V8まではブローカーに1つのKerberos Service Principals のみ定義
V9では、ブローカーもしくは実行グループ毎にケルベロス構成ファイルを指定可能
設定
ブローカーの場合
mqsichangeproperties Broker -o BrokerRegistry -n kerberosConfigFile -v kerberosConfigLocation
実行グループの場合
mqsichangeproperties Broker -e EGName -o ComIbmJVMManager
-n kerberosConfigFile -v kerberosConfigLocation
163
ODBC設定の検証機能
統合ノード(ブローカー)開始時に、ODBC環境が正しく設定されていることを確認
対象OS: Linux、UNIX
統合ノード(ブローカー)をmqsistartで起動したときに、mqsicvpコマンドを自動的に実行
mqsicvpコマンドが、ODBC環境設定を確認
ODBC環境設定の確認項目
ODBCINI環境変数が設定されている場合、以下の問題状況を検出して、syslogに警告メッ
セージを出力
環境変数が指すファイルが存在しないか、そのファイルに対する読み取りまたは書き込み権限
がブローカーにない場合
ODBCSYSINI が設定されていない場合
ODBCSYSINI が設定されているがこの変数が指すディレクトリーに odbcinst.ini という名前のファイルが
含まれていないか、そのファイルに対する読み取りまたは書き込み権限がブローカーにない場合
IE02_PATH 環境変数が設定されていない場合
ODBCINI
ODBC 環境検査が正常に完了すると、コマンドは、mqsisetdbparms コマンドを使用してブ
ローカーに関連付けられた、odbc.ini ファイルにリストされたすべてのデータ・ソースに接続を確認
164
集約ノードの機能強化
AggregationControlノードのタイムアウト設定を、これまでの秒単位から、0.1秒単位
で設定することが可能
1 秒未満のタイムアウト間隔を設定する場合
ノード専用のAggregation構成可能サービスを構成し、以下のプロパティーの設定を推奨
queuePrefix
-集約ノードで使用するキュー接頭辞を指定する
–SYSTEM.BROKER.AGGR.Prefix.CONTROL などの5つのストレージ・キューを作成する
timeoutThreads
-有効期限が切れたメッセージを処理するスレッド数 2以上に設定
コマンド例
集約名:
AGG01
キュー接頭辞: AGG01
タイムアウト: 0.5
スレッド数: 2
mqsicreateconfigurableservice IB9NODE -c Aggregation -o AGG01 -n
queuePrefix,timeoutSeconds,timeoutThreads -v "AGG01","0.5","2"
165
CICSノードのトランザクション・サポート
CICSRequest ノードでトランザクション・モードのサポート
CICSRequest ノードで1フェーズ・コミットのローカル・トランザクション管理が可能
CICSに対する複数のリクエストを同じトランザクション下で制御(コミット or ロールバック)可能
V8 まではトランザクション・モードの指定なし
ノード・プロパティの「拡張」タブ⇒「トランザクション・モード」プロパティで指定
「自動」(デフォルト)
「はい」
「いいえ」
⇒ Input ノードのトランザクション・モードに依存
⇒ トランザクション管理あり
CICS TS / z/OS
⇒ トランザクション管理なし
–V8からマイグレーションした場合は「いいえ」
CICSトランザクション
166
CICSノードのアクティビティ・ログ・サポート
CICS アクティビティ・ログ
以下のようなCICSとの処理状況をアクティビティ・ログとして取得可能
CICS
プログラムが正常に呼び出された
CICS プログラムの呼び出しが失敗した
メッセージ内のセキュリティIDがCICS にプロパゲートされた
CICS プログラム呼び出しでセキュリティ・エラーが起きた
CICS サーバーへの接続で通信エラーが発生した
フロー処理中に新しいトランザクションが開始された
CICS リソース処理がコミットされた
CICS リソース処理がロールバックされた
CICS がアベンドした
CICS 呼び出しがタイムアウトした
CICS サーバーへの接続でSSLエラーが発生した
アクティビティ・ログ
V8 から追加された、メッセージ・フローの処理状況や外部リソースへのアクセス状況が簡潔にわかるロギングの機能
IB エクスプローラーからログの表示、CSV ファイルへの書き出しが可能
167
実行グループのユーザー指定(z/OS)
実行グループに対し、ユーザーIDを指定可能
ブローカーの起動ユーザーとは異なるユーザー(権限)でリソースにアクセスできる
デフォルトではブローカーの起動ユーザーが実行グループにも適用される
指定するユーザーIDはブローカー起動ユーザーと同じプライマリー・グループに所属している必要
がある(共通のリソースにもアクセスするため)
ブローカー用のファイル・システムやデータセットに対してもブローカー起動ユーザーと同等の権限を持つ必
要がある
168
Fly UP