84
IBM Integration Bus V9 第2章 新機能の紹介 新機能の紹介 2 内容 ワークロード・マネージメント Web UIによる管理機能の強化 グローバル・キャッシュ機能の拡張 ビジネス・ルール .NETサポートの拡張 BPMとの連携 サービス・ディスカバリー XMLデータ分析 その他の機能強化 WAS管理コンソールからの管理機能 GUIマッピングの機能強化 Web関連機能の拡張 ODBC設定の検証機能 集約ノードの機能強化 CICSトランザクション・サポート 実行グループのユーザー指定(z/OS

IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

IBM Integration Bus V9

第第22章章 新機能の紹介新機能の紹介

2

内容

ワークロード・マネージメント

Web UIによる管理機能の強化

グローバル・キャッシュ機能の拡張

ビジネス・ルール

.NETサポートの拡張

BPMとの連携

サービス・ディスカバリー

XMLデータ分析

その他の機能強化

WAS管理コンソールからの管理機能

GUIマッピングの機能強化

Web関連機能の拡張

ODBC設定の検証機能

集約ノードの機能強化

CICSトランザクション・サポート

実行グループのユーザー指定(z/OS)

Page 2: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

3

ワークロード・マネージメント

4

ワークロード・マネージメント

ワークロード・マネージメント機能の提供

大処理レートの制御

メッセージ処理件数が指定のレート内に収まるように制御することが可能

メッセージフローに対して 大レート(メッセージ処理件数/秒)を設定

通知処理リクエスト入力件数が閾値を超過/収束した場合に通知することが可能

MQ Pub/Subの仕組みを利用し通知メッセージをパブリッシュ

無応答フローに対するアクション

メッセージ処理時間が指定のタイムアウト時間を超過した場合のアクションを指定可能–実行グループの再起動(GA版時点)、もしくは、アクションなし

処理時間超過を通知可能

ワークロード・マネージメント・ポリシーにて動的に設定を変更可能

ブローカーブローカー ワークロード・マネージメント機能

メッセージフローA

メッセージフローB最⾼速度

処理が閾値内に収まるように制御

処理が閾値内に収まるように制御

入力リクエスト数が閾値を超えると通知

入力リクエスト数が閾値を超えると通知

メッセージフローCタイムアウト時にアクションを実施(再起動)

タイムアウト時にアクションを実施(再起動)

処理リクエスト

再起動

Page 3: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

5

ワークロード・マネージメント

ワークロード・マネージメント活用シナリオ

大処理レートの制御を利用し、時間帯により優先させる処理を制御する

バッチ処理、オンラン処理のフローが混在する環境を想定

業務時間帯はオンライン処理を優先させるため、バッチ処理の処理速度を制限する

リソースに制限のあるバックエンド・サーバーに合わせて、フロントエンドからの処理速度を制限する

ブローカーブローカー

オンライン処理フロー

バッチ処理フロー 最⾼速度

オンライン処理

バッチ処理

業務時間帯

ブローカーブローカー

オンライン処理フロー

最⾼速度

フロント・エンド

バックエンドのパフォーマンスにあわせて、フロントからの処理速度を制限

バック・エンド

オンライン処理を優先させるため、バッチ処理の処理速度を制限

6

ワークロード・マネージメント– 大処理レートの制御

メッセージ処理件数が指定のレート内に収まるように制御することが可能

大処理レート(メッセージ処理件数/秒)をフロー単位で設定

フローのメッセージ処理件数が、 大レート内に収まるように制御 大処理レートを50 (メッセージ/秒)に設定した場合の例

10,000件のメッセージ処理にかかる処理速度を比較

入力ノードの種別に関係なく、フローへのリクエスト数をもとに速度が制御される

メッセージフロー内のすべての入力ノードおよびインスタンスへのリクエストの合計を制御に使用

リクエストがエラーとなる場合でも、1入力としてカウントされる

複数スレッドでフローを実行する場合、合計スレッド数と 大処理レートの設定をもとに、各スレッドにそれぞれ処理レートが割り当てられる

ノード単位で、処理レートを制御することはできない

各スレッドに割り当てられる処理レートの具体的な計算例は次ページ参照

0

20

40

60

80

100

0

20

40

60

80

100

0

20

40

60

80

100

0

20

40

60

80

100

最大レートを50件/秒に設定

処理件数/s

経過時間経過時間

処理件数/s

最⾼速度

Page 4: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

7

(参考) ワークロード・マネージメント – 大処理レートの制御

複数スレッドで実行する場合の処理レートの割り当て

稼動中の各スレッドに( 大処理レート÷合計スレッド数)の処理レートが割り当てられる

合計スレッド数は以下の式で計算(メッセージフロー内の入力ノード数)+(各入力ノードの追加インスタンス数の合計)

稼動スレッドに割り当てられる処理レートの割り当て例( 大処理レート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

最⾼速度

8

ワークロード・マネージメント – 通知

メッセージ入力件数が閾値を超過/収束した場合に通知することが可能

メッセージフローに対して通知閾値(処理リクエスト件数/秒)を設定

MQ Pub/Subの仕組みを利用し通知メッセージをパブリッシュ

処理リクエスト件数が通知閾値を越えると、メッセージがパブリッシュされる

–閾値を超えたままの状態の場合、パブリッシュされない

処理リクエスト件数が閾値内に収束すると、メッセージがパブリッシュされる

※通知を受け取るためのアプリケーションは別途必要(現時点ではブローカで通知を受け取る機能はない)

通知閾値を50(処理リクエスト件数/秒)設定した場合の例

処理件数/s

経過時間

通知閾値を50件/秒に設定

超過通知ポイント

0

50

100

75

25

超過通知ポイント

収束通知ポイント

Page 5: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

9

(参考)ワークロード・マネージメント – 通知

通知メッセージのパブリッシュ先トピックと通知メッセージ

メッセージ・レートが閾値を超過した場合のパブリッシュ先トピック

通知対象のメッセージ・フローの構成により、トピックが異なる

フローがライブラリに含まれる場合

フローがアプリケーションに含まれる場合

フローが実行グループの直下にデプロイされる場合

$SYS/Broker/<brokerName>/WorkloadManagement/AboveThreshold/<executionGroupLabel>/<applicationName>/<libraryName>/<messageFlowLabel>

$SYS/Broker/<brokerName>/WorkloadManagement/AboveThreshold/<executionGroupLabel> /<applicationName>/<messageFlowLabel>

$SYS/Broker/<brokerName>/WorkloadManagement/AboveThreshold/<executionGroupLabel> /<messageFlowLabel>

10

(参考)ワークロード・マネージメント – 通知

メッセージ・レートが閾値内に収束した場合のパブリッシュ先トピック

通知対象のメッセージ・フローの構成により、トピックが異なる

フローがライブラリに含まれる場合

フローがアプリケーションに含まれる場合

フローが実行グループの直下にデプロイされる場合

$SYS/Broker/<brokerName>/WorkloadManagement/BelowThreshold/<executionGroupLabel>/<applicationName>/<libraryName>/<messageFlowLabel>

$SYS/Broker/<brokerName>/WorkloadManagement/BelowThresholdexecutionGroupLabel> /<applicationName>/<messageFlowLabel>

$SYS/Broker/<brokerName>/WorkloadManagement/BelowThreshold/<executionGroupLabel> /<messageFlowLabel>

Page 6: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

11

(参考)ワークロード・マネージメント – 通知

通知メッセージ例通知閾値を5 (件/秒)に設定した場合の、入力件数が超過通知メッセージ

<wmb:eventxmlns: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>

設定した閾値設定した閾値

入力メッセージ件数入力メッセージ件数

イベント名イベント名

12

ワークロード・マネージメント – 無応答フローに対するアクション

メッセージ処理が指定時間を超過した場合のアクションを指定可能

メッセージフローに対して処理タイムアウト(秒)を設定

メッセージ処理時間が処理タイムアウトを超過した場合にアクションを実行実行グループの再起動、もしくは、アクションなし(GA版時点)

メッセージ処理が指定時間を超過したことを通知可能タイムアウトをMQ Pub/Subの仕組みで通知

処理アクションをなしに設定した場合、処理の完了も通知可能

mqsistopmsgflowコマンドに実行グループの強制停止オプションが追加

mqsistopmsgflowコマンドにて「-f restartExecutionGroup」オプションを指定

V8.0以前のバージョンでは、実行グループ・プロセスをkillのみが可能であった

メッセージフロー

処理タイムアウト発生時、

実行グループを自動的に再起動が可能タイムアウト発生をPub/Subで通知

処理タイムアウト発生時、

実行グループを自動的に再起動が可能タイムアウト発生をPub/Subで通知

長時間のループ・・ 外部システムの応答待ち・・・

入力ノード通過後の処理時間を計測

再起動

Page 7: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

13

処理時間を超過した際に通知されるメッセージのパブリッシュ先トピック

フローがライブラリに含まれる場合

フローがアプリケーションに含まれる場合

フローが実行グループの直下にデプロイされる場合

$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingTimeout/<executionGroupLabel>/<applicationName>/<libraryName>/<messageFlowLabel>

$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingTimeout/<executionGroupLabel>/<applicationName>/<messageFlowLabel>

$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingTimeout/<executionGroupLabel>/<messageFlowLabel>

(参考)ワークロード・マネージメント – 無応答フローに対するアクション

再起動

14

処理時間を超過後に処理が完了した場合のパブリッシュ先トピック処理アクションが「None」のときのみ

–フローがライブラリに含まれる場合

–フローがアプリケーションに含まれる場合

–フローが実行グループの直下にデプロイされる場合

$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingFinished/<executionGroupLabel>/<applicationName>/<libraryName>/<messageFlowLabel>

$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingFinished/<executionGroupLabel>/<applicationName>/<messageFlowLabel>

$SYS/Broker/<brokerName>/WorkloadManagement/ProcessingFinished/<executionGroupLabel>/<messageFlowLabel>

(参考)ワークロード・マネージメント – 無応答フローに対するアクション

再起動

Page 8: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

15

タイムアウト時の通知メッセージ例処理タイムアウトを2(秒)、処理アクションをNoneに設定した場合

<wmb:eventxmlns: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" 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>

(参考)ワークロード・マネージメント – 無応答フローに対するアクション

再起動

イベント名イベント名

フロー名フロー名

設定したタイムアウト時間とアクション設定したタイムアウト時間とアクション

処理時間、スレッドID処理時間、スレッドID

処理の流れ(タイムアウトしたノードが分かる)処理の流れ(タイムアウトしたノードが分かる)

16

ワークロード・マネージメント – 設定

ワークロード・マネージメント機能の設定方法

メッセージフロー単位で以下を設定

以下のいずれかで設定可能BARファイル(ビルド済みメッセージフローのプロパティ)

ワークロード・マネージメント・ポリシー

–フローの再起動や再デプロイなしに、動的に設定を変更可能

BARファイルとワークロード・マネージメント・ポリシーの両方で設定した場合、

ワークロード・マネージメント・ポリシーが優先されるポリシーで設定のない項目については、BARファイルの設定値が使用される

大処理レートの制御(メッセージ数/秒)

0の場合機能OFF(デフォルト)大速度

処理タイムアウト時のアクションを指定「なし」、もしくは「実行グループの再起動」を指定

処理アクション

処理タイムアウトの時間を指定(秒)

0の場合機能OFF(デフォルト)処理タイムアウト

通知の閾値の設定(メッセージ数/秒)

0の場合機能OFF(デフォルト)通知閾値

説明設定項目

最⾼速度

再起動

再起動

Page 9: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

17

ワークロード・マネージメント – 設定

BARファイルでの設定

BARファイル・エディターでの設定

通知閾値の設定

処理アクションの指定

処理タイムアウトの指定

最大処理レートの設定

18

ワークロード・マネージメント – 設定

ワークロード・マネージメント・ポリシーの設定

以下のいずれかで、ポリシーを作成/適用

WebUIによる管理機能(作成/適用)

コマンド(作成/適用)

–以下のコマンドが新規に追加

–mqsicreatepolicy / mqsireportpolicy / mqsichangepolicy / mqsideletepolicymqsiattachpolicy / mqsidetachpolicy

BARファイルの「ポリシー」(適用)

ポリシーによるワークロード・マネージメント機能の設定の流れ

①ワークロード・マネージメント・ポリシーの作成

②作成したポリシーを、メッセージ・フローに適用

Toolkitにて利用可能なポリシーの一覧を表示可能

「ウィンドウ」→「ビューの表示」→「Integration Registries」

Page 10: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

19

ワークロード・マネージメント – 設定

WebUIによる管理機能でのポリシー設定例

①ワークロード・マネージメント・ポリシーの作成

「ポリシー」を展開

「作成」をクリック

ポリシー名

通知閾値

最大レート

タイムアウト時のアクション

タイムアウト時間

20

ワークロード・マネージメント – 設定

②作成したポリシーを、メッセージ・フローに適用

「ポリシー」を選択

メッセージフローを選択

ポリシーを適用するメッセージフローを選択

「適用」をクリック

作成したポリシーを選択

Page 11: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

21

ワークロード・マネージメント – 設定

コマンドによるポリシーの設定

以下のコマンドが新規に追加

ポリシー設定を記述したXMLファイルを使用して、ポリシーを作成/変更する

–ポリシー設定用サンプルXMLファイルを以下に提供

ポリシーの設定変更mqsichangepolicy

ポリシー情報の表示mqsireportpolicy

ポリシーの削除mqsideletepolicy

メッセージフローへのポリシーの適用mqsiattachpolicy

メッセージフローからポリシーを除外mqsidetachpolicy

ポリシーの作成mqsicreatepolicy

説明コマンド

Windows の場合:<導入ディレクトリ>¥sample¥Policy¥WorkloadManagement_Policy.xml

Linux、UNIXの場合:<導入ディレクトリ>/sample/Policy/WorkloadManagement_Policy.xml

22

ワークロード・マネージメント – 設定

①ワークロード・マネージメント・ポリシーの作成

ポリシー設定用XMLファイル作成

– 大処理レートを1000に設定する例

mqsicreatepolicyコマンドにて、ポリシー設定用XMLファイルをもとにポリシーを作成

– -tで「WorkloadManagement」を指定

– -lでポリシー名を指定(例ではWLM_Policy01)

– -fでポリシー設定XML用ファイル名を指定(例ではpolicy_config.xml)

<wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy"><iwlm:workloadManagementxmlns: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 BK9 -t WorkloadManagement -l WLM_Policy01 -f policy_config.xml

Page 12: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

23

ワークロード・マネージメント – 設定

②作成したポリシーを、メッセージ・フローに適用

mqsireportpolicyコマンドにて作成したポリシーの確認

– -tで「WorkloadManagement」を指定

– -lでポリシー名を指定(例ではWLM_Policy01)

mqsiattachpolicyコマンドにてポリシーをメッセージフローに適用

– -tで「WorkloadManagement」を指定

– -lでポリシー名を指定(例ではWLM_Policy01)

– -e, -m, -k, -l で実行グループ、メッセージフロー、アプリケーション(オプション)、ライブラリ(オプション)を指定

$mqsireportpolicy BK9 -t WorkloadManagement -l WLM_Policy01BIP1895I: 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> <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>‘

mqsiattachpolicy BK9 -e EG1 -m HelloServiceProvider -t WorkloadManagement -l WLM_Policy01 -k SOAP.APP01

24

ワークロード・マネージメント – 設定

BARファイルによるポリシーの適用

「ポリシー」に作成済みのポリシーを設定

デプロイ時に指定のポリシーが適用される

※WebUIによる管理機能/コマンドにて動的に適用したポリシーは、BARファイルの再デプロイ時にリセットされるBARファイルにあらかじめポリシーを指定しておくことで、デプロイ直後からポリシーを適用可能

作成済みポリシー名を設定

Page 13: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

25

(補足)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' : 指定されたファイルに詳細内部トレースを送信

26

(補足)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' : 指定されたファイルに詳細内部トレースを送信

Page 14: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

27

(補足)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' : 指定されたファイルに詳細内部トレースを送信

28

(補足)mqsireportpolicyコマンド

mqsireportpolicyコマンドの文法

Syntax 1: mqsireportpolicy BrokerName -t policyType -l policyNameSyntax 2: mqsireportpolicy BrokerName -t policyType (-a | -r) Syntax 3: 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' : 指定されたファイルに詳細内部トレースを送信

Page 15: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

29

(補足)mqsiattachpolicyコマンド

mqsiattachpolicyコマンドの文法

コマンド・オプション:

'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' : 指定されたファイルに詳細内部トレースを送信

mqsiattachpolicy brokerSpec -e egName -m messageFlow -t policyType -l policyName [-k application] [-y library]

30

(補足)mqsidetachpolicyコマンド

mqsidetachpolicyコマンドの文法

コマンド・オプション:

'brokerSpec' は以下のいずれかの値

'brokerName' : ローカルに定義されているブローカーの名前

'-n brokerFileName' : リモート・ブローカー接続パラメーターが含まれているファイル (*.broker)

'-i ipAddress -p port -q qMgr' : リモート・ブローカーのホスト名、ポート、およびキューマネージャー

‘-e egName’: 実行グループ名を指定

‘-m messageFlow’: メッセージフロー名を指定

以下は必要に応じて指定

‘-k application’: アプリケーション名を指定

‘-y library’: ライブラリ名を指定

'-w timeoutSecs' : ブローカーの応答を待機する最大秒数 (デフォルトは 60)

'-v traceFileName' : 指定されたファイルに詳細内部トレースを送信

mqsidetachpolicy brokerSpec -e egName -m messageFlow [-k application] [-y library]

Page 16: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

31

WebUIによる管理機能の強化

32

WebUIによる管理機能

Webブラウザからブローカー実行環境の運用管理が可能

MQ Explorer やWASの管理コンソールの機能を補完

WMB V8.0.0.1にて追加された機能

Webユーザー・インターフェース・サーバーを提供

HTTP/HTTPSリクエストを受け付け、要求された管理操作を実行する

デフォルトで有効化されている

主な機能(V8.0.0.1)

ブローカーのステータス表示

起動停止、プロパティ設定は不可

実行グループのステータス表示、起動、停止

アプリケーション/メッセージフローのステータス表示、起動、停止

構成可能サービスの表示

データ・キャプチャ・ストアの表示

Webユーザー・アカウントの表示

管理ログの表示ブローカーブローカー

実行グループ

メッセージフロー

メッセージフロー

HTTP(S)

ブラウザ

WebユーザI/F Server

Page 17: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

33

WebUIによる管理機能の強化

WebUIによる管理機能の強化

メッセージフロー統計(スナップショット統計)の表示が可能

リアルタイムでフローの各種指標を参照可能–メッセージ処理のスループット、平均CPU時間など

統計情報をグラフで表示

メッセージフロー・レベル/ノード・レベルで統計情報の比較が可能

メッセージフロー統計の開始/停止が可能

ワークロード・マネージメント・ポリシーの設定が可能

ポリシーの作成、編集、削除、メッセージフローへの適用

34

WebUIによる管理機能の強化

WebUI追加機能

メッセージフロー統計の開始/停止

デフォルトでは、統計情報の収集はオフ

「ブローカー名」⇒「実行グループ」⇒「アプリケーション」⇒アプリケーション名の右三角形をクリック

統計情報のオン/オフを選択

Page 18: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

35

WebUIによる管理機能の強化

統計情報の表示

統合サーバー(実行グループ)、アプリケーション、メッセージフローにて統計を確認※メッセージ・フロー統計がオン時

「統合サーバー」⇒「統計」タブをクリック

メッセージフローごとに統計情報が表示される

36

WebUIによる管理機能の強化

「メッセージフロー」⇒統計をクリック

統計情報がグラフで表示される

Page 19: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

37

WebUIによる管理機能の強化

グラフ右プルダウン・メニューをクリック

グラフで表示する項目を選択可能

グラフに表示する統計情報を選択可能

38

WebUIによる管理機能の強化

ノードごとの統計情報を表示

メッセージフローに含まれるノードと、統計情報を表示

「メッセージフロー」⇒統計をクリック

Page 20: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

39

WebUIによる管理機能の強化

WebUIによる管理機能の変更点

統計情報フォーマットの追加Web管理ツールから統計情報をオンにした場合、統計情報はJSONフォーマットで出力される

出力先トピック

Web管理ユーザーに必要な権限が追加

SYSTEM.BROKER.WEBADMIN.SUBSCRIPTIONキューへのput/get権限

SYSTEM.BROKER.MB.TOPICトピックへのpub/sub権限

$SYS/Broker/brokerName/Statistics/JSON/SnapShot/executionGroupName/applications/applicationName/libraries/libraryName/messageflows/messageFlowName

40

グローバル・キャッシュ拡張

Page 21: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

41

グローバル・キャッシュとは

複数プロセス間でデータを共有可能な機能としてグローバル・キャッシュを提供(V8.0.0.1)

異なる実行グループや異なるブローカー上のメッセージ・フロー間でデータの共有/再利用が可能

WebSphere eXtreme Scaleから、キャッシングの一部機能を移植

データ共有のためのデーターベースなどの代替ソリューションが不要

複数ブローカーでのリクエスト/リプライ処理や、参照データのキャッシュなどに活用可能

キャッシュされたデータを実行グループに複製して保持することで、障害時のデータロスを防止

JavaComputeノードを使用して、グローバル・キャッシュへアクセス

キーと値を関連付けるマップ形式でデータを保持

mqsicacheadminコマンド、リソース統計、アクティビティー・ログにてキャッシュ情報を確認可能

グローバル・キャッシュ

ブローカーB

ブローカーAメッセージフローB

異なる実行グループ間でデータを共有

異なるブローカー間でデータを共有マップ形式でデータを保存

Value2Key2

Value3Key3

Value1Key1

値キー

メッセージフローA

メッセージフローA

42

(参考)グローバル・キャッシュ

グローバル・キャッシュを利用するために必要なキャッシュ・コンポーネント

キャッシュ・コンポーネントは実行グループ上で動作

コンテナ・サーバーのロケーション情報を管理するコンポーネント

コンテナ・サーバーをモニターし、データの配置を制御

メッセージフローは、カタログ・サーバーからキャッシュ配置情報を取得し、キャッシュにアクセス

グローバル・キャッシュのデータを保持するコンポーネント

説明

カタログ・サーバー

コンテナ・サーバー

コンポーネント

実行グループ1 実行グループ2 実行グループ3

コンテナ・サーバー

カタログ・サーバー

コンテナ・サーバー

メッセージフローメッセージフローメッセージフロー

実行グループ4

メッセージフロー

カタログ・サーバー

コンテナ・サーバー

キャッシュ・データは複製され、コンテナ・サーバーに分散して格納される

グローバル・キャッシュ

Page 22: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

43

グローバルキャッシュ拡張

V8.0.0.2での機能拡張

外部 WebSphere eXtreme Scale グリッドとの連携

ブローカー内部のカタログ・サーバー/コンテナ・サーバーはWXSのグリッドと連携

外部WXSへのSSL接続が可能

キャッシュの残存時間設定

V9.0での機能拡張

マルチインスタンス・ブローカーのサポート

44

外部 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 実行グループ3

コンテナ・サーバー

カタログ・サーバー

コンテナ・サーバー

メッセージフローメッセージフローメッセージフロー

カタログ・サーバー

コンテナ・サーバーグローバル・キャッシュ

連携

Page 23: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

45

外部 WebSphere eXtreme Scale グリッドとの連携

外部グリッドへの接続設定

WXSServer 構成可能サービスを作成

設定プロパティ一覧

mqsicreateconfigurableserviceコマンドもしくはIIB Explorerで設定

mqsicreateconfigurableserviceコマンドでの設定

-c でサービスタイプ「WXSServer」を指定

-o でオブジェクトタイプ「xc10」を指定

-n, -vで上記パラメータを設定

セキュア・グリッドへの接続時に使用するセキュリティー ID 名

mqsisetdbparms コマンドにて指定したID名から”wxs::” を省いたIDを指定

オプションsecurityIdentity

オプション

必須

必須

WXS接続プロパティーを定義用XMLファイルへの絶対パス特定のプロパティー(numberOfBuckets や timeToLive など) を変更可能

overrideObjectGridFile

接続先WXSグリッドのカタログ・サーバーのホスト名カタログ・サーバーをコンマ区切りでリストhostname:port 型式で指定

catalogServiceEndPoints

接続先グリッド名gridName

説明プロパティ

46

外部 WebSphere eXtreme Scale グリッドとの連携

コマンド実行例グリッド名「myGrid」、WXSグリッドのカタログ・サーバーのホスト名「Server.ibm.com」、ポート「 2809」、接続定義ファイル(後述) 「xc10Client.xml」、セキュリティID(後述)「xc10」 を設定する場合

接続にユーザーIDとパスワードを必要とするセキュア・グリッドに接続する場合は、あらかじめmqsisetdbparms コマンドを使用してセキュリティー ID を作成

-n でセキュリティーID名を指定

-u でユーザー名指定

-p でパスワードを指定

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"

mqsisetdbparms BK9 -n wxs::id1 -u userId -p password

Page 24: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

47

外部 WebSphere eXtreme Scale グリッドとの連携

IB Explorerでの設定

構成可能サービス名

構成可能サービスタイプ

設定プロパティ

48

外部 WebSphere eXtreme Scale グリッドとの連携

WXS接続プロパティーを定義用XMLファイル

サンプル定義XMLファイルを以下に提供

特定のプロパティー(numberOfBuckets や timeToLive など) を変更可能

–詳細な設定項目については、WXSのInformationCenterを参照http://publib.boulder.ibm.com/infocenter/wxsinfo/v7r1m1/index.jsp

設定例–外部WXSキャッシュのデータをブローカー内部にコピーしないよう設定する例

numberOfBuckets=“0” を設定

–構成可能サービスにて、objectgrid.xmlへの絶対パスを設定

<backingMap name=".*¥.LUT" template="true" readOnly="false" lockStrategy="NONE" ttlEvictorType="LAST_UPDATE_TIME" timeToLive="3600" copyMode="COPY_TO_BYTES“ numberOfBuckets=“0” />

Windows の場合:<導入ディレクトリ>¥cachesupport¥config¥objectgrid.xml

Linux、UNIXの場合:<導入ディレクトリ>/cachesupport/config/objectgrid.xml

Page 25: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

49

外部 WebSphere eXtreme Scale グリッドとの連携

外部グリッドへの接続

JavaComputeを使用して外部グリッド内のマップへのアクセス

MbGlobalMap オブジェクトを追加し、外部グリッド上のマップの名前を指定

グリッドへの接続に使用する構成可能サービスの名前を指定

DataPower XC10上のマップ「MyMap.LUT」に接続する例

構成可能サービスは「xc10Connection」

MbGlobalMap xc10Map = MbGlobalMap.getGlobalMap("MyMap.LUT","xc10Connection");...String val = (String)xc10Map.get(key);

構成可能サービス名を指定構成可能サービス名を指定

50

外部 WebSphere eXtreme Scale グリッドとの連携

グリッドを識別するためのドメイン・ネームの使用

複数ブローカーにまたがるグローバル・キャッシュを使用する場合、ドメイン・ネームの設定が必要

同じドメイン・ネームを持つサーバーのみが、同じキャッシュ(グリッド)に参加可能

外部WXSに接続する場合は、WXSサーバーと実行グループでドメイン・ネームをあわせる

実行グループのプロパティまたはポリシー・ファイルにて、ドメイン・ネームを設定mqsichangepropertiesコマンドでの設定

–-n で「domainName」 を指定, -vで値を指定

以下の構成の場合の設定例

ブローカー BK1EG1

コンテナ・サーバー

カタログ・サーバー

ホスト名: server1

EG1でのプロパティ設定

・enableCatalogService: true・enableContainerService: true・listenerPort: 2809 ・listenerHost: server1・haManagerPort: 2810・catalogClusterEndPoints:

BK1_server1_2809:server1:2811:2810・connectionEndPoint: server1:2809・domainName: myDomain

mqsichangeproperties BK1 -e EG1 -o ComIbmCacheManager -n enableCatalogService,enableContainerService,listenerPort,listenerHost,haManagerPort,catalogClusterEndPoints,connectionEndPoints,domainName -v true,true,2809,server1,2810, BK1_server1_2809:server1:2811:2810,server1:2809,myDomain

実行グループEG1にプロパティを設定するコマンドの例

Page 26: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

51

外部 WebSphere eXtreme Scale グリッドとの連携

ポリシー・ファイルでの設定–domainName タグを指定

<?xml version="1.0" encoding="UTF-8"?><cachePolicyxmlns="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>

52

(参考)グローバル・キャッシュ

実行グループでのプロパティ設定

mqsichangepropertiesにて実行グループのプロパティーを設定

-bでcachemanagerを指定、-oでComIbmCacheManager を指定

-n -v で関連プロパティーを設定

カタログ・サーバー/コンテナ・サーバーを配置する実行グループに以下を指定

コンテナ・サーバー/カタログ・サーバーを配置する実行グループにて、以下のホスト/ポートを設定

コンテナ・サーバーを配置する場合 true を指定(デフォルト: false)enableContainerService

カタログ・サーバーを配置する場合 true を指定(デフォルト: false)enableCatalogService

説明プロパティ

カタログ・サーバーが使用するエンドポイントを指定

複数のカタログ・サーバーが存在する場合は、コンマ区切りでリスト

※エンドポイントの指定方法は次頁

カタログ・サーバーcatalogClusterEndPoints

カタログ・サーバー/コンテナサーバー

カタログ・サーバー/コンテナサーバー

カタログ・サーバー/コンテナサーバー

設定が必要なコンポーネント

カタログ・サーバーおよびコンテナサーバーが使用するポートを指定

haManagerPort

カタログ・サーバーおよびコンテナサーバーが使用するポートを指定

listenerPort

ローカル・コンピューターのホスト名を指定2つ以上ホスト名を持つ場合に指定

listenerHost

説明プロパティ

※各ポートはそれぞれ固有の番号を指定

Page 27: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

53

(参考)グローバル・キャッシュ

※カタログ・サーバーが使用するエンドポイントの指定方法

–以下の形式で指定

catalogClusterEndPointsの設定例

–他プロパティにて以下を設定した場合

ブローカー名: MBV8BK、listenerHost: localhost、listenerPort: 2809、haManagerPort: 2810

–CatalogPeerPortの指定:2811

catalogClusterEndPointsの指定 ⇒ MBV8BK_localhost_2809:localhost:2811:2810

ServerName:listenerHost:CatalogPeerPort:haManagerPort

BrokerName_listenerHost_listenerPort 形式で指定

・BrokerName: ブローカー名

・listenerHost: listenerHostプロパティで設定したホスト名を指定

・listenerPort: listenerPortプロパティで設定したポート番号を指定

listenerHostプロパティで設定したホスト名を指定

新たにポート番号を指定

haManagerPortプロパティ設定したポート番号を指定

54

(参考)グローバル・キャッシュ

カタログ・サーバーへの接続情報を設定

グローバル・キャッシュにアクセスするすべての実行グループで設定が必要

mqsicacheadmin コマンドでグローバル・キャッシュ情報を取得する場合、以下を設定

connectionEndPoints

プロパティ

接続先カタログ・サーバーホスト名、ポート番号を指定

複数のカタログ・サーバーが存在する場合は、コンマ区切りでリスト

設定形式: listenerHost:listenerPort, listenerHost2:listenerPort2

説明

enableJMX パラメーターが true に設定される場合、使用されるポートjmxServicePort

実行グループがグローバル・キャッシュの管理情報を提供するどうかを指定enableJMX

説明プロパティ

Page 28: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

55

(参考)グローバル・キャッシュ

ポリシー・ファイルによるプロパティ設定

mqsichangebroker もしくはmqsichangepropertiesにてブローカー・プロパティを設定

mqsichagebrokerでの設定 (ブローカー停止後コマンドを実行)-b で「ポリシーファイルの絶対パス」を指定

mqsichangepropertiesコマンドでの設定

-b で「cachemanager 」を指定、-oで「CacheManager」 を指定

-nで「policy」 -v で「ポリシー・ファイルの絶対パス」を設定

コマンド実行後、ブローカーを再起動

mqsichangebroker broker_name -b /path/policy.xml

mqsichangeproperties broker_name -b cachemanager -o CacheManager -n policy -v /path/policy.xml

56

キャッシュの残存時間設定

キャッシュの残存時間設定をサポート(V8.0.0.2)

MbGlobalMapオブジェクト取得時に残存時間(秒)を指定

残存時間を指定したMbGlobalMap オブジェクトを使用して作成されたマップに適用される

マップ内の既存データや別MbGlobalMap オブジェクトのマップは影響を受けない

残存時間はマップ項目の 終更新日時からカウントされる

デフォルトでは無制限

キャッシュによりメモリ消費量が増大することをさけることができるV8.0GA版では、不要なデータは、アプリケーションの中でremoveするか、mqsicacheadminコマンドで

定期的に削除する必要があった

指定方法

MbGlobalMapSessionPolicyクラスに残存時間(秒)を設定

MbGlobalMapオブジェクト取得時に、 MbGlobalMapSessionPolicyオブジェクトを設定

MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60))

Expiryを設定デフォルトは0 (Expiryなし)

Expiryを設定デフォルトは0 (Expiryなし)

Page 29: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

57

キャッシュの残存時間設定

キャッシュの残存時間設定の注意点

残存時間は、MbGlobalMapSessionPolicyオブジェクトにstaticに設定される

異なる存続時間値を設定する場合は、データをキャッシュするごとに値を設定

※以下の場合、残存時間は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");

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");

58

マルチインスタンス・ブローカーのサポート

コンテナサーバーをマルチインスタンス・ブローカーとして構成可能(V9.0.0.0)

自動的にテイクオーバー先でコンテナサーバーが起動しキャッシュが共有される4コンテナサーバーまで設定可能

カタログ・サーバーのマルチインスタンス構成は不可

マルチインスタンスの対象のコンテナサーバーに接続する実行グループでの設定ポリシー・ファイルにてActive/Standbyインスタンスのホスト名を構成

サンプルポリシーファイルを以下に提供

リスナー・ホストにActive/Standbyインスタンスのホスト名を指定

Windows の場合:<導入ディレクトリ>¥sample¥globalcache¥policy_multi_instance.xml

Linux、UNIXの場合:<導入ディレクトリ>/sample/globalcache/policy_multi_instance.xml

<?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>

Page 30: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

59

ビジネス・ルール

60

ビジネス・ルール

自然言語を使用したビジネス・ルールの開発

ツールキットで自然言語 Business Action Language (BAL) を利用してルールを作成可能

ブローカー上でのビジネス・ルールの実行

ODMと同等のルール・エンジンをブローカー内部のJVMで稼動

業務レベルの判断ロジックをESBで実行

データに対するメディエーション処理の集約 ⇒ パフォーマンス向上、レイテンシー縮小

Portal

Rule-basedBusiness Decisions

BPMSystem

EnterpriseApplication

DestinationBusiness

Application

DestinationBusiness

Application

ESB

Page 31: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

61

ビジネス・ルール

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と連携可

Broker Rule Engine

DecisionRepository

(File System)デプロイ

(BARファイル)

Toolkit

フロー開発

Rule Designer

インポート

ビジネスルール デプロイ

Rule ExecutionServer

ODMRepository(Database)

ODM 取出

IIB

実行

62

(補足) IBM Operational Decision Manager

“今、この瞬間”をビジネスに活用! 情報収集から意思決定までを自動化

意思決定および変更検出ツールを組み合わせて、進化、追跡、監査、 およびテストが

容易なビジネス・ルール管理システムを提供

ビジネス・ルール管理システム (BRMS)

・ルールの定義・ルールの分析・ルールの保守※業務用語

ユーザー・ツール

・ルールを保存・ルールの一元

管理・ルールの共有

ルール・リポジトリー

ルールを展開、実行、およびモニター

ルール・エンジン

ビジネス・ルールが存在する典型的な場所

アプリケーションコードに埋め込まれたロジック

If xxxxThen xxxxxElse xxxxx・・・・・・・・・・・・・・

人の頭の中にノウハウとしてあるロジック

プロセスの中に定義されたロジック

各種ドキュメントの中にあるロジック

From : Honmoku To : Smyrna Today : 2005/04/16Order No. RAN No.Part Number : 24011 CJ000Tracking Point StatusInvoice No. B/L No.

Plan Revised Actual Plan Revised Actual …SA00001 24011 CJ000 200 200 60 060415 060415 060415 060415 060415 060415SA00002 24011 CJ000 100 100 60 060415 060415 060415 060415 060415 060415SA00003 24011 CJ000 200 200 40 060415 060415 060415 060415 060417SA00004 24011 CJ000 200 200 00 060415 060418 060415 060418SA00005 24011 CJ000 100 100 00 060415 060418 060415 060418

(60)B/L(40)Vanning CompletionRAN# PART#

ActualQTY

CurrentStatus

PlanQTY

ルールの一元管理による

透明性・保守性の確保

結果として変更への対応柔軟性を実

ルールの可視化ビジネスユーザ自らルールの変更が可能

Page 32: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

63

(補足) IBM Operational Decision Manager

Decision Server

Decision Center

デプロイデプロイ デプロイデプロイ

デプロイデプロイ デプロイデプロイ

Event ExecutionRuntime

Event Designer

Decision Center Console

Decision Center Repository

Decision Center for Business Space

Rule Execution Server

Rule Designer

管理管理Rule Solutions

for Office

ルール・アプリ開発

ルール・アプリ開発実行実行 実行実行

ガバナンスガバナンス

ルール開発ルール開発

ODM基本コンポーネント

イベント・アプリ開発

イベント・アプリ開発

ODM Repository/RES DB

64

ビジネス・ルール

ビジネス・ルール実行のための構成パターン

①IIBコンポーネントのみの構成

IIBコンポーネントのみによるビジネスルールの開発と実行が可能

ルールの変更を適用するためにフローのデプロイが必要

②IIBとODMとの連携構成

ODMの利用により、高度なビジネスルールの開発とルールのガバナンスが可能

ビジネスルールとITインフラ・ロジックの実装の分離

開発ユーザーの分離

デプロイ・タイミングの分離

BrokerToolkit

デプロイ

(BARファイル)ルール&フロー開発 実行

Rule Designer

ルール開発

Rule ExecutionServer DS

Repository

BrokerToolkit

デプロイ

(BARファイル)フロー開発 実行

インポート 更新

Decision Center

ガバナンス

Page 33: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

65

Decision Service (決定サービス)

ツールキット上では、ビジネス・ルールをDecision Service (決定サービス)として定義

Decision Service は、アプリケーション/ライブラリに格納する1コンポーネント(.rules ファイル)

Decision Service 内にルールを定義(複数のルールを定義可)

Decision Service エディターを利用

ルールは、IF-THEN-ELSE の構文で記述

日本語では、「仮定条件」-「その場合」-「それ以外の場合」

アプリケーション/ライブラリー

フロー

スキーマ定義

Decision Service(決定サービス)

決定サービス xxxxx01.rules

xxxxx01.rules

(ルールセットxxxxx01)

ルール 1

ルール 2

決定サービス xxxxx02.rules

ルール1

仮定条件(IF)

xxxxxxxxxxxxxxxxxx

その場合(THEN)

yyyyyyyyyyyyyyyyyy

それ以外の場合(ELSE)

zzzzzzzzzzzzzzzzzz

66

Decision Service (決定サービス)

Decision Service の作成

ツールキット上で「新規」→「Decision Service」を指定

Page 34: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

67

Decision Service (決定サービス)

Decision Service の作成(つづき)

格納するアプリケーション/ライブラリ、Decision Serviceの名前を指定

Decision Serviceで使用するデータの指定後続の手順でも選択可

68

Decision Service (決定サービス)

Decision Service の作成(つづき)

空のDecision Serviceが作成され、Decision Service エディターで開かれる

Decision Service エディター

タブで設定項目を切り替え

Page 35: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

69

Decision Service (決定サービス)

Decision Service の作成(つづき) →データ(パラメータ)の選択

「Parameters」タブでルールの定義に使用するデータ(パラメータ)を指定

※ルールに使用するデータは事前にDFDL/XMLスキーマで定義しておく必要がある

データの選択

ルール内で使用するデータの言語化

70

Decision Service (決定サービス)

Decision Service の作成(つづき) →ルールの定義

「Rule sequence」タブでビジネスルールを定義

「Ctrl+Space」でコンテント・アシストを利用

Page 36: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

71

Decision Service (決定サービス)

Decision Service の作成(つづき) →ルールの定義

コンテント・アシストを利用してルールを組み立てていく

先に指定したデータの構造を展開していくことができる

72

Decision Service (決定サービス)

Decision Service の作成(つづき) →ルールの追加(オプション)

「Add Rule」ボタンでルールを追加できる

Page 37: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

73

Decision Service (決定サービス)

Decision Service ノードの設定

Decision Service をドラッグ&ドロップでメッセージフローに移動⇒Decision Service ノードが配置される

作成したDecision Service

Decision Service ノード

74

Decision Service (決定サービス)

Decision Service ノードの設定 →ロケーションのXPath指定

ドラッグ&ドロップでXPathを生成

XPath 式ビルダーを利用してXPathを生成する

ルールに定義したデータ(パラメータ)に対するフロー内におけるロケーションをXPathで指定

Page 38: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

75

Decision Service (決定サービス)

Decision Service ノードの設定 →プロパティの完成

プロパティの完成

76

Decision Service (決定サービス)

Decision Service ノードが使用するLocalEnvironmentノード通過後、LocalEnvironment.DecisionServices下に以下のエレメントがセットされる

ノード通過後のLocalEnvironment ツリーの出力例

Integer

String

String

データタイプ

ノードによって使用されたルール・セット名ruleSet

条件に合致して実行されたルールの数rulesMatched

ノードによって使用されたDecision Service 名

アプリケーション/ライブラリ内に格納されている場合は、その名前がPrefix に付くdecisionService

説明エレメント名

(0x01000000:Name):DecisionServices = (

(0x03000000:NameValue):decisionService = 'BookOrder2/bookorder2' (CHARACTER)

(0x03000000:NameValue):ruleSet = 'bookorder2' (CHARACTER)

(0x03000000:NameValue):rulesMatched = 1 (INTEGER)

)

Page 39: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

77

Decision Service (決定サービス)

Decision Service を利用するフローの処理イメージ

DecisionService ノード・プロパティ

ルール・エンジン

Root

XMLNSC

BookOrder

e1 e2=0

仮定条件

‘BookOrder’の e1 が X より大きい

その場合

‘BookOrder’の e2 を Y とする。

ルール定義

ノード・プロパティのXPathで

BookOrder の位置を指定

Root

XMLNSC

BookOrder

e1 e2=Y

BookOrder

e1 e2=Y

ルールに基づいてデータを変換

入力ツリー 出力ツリー

78

Decision Service (決定サービス)

ブローカーのセットアップ

DecisionServices を含むフローをブローカーにデプロイする場合、ブローカーの稼動モードを拡

張する必要がある

モード拡張

モード拡張解除

>mqsimode -x DecisionServicesBIP1831I: ブローカー '' にはモード拡張機能 'DecisionServices' があります。BIP8071I: コマンドが完了しました。

mqsimode (BrokerName) -x DecisionServices

※分散環境では、ブローカー名の指定は不要。z/OS環境では、ブローカー名を指定※ブローカー稼動時に動的に反映可※モード拡張を解除にする場合も同じコマンドを実行

>mqsimode -x DecisionServicesBIP1831I: ブローカー '' にはモード拡張機能 '' があります。BIP8071I: コマンドが完了しました。

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.

※モード拡張せずにDecisionServiceノードを含むフローをデプロイすると以下のエラーで失敗する

Page 40: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

79

ODM連携

ODM Rule Designer で作成したルールをツールキットにインポート

インポートするファイルには以下の制約がある

インポートするファイルはルール・アプリケーション・アーカイブ・ファイル(.jar)であること

ルール・アプリケーション・アーカイブのルールセットにはアクション・ルールが含まれること

ルールセットはスキーマXOM(XSD)を持つこと(Java XOM は不可)

ルールセットはスキーマ・タイプのパラメータを持つこと

ODM Rule Designer

ルール・アプリケーションルールを配布可能な形にパッケージしたもの

スキーマXOMルール実行の対象となるデータのモデル

80

ODM連携

インポート手順

ツールキットから「ファイル」→「インポート」→「Decision Services」

→「Rule Application archive file」

ルールを格納するプロジェクトとインポートするルール・アプリケーション・アーカイブ・ファイルを指定

Page 41: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

81

ODM連携

インポート手順(続き)

インポートされるルールセットを確認

インポートしたルールはDecision Service(.rules)として格納

82

ODM連携

インポート手順(続き)

インポートしたルール(Decision Service)はエディターで開けるが編集は不可ドラッグ&ドロップでフローへ配置可能

Page 42: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

83

ODM連携

インポートしたルールからXMLスキーマの抽出も可能

入出力メッセージのメッセージモデルに利用

決定サービスを右クリック→「Extract XML Schema file…」

84

ODM連携

ODM Repository との連携

ODM RES のRepository(RES DB)にブローカー・ランタイムからアクセスし、

ルールを取得可能

RES(管理サーバー)に接続することでルールの変更通知を受信可能

Rule Designer で開発したルールをインポートして作成したフローでのみ設定可能

実行グループ

J2SE Rule Engine

変更通知 最新版

取得

RES DB

ビジネス・ルール

RES(管理サーバー)

Page 43: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

85

ODM連携

ブローカー設定

JDBCProviders 構成可能サービスの作成

RES DBに接続するための情報(データベース名、サーバー名、ポート番号、セキュリティIDなど)をJDBCProviders 構成可能サービスに設定する

mqsicreateconfigurableservice / mqsichangeproperties コマンドを利用

–主な設定パラメータ:databaseName、serverName、portNumber、securityIdentity、connectionUrlFormat、type4DatasourceClassName

RES DBにアクセスするユーザーIDとパスワードの設定

JDBCProviders 構成可能サービスのsecurityIdentityプロパティに指定した値をリソース名としてアクセス・ユーザーID / パスワードを設定する

mqsisetdbparms コマンドを利用

DecisionServiceRepository 構成可能サービスの編集

デフォルトで定義されているDecisionServiceRepository 構成可能サービスを利用する

–複数のDecisionServiceRepository 構成可能サービスを定義することは不可

JDBCProviderNameプロパティに先に定義したJDBCProviders 構成可能サービス名を指定

RES(管理サーバー)する場合は、以下のプロパティを指定

–resManagementHost :ルール実行サーバーが稼動するホスト名

–resManagementPort :ルール実行サーバーの管理コンソール用ポート番号(ルール実行サーバーのmanagement.tcpip.port と同じ値)

86

ODM連携

フロー設定

DecisionServiceノードの以下のプロパティをチェック

ノード・プロパティ「Use DecisionServiceRepository configurable service」

Page 44: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

87

.NET サポートの拡張

88

.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コードによるメディエーション処理の実装が可能

Page 45: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

89

.NETサポートの拡張

.NETInput ノードの設定

「基本」タブの「アセンブリー名」と「クラス名」で使用するアセンブリー/クラスを指定

.NETのアセンブリーはツールキットにインポートし、BARファイルにパッケージしてランタイムにデプロイ可能

ランタイム上のアセンブリーを直接参照する場合は絶対パスで指定

主なタブ/プロパティ

受信メッセージの解析(パース)に使用するドメイン、メッセージ・モデル等を指定入力メッセージの構文解析

妥当性検査の有無、失敗時の処置を指定妥当性検査

Visual Studioのソリューション(*.sln)を指定Visual Studio

モニター・イベントの構成を設定モニター

AppDomain名やアセンブリーID(バージョン、国/地域別環境、公開鍵トークン)を指定拡張

使用するアセンブリー(dll)とクラスを指定基本

説明タブ

90

.NETサポートの拡張

.NETInput ノードの設定

「Visual Studio」タブでVisual Studioのソリューション・ファイル(*.sln)を指定しておくと、.NETInputノードのダブルクリックで指定したソリューションを開くことができる

ダブルクリックで起動

Visual Studio

Page 46: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

91

.NETサポートの拡張

.NETInput ノードのサンプル・コードの提供

A polling-based .NETInput nodeMSMQのキューをポーリングし、受信したメッセージを後続ノードに渡す処理を実装

An event-driven .NETInput nodeイベント・ベースでMSMQからメッセージを受信し、後続ノードの渡す処理を実装

Visual Studio のソリューション形式で提供

<IIBv9InstDir>¥sample¥DotNet¥DotNetInput¥VS2010¥SampleDotNetInputSolution¥DotNetInputSolution.sln

92

.NETサポートの拡張

MSMQと連携する.NET サンプル・フローの提供

ツールキットから「ヘルプ」→「サンプルおよびチュートリアル」のビューを開き、「トランスポートおよび接続」→「.NETInput Node for MSMQ sample」

MQから固定長メッセージを受信し、XMLに変換してMSMQに送信するフロー

MSMQからメッセージを受信し、メッセージ処理を行い、MSMQに返信するフロー

MSMQからXMLメッセージを受信し、固定長メッセージに変換してMQに送信するフロー

Page 47: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

93

.NETサポートの拡張

.NET アプリケーションと連携するパターン(メッセージフローの雛形)の提供

同期RFCが受信する AP BAPI を処理し、Microsoft Dynamics CRM Account Entity に対する「作成」、「取得」、「更新」、「削除」の操作にマップ

ユーザー定義の MQ、ファイル、または HTTP の入力メッセージを処理し、Microsoft Dynamics CRM Account Entity に対する「作成」、「取得」、「更新」、および「削除」の操作にマップ

「Microsoft Dynamics CRM Account Entity 出力: 動的トランスポート入力」 パターン

「Microsoft Dynamics CRM Account Entity 出力: 静的 SAP 入力」 パターン

94

BPMとの連携

Page 48: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

95

BPMとの連携

IIBとIBM Business Process Manager (BPM) と連携

BPMからIIBへのWebサービス呼び出しの連携開発が可能

BPMからIIBの統合サービス(SOAP/HTTPのWebサービス)を呼び出す連携

BPMの開発ツールProcess DesignerとIIBのツールキット間で、開発構成物の交換が可能

Process DesignerとIIBツールキット間で構成物を交換するときには、BPMのエクスポート・ファイル(.twx)を使用

Webサービス呼び出しに制約があるBPMとの連携開発が容易

ProcessDesigner

IIBツールキット

BPM

IIB

Process Server

IIB

開発 ランタイム

.twx

.twx1. Webサービスの入力、出力パラメータ定義をエクスポート

4. プロセスをデプロイ

5. WebサービスSOAP/HTTP呼び出し3. Webサービスの実装(オペ

レーション名やエンドポイント情報)定義をエクスポート

2. フロー(統合サービス)をデプロイ

96

IBM Business Process Manager

ビジネス・プロセスの管理、可視化を行って、業務の改善を実施していくためのIT基盤

BPMNベースの人のタスクのワークフロー開発に向いたLombardiの機能と、BPELベースのシステム間の複雑な連携に向いたWebSphere Process Serverの機能を含むバージョンがある

開発ツールProcess DesignerIntegration Designer (Advancedのみ)

開発物レポジトリーProcess Center開発物のバージョン管理(スナップショットなど)作成物のテストが可能

実行環境Process Server

IBM BPM

Versioned Assets

Process Center

Process Designer

Process Server

BPM Repository

BPM Standard

BPM Advanced

BPMNのフロー

BPELのフロー

Page 49: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

97

BPM開発ツール Process Designer

Process DesignerBPMNベースでプロセス定義を開発するツール プロセス定義

ヒューマン・タスクのアクティビティ

使用するビジネス・オブジェクトやUIの定義を含む

システム・タスクのアクティビティ

Webサービスを呼び出す統合サービスなどを含む

TOOLKIT

プロセス作成に使用する部品箱

ProcessApp

プロセス定義を含むプロジェクト

システム・タスクのレーン

ヒューマン・タスクのレーン

98

BPMの開発の用語

Webサービスなど外部システムと統合するためのサービス定義

システムタスクのアクティビティーで使用される

統合サービス

BPMNベースで定義するビジネスプロセスの定義

複数のレーン上のアクティビティのフローとして定義される

プロセス

BPMの構成物をやり取りするファイル (.twx)

IIBとの連携では、TOOLKITのスナップショットをエクスポート、インポートするのに使用する

BPMエクスポートファイル

Process AppやTOOLKITをある時点でキャプチャーしたもの

バージョン管理の単位

スナップショット

複数のProcess Appから共用される部品をまとめた部品箱(ライブラリー)

Process Appと同様に、Process Centerに格納され、バージョン管理される

Process AppからどのTOOLKITのどのバージョンを使用するかの依存関係を関連

づけて使用される

TOOLKIT

プロセスのアクティビティ間を流れるデータの型の定義体

XSDの複合タイプ定義に相当

ビジネス・オブジェクト

1つ以上のプロセスや、その他の構成物(UI定義、ビジネス・オブジェクトなど)を含むコンテナー (プロジェクトに相当する)

Process Centerに格納され、バージョン管理される

Process App

Page 50: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

99

BPMとの連携

BPMとIIBの連携を開発するときの方法

BPMからIIBに統合を開始する

トップダウンのみ可能

制約事項

IIBに新規の統合サービスを作成することのみが可能、既存の統合サービスにオペレーションを

追加することは不可

BPMからエクスポートするときのBPMの統合サービスは、 TOOLKITとしてエクスポートし、入力、出力パラメータだけを設定する(他の設定を加えるとIIBにインポートできない)

WSDLへの制約

document, literal, wrappedタイプでなければいけない

スキーマには、ターゲット名前空間と接頭部が指定されていること

スキーマでは「要素の接頭部」が「qualified」に設定されていること

インターフェースごとに 一つのoperationの使用を推奨

XMLスキーマのサブセットがサポートされている(すべてのタイプがサポートされているわけではない)

IIBで実装したいBPMの統合サービスとビジネス・オブジェクトは、それだけを収めた専用のTOOLKITに含める

UI部品などを含むTOOLKITとは分離して作成し、IIBとの交換用のTOOLKITにする

IIBの統合サービス:SOAP Webサービスのプロバイダーを専用に実装するプロジェクトWMB V8.0.0.1より導入

100

BPMとの連携

BPMからの統合の開始

Process Designer上の操作

1. IIBで実装したい統合サービスを格納するTOOLKITを作成

2. TOOLKIT内にビジネス・オブジェクトを定義

3. TOOLKIT内に統合サービスを定義

– 統合サービスの入力、出力となるビジネス・オブジェクトだけを指定

4. TOOLKITのスナップショットをエクスポート.twxファイルとして作成

IIB開発者にエクスポートファイルを渡す

IIBツールキット上の操作

i. 「統合サービスの作成から開始」から新しい統合サービスを作成

– 統合サービス名を指定

– インポートする.twxファイルを指定

– 実装するBPM統合サービスを選択

ii. サービスを実装し、デプロイ

iii. 統合サービスをエクスポート(.twxファイルの更新版ができる)

BPM開発者にエクスポートファイルを渡す

Process Designerの操作

5. .twxファイルをインポート (新しいスナップショットが作成される)

6. Precess AppからTOOLKITへの依存関係を設定し、

プロセスを実装

ProcessDesigner

IIBツールキット

.twx

.twx

ProcessDesigner

IIBツールキット

.twx

Page 51: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

101

Process Designerの操作1

TOOLKITの作成

Process DesignerのProcess Center画面からTOOLKITを新規に作成

TOOLKITの名前と接頭辞を指定

TOOLKITが作成される

Designerで開く

新規作成

102

Process Designerの操作2

TOOLKITにパラメータのビジネス・オブジェクトを作成

ビジネス・オブジェクトの新規作成

ビジネス・オブジェクトの名前を指定

ビジネス・オブジェクトのパラメータ(フィールド)を設定して、完成

Page 52: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

103

Process Designerの操作3

TOOLKITに統合サービスを作成

変数の入力と出力だけを設定

統合サービスの新規作成

統合サービスの名前を指定

入力、出力の変数を指定

ビジネス・オブジェクトを選択

104

Process Designerの操作4

TOOLKITのスナップショットを作成して、エクスポート

ブラウザが起動して、ファイルのダウンロードからファイルを保存

スナップショットの作成

スナップショットの名前を指定

IBM BPMエクスポートを選択

Page 53: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

105

IIBツールキットの操作ⅰ

エクスポートされたファイルを使用して統合サービスを作成

名前を指定

統合サービスを新規に作成

BPM統合サービスから作成を選択

.twxファイルを選択

106

IIBツールキットの操作ⅱ

統合サービスを実装して、デプロイ

フローを実装する

サービスタブを表示

Page 54: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

107

IIBツールキットの操作ⅲ

統合サービスをエスポート

BPMエクスポートを選択

ホスト名とポートを指定

108

Process Designerの操作5

IIBツールキットでエクスポートしたファイルをProcess Designerでインポート

インポート

新しいスナップショットとしてインポートされる

インポートするファイルを指定

Page 55: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

109

インポートしたBPMの統合サービス

インポートしたスナップショットのTOOLKITの統合サービス

統合サービスにWebサービスの統合コンポーネントが、IIBのサービスを呼び出すように構成され

ている

Webサービスの統合コンポーネントが構成されて、IIBのWebサービスのエンドポイントが設定されている

エクスポート時のスナップショットではコンポーネントの設定は空

110

Process Designerの操作6

TOOLKITをProcessAppの依存関係に追加して、プロセスから使用

プロセスからTOOLKITの依存関係追加で、IIBのサービスを含むTOOLKITを追加する

追加された統合サービスをドラッグ & ドロップしてシステムタスクとして使用してプロセスを作成

Page 56: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

111

BPMとIIBのデータタイプのマッピング

BPMとIIBのデータタイプのマップ

BPMでサポートされているデータタイプと互換性のあるタイプを使用

タイプマップ表

* BPMでは、DateもTimeも内部的にはdatetimeとして取り扱われている

*

*

+ BPMで定義されている型

++

112

BPMとの連携

BPMの統合サービスの変数定義時の注意点BPMの統合サービスの直接の入力、出力のパラメータのタイプにDate、Timeを使用しない

BPMのProcess DesignerからIIBへの開発連携

メリットBPMで使用できるデータタイプでインターフェースが作成されるので、連携が容易

–タイプマッピング可能なデータのみが使用される

デメリットIIBで作成される統合サービスは、1つのオペレーションだけを持つサービスとなってしまう。複数の操作(オペレーション)を提供するまとまったサービスをIIBで実装したい場合は、この開発連携方法は向かない。

–これを実装するには、BPMで使用できるタイプのみのWSDLで定義されたWebサービスをIIBで実装し、Process Designerの従来の方法でWebサービスをディスカバーして開発する。(ボトムアップ開発)

BPMの統合サービスの入力、出力につけたパラメータのタイプをDateとTimeにすると、BPMからのWebサービス呼び出し時に、これらのタイプはxsd:datetimeとなる。一方、IIBにインポートしたWebサービスのパラメータのタイプはxsd:dateとxsd:timeにため、タイプが一致せずにエラーと

なる。

ビジネス・オブジェクトの中のパラメータでは、IIB側もxsd:datetimeになるので、Date、Timeを使用可能

GA版での挙動

Page 57: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

113

サービス・ディスカバリー

114

サービス・ディスカバリー

DBやMQに接続して構成情報を取得し、DBやMQへの操作のサービス定義を作成するサービス・エディターを提供

サービス定義の目的DBやMQへの操作をサービスとして捉えて、論理的なインターフェースや物理的な接続情報を共通の形式(WSDL)で記述して、開発者間で交換したり、カタログ化できるようにする

DBサービスIIBとDBテーブル間で行われる操作をサービスとして捉えてそのインターフェースを定義したものテーブルに格納されているビジネス・オブジェクトへのCRUD操作をサービスのオペレーションとして定義これまでComputeノードで直接SQL文を記述していたものを、オペレーションを実装したESQLのプロシージャー呼び出しで実装が可能

MQサービスMQのキュー経由で実装されているサービスのインターフェースを定義したもの要求や応答のメッセージ定義や要求や応答のキュー名、キューマネージャー名のエンドポイント情報を含むこのサービスを使用するときにMQInputやMQOutputのノードが作成される

統合レジストリー作成したMQサービスをブローカーの統合レジストリーに登録して、他の開発者がMQサービス定義を自分のワークスペースにインポートして利用が可能

DB

サービスエディター

WSDL

テーブル情報の取得

キュー情報の取得

WSDL

MQサービス DBサービスQMgr

DBやMQへの操作をサービスとして定義

統合レジストリー

登録

Page 58: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

115

サービス・ディスカバリー

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ノードなどが配置される

116

DBサービスのディスカバリー手順

データベース・サービスを新規に作成

「ファイル」→「新規」→「データベース・サービス」

サービスを作成するライブラリー名とサービス名を指定

Page 59: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

117

DBサービスのディスカバリー手順

データベース・サービス エディターで、データベース定義、リソースを選択

既存のデータベース定義を選択するか、ここで新規に作成

テーブルを1つ選択

(複数テーブルは選択できない)

サービス操作の定義へ進む

118

DBサービスのディスカバリー手順

サービスの操作を追加

DB操作をサービスのオペレーション化するステップ

出力列を選択する

操作タイプと操作名を指定

条件タブで、検索条件を指定する

SQLが表示される

Page 60: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

119

DBサービスのディスカバリー手順

インターフェースの内容を確認して、保存

作成されたDBサービス

レスポンスのデータタイプ

ここで、サービス定義を保存

120

DBサービスの使用

DBサービスは、フローのComputeノードから使用

作成されたDBサービスをComputeノードにドラッグ&ドロップ

使用するオペレーションを選択

Page 61: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

121

DBサービスの使用

生成されたDatabaseService.esqlComputeノードのESQLで使用するプロシージャーが定義されている

retrieveCustomerのESQLプロシージャー定義

122

DBサービスの使用

Computeノード内のDBサービスの使用例(開発者がコーディングする)ComputeノードのESQLから生成されたサービスのオペレーションを呼び出して使用

作成されたDBサービスの呼び出し

DBサービスの戻り用の変数定義

出力ツリーへのマップ

Page 62: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

123

MQサービスの作成手順

MQサービスの作成

「ファイル」→「新規」→「MQサービス」

サービスを作成するライブラリー名とサービス名を指定

124

MQサービスの作成手順

キューマネージャーに接続して、キューを選択

要求・応答タイプか一方向タイプかを選択

キューマネージャーへの接続パラメータを指定して、接続のテスト

キューを選択

Page 63: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

125

MQサービスの作成手順

MQヘッダーの値、メッセージのタイプを指定

すでに定義してあるタイプを選択

MQヘッダーの値を指定

メッセージの定義のタイプを選択

確認して、保存

メッセージのタイプを選択

126

MQサービスの使用

作成されたMQサービスをフローエディターのドラッグ&ドロップする

MQサービスをドラッグ&ドロップする

サービスの実装か呼び出しを選択する

呼び出しの場合、MQヘッダーノードとMQ Outputノードが作られる

設定されるプロパティー:MQOutput-キュー・マネージャー名-キュー名

実装の場合、MQ Inputノードが作られる

設定されるプロパティー:-入力キュー名-メッセージ・ドメイン

MQヘッダー構成で指定したMQMDの設定

Page 64: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

127

MQサービスの公開

MQサービスをブローカーの統合レジストリーに公開

MQのサービスを他の開発者が利用できるようにする

MQサービスが登録される

公開するブローカーを選択

統合レジストリー・ビューが表示される

128

公開されたMQサービスのインポート

ブローカーに公開されているMQサービスをインポートする

他の開発者が、MQサービスをブローカーからインポートして使用できる

右クリックで、Importを選択

MQサービスと関連したスキーマがインポートされる

ライブラリーを選択

Page 65: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

129

XMLデータ分析

130

XMLデータ分析

大規模で複雑なデータ・モデルから簡潔なモデルを作成するための機能

実データで使用されているフィールドを元に、必要なフィールドを選択してモデル化する

業界標準モデルから、社内標準モデルへ抜粋するケースなど

XMLデータを分析しモデル化するための機能を提供

既存XMLデータから、より扱いやすいスキーマまたはリレーショナル・モデルを生成することが可能

XMLデータ構造の解析ツールを提供

複数XMLデータを解析しデータ分析モデルを生成

XMLデータの構造や、エレメントの出現頻度などを把握することができる

エメント名によるフィルタリングが可能

解析ツールにより生成されたモデルから、新規に作成するモデル(ターゲット・モデル)を定義ドラッグ & ドロップで構造を定義

XMLデータをターゲット・モデルの形式にマッピングするフローを生成可能

ターゲット・モデルからマッピング・ノードを含むフローやスキーマをライブラリに生成

データ分析パースペクティブを新規に提供

XMLデータを分析、フィルターするためのビューやツールを提供

モデルを生成するためのエディターを提供

Page 66: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

131

XMLデータ分析 利用例

背景

HL7 v3などの業界標準のドキュメント・スキーマは、さまざまなドキュメント形式に

対応できるよう柔軟性を持って設計されている

しかし、それらの柔軟性と引き換えに、構造が非常に複雑

実際のデータで必要となる部分は、一部のフィールドのみであるので、軽いモデルで扱いたい

診療ドキュメントの実データ(XMLデータ)の理解のための解析

どのフィールドが使用されているか、目的の情報はどのフィールドにあるか?

Clinical Document Architecture (CDA)は再帰的な構造があるため、

スキーマからの解読は大変

解析をサポートするツールを用いて実データを解析

目的の情報を抽出したターゲット・モデルの作成

必要な診療情報を識別して、抜き出すことが目的

一般的には、診療データの大部分は不要なもの

ターゲット・モデル作成をサポートするツールを使用ターゲットモデルのXMLスキーマを生成

データをターゲットモデルの形式に変換するフローを生成

XMLファイル

分析モデル

データ分析

ターゲット・モデル作成

ターゲット・モデル

132

XMLデータ分析

ブローカー・データ分析パースペクティブ

XMLデータを分析、フィルターするためのモデル、ビュー、ツールを提供

アプリケーション・ビュー

データ分析モデル・ビュー

アプリケーション・ビュー

データ分析モデル・ビュー

データ分析モデルのプロパティビュー

データ分析モデルのプロパティビュー

データ分析プロジェクト・ビューデータ分析プロジェクト・ビュー

データ・フィルター・ビューデータ・フィルター・ビュー

データ・パス・ビューデータ・パス・ビュー

サンプル文書ビューサンプル文書ビュー

Page 67: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

133

XMLデータ分析

XMLデータの分析から変換ツール作成までの流れ

①データ分析プロジェクトの作成

既存スキーマファイルを指定

②既存XMLデータからデータ分析モデルを生成

データ分析モデルは、XMLデータに含まれるエレメントから生成される

③データ分析モデルからエレメントを精査

④新規に作成するモデル(ターゲット・モデル)を作成・編集

リレーショナル・モデルの生成も可能

⑤ターゲット・モデルからデータ分析ツールを生成データ分析ツールは入力XMLをターゲットモデルに変換するフローを含むライブラリー

XMLファイル データ分析モデル エレメントの精査 ターゲット・モデル データ分析ツール

② ③ ④ ⑤

スキーマ・ファイル

ターゲット・モデルのスキーマ

134

XMLデータ分析

①データ・分析プロジェクトの作成

データ分析プロジェクトの作成「ファイル」→「新規」→「データ分析プロジェクト」

プロジェクト名を指定

「参照」→スキーマ・ファイルを指定

データー分析プロファイルの作成分析対象XMLデータのスキーマ・ファイルを指定

サンプル・データ分析プロファイル(サンプル・スキーマ・ファイル)を提供

Page 68: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

135

XMLデータ分析

.dapファイルが作成され、データ分析プロジェクトに関連付けられる

136

XMLデータ分析

②既存XMLデータからデータ分析モデルを生成

分析対象のXMLデータを指定

XMLが格納されているディレクトリを指定

ディレクトリ中のXMLが分析の対象となる

ディレクトリを指定

分析の要約が表示される

Page 69: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

137

XMLデータ分析

③データ分析モデルからエレメントを精査

データ分析モデル・ビューに、分析したXMLデータから導出されたモデルが表示される

分析した文書インスタンスに含まれるエレメントが表示される

分析した文書インスタンスに含まれるエレメントが表示される

サンプル文書ビューに選択したエレメントがXMLデータのどの部分に該当するか

表示

サンプル文書ビューに選択したエレメントがXMLデータのどの部分に該当するか

表示

サンプル文書ビューのエレメントをダブル・クリックすると、分析したXMLデータの

構造に該当する箇所が表示される

サンプル文書ビューのエレメントをダブル・クリックすると、分析したXMLデータの

構造に該当する箇所が表示される

138

XMLデータ分析

エレメントのフィルタリング

データ・フィルタービューにて、

エレメント名を入力

データ・フィルタービューにて、

エレメント名を入力

フィルタリング結果が表示されるフィルタリング結果が表示される

データ・パス・ビューにフィルタリングされたエレメントが表示される

データ・パス・ビューにフィルタリングされたエレメントが表示される

Page 70: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

139

XMLデータ分析

エレメントのハイライト

フォーカスしたエレメントに対する各エレメントの出現の割合が表示される

フォーカスしたエレメントに対する各エレメントの出現の割合が表示される

右クリック→「すべての共存エレメントを強調表示を選択」

140

XMLデータ分析

エレメントのハイライト

サンプル文書を基準にしての強調表示や、時刻を基準にしての強調表示も可能

サンプル文書を基準にしての強調表示や、時刻を基準にしての強調表示も可能

Page 71: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

141

XMLデータ分析

④ターゲットモデルの作成、編集

「データ分析プロジェクト・ビュー」→「新規ターゲット・モデルの作成」をクリック

ターゲット・モデルのファイル名を入力

ルート・オブジェクト名とターゲット・ネームスペースを入力

142

XMLデータ分析

ターゲット・モデルの作成データ分析ビュー/モデルビュー、フィルタービューからドラッグアンドドロップ

ターゲット・モデルを編集ターゲット・モデルを編集

Page 72: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

143

XMLデータ分析

⑤ターゲット・モデルからデータ分析ツールを生成ターゲット・モデル → 「生成」をクリック

144

XMLデータ分析

データ分析ツール

入力データをターゲットモデルに変換するためのライブラリが生成される

メイン・フロー

サンプルに含まれるメイン・フロー例(MQInput –サブフロー – MQOutput)

サンプルに含まれるメイン・フロー例(MQInput –サブフロー – MQOutput)

ライブラリにサブフローやスキーマが生成される

ライブラリにサブフローやスキーマが生成される

Page 73: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

145

XMLデータ分析

生成されたデータ変換用マップ

データ分析モデルからターゲット・スキーマへの変換データ分析モデルからターゲット・スキーマへの変換

146

XMLデータ分析

(参考)サンプルの提供書籍データのXMLファイルとスキーマを提供

「ヘルプ」→「ようこそ」→「サンプル」→「メッセージ変換」→「DataAnalytics」

Page 74: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

147

その他の機能強化

148

WAS管理コンソールからの管理

WASの管理コンソールから、IIBの統合ノード・リソースを管理可能

統合ノードや統合サーバーの状況の表示だけでなく、開始、停止などの操作が可能

可能な管理操作既存の統合ノードへの接続 、接続のテスト

統合サーバーおよびそのプロパティーと状況 (実行中または停止中) の表示 、開始、停止

統合サービスの状況、プロパティーの表示 、開始、停止

統合サーバー毎にデプロイされている–アプリケーションおよびそのプロパティーと状況の表示 、開始、停止

–統合サービスおよびそのプロパティーと状況の表示 、開始、停止

–ライブラリーおよびそのプロパティーの表示

–メッセージ・フローおよびその状況の表示 、開始、停止

サポート対象のWASWindows, Linux, UNIXV7.0 (7.0.0.9 – 7.0.0.29 and future fix packs), V8, V8.5

Express、Network Deploymentを含む

z/OSV7.0 (7.0.0.9 – 7.0.0.27 and future fix packs), V8, V8.5

IIB V9の用語統合ノード: V8までのブローカー統合サーバー: V8までの実行グループ統合サービス: V8のサービス

(Webサービス専用のフローやそのプロジェクト)

Page 75: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

149

WAS管理コンソールからの管理

必要な構成

WASにIBM Integration フィーチャーを導入

InstallationManagerを使用して、以下のレポジトリーファイルからフィーチャーを導入

–wmb.admin.repository.zip

–wmb.admin.repository_update.zip (更新用のレポジトリーで、GA版には含まれていない)

WASのプロファイルをmanageprofilesコマンドを使用して拡張

デフォルト・プロファイルの例

デプロイメント・マネージャー・プロファイルの例

IIBのWebユーザー・インターフェース・サーバーを構成

新規のブローカーを作成すると、デフォルト4414のポートで構成されている

WASの管理コンソールから、IIBの統合ノードに接続

統合ノードのエントリーを新規作成して、統合ノードのリストに追加

manageprofiles -augment -profileName AppSrv01 -templatePath "C:¥IBM¥WebSphere¥AppServer¥profileTemplates¥default.broker"

manageprofiles -augment -profileName DMgr01-templatePath "C:¥IBM¥WebSphere¥AppServer¥profileTemplates¥dmgr.broker"

150

WAS管理コンソールからの管理

WAS管理コンソールからの管理 (統合ノード、統合サーバー、統合サービス)

初めに、統合ノードを新規に追加

開始、停止が可能

Page 76: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

151

WAS管理コンソールからの管理

統合サーバー毎のアプリケーションやアプリケーション内のフローの管理

アプリケーションのプロパティ画面

統合サーバーのプロパティ画面

152

GUIマッピングの機能強化

マップからデータベース・ルーチン変換を使用して、ストアード・プロシージャーの呼び出しが可能

マップの入力データをもとにプロシージャーを呼び出して、結果を出力データにマップ可能

ネストされたマップにおいて、–ソースツリーからプロシージャーのIN, INOUTパラメータにマップ

–プロシージャーのOUT, INOUT, ResultSet, 戻り値から、デスティネーションツリーにマップ

呼び出すプロシージャーは、マップに変換追加時にデータベース定義から選択

データベース定義は、ルーチンを含めて事前に作成しておく

V9では、DB2のみをサポート

Group変換が追加された

複数の入力レコードを指定したキーでグルーピングして、構造を変更

Page 77: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

153

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

ストアードプロシージャー

154

GUIマッピングの機能強化

ストアード・プロシージャーを選択

プロシージャーを選択

選択したプロシージャーのパラメータを確認

Page 78: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

155

GUIマッピングの機能強化

プロシージャーの入力パラメータへのマップと出力からのマップを設定

データベース・ルーチン変換が追加される

呼び出しと戻りの接続を追加する

呼び出しのマップ IN, INOUTパラメータへデータをマップ

戻りのマップ INOUT, OUTパラメータからデータをマップ

156

GUIマッピングの機能強化

Result Setを戻すプロシージャーの場合

CREATE OR REPLACE PROCEDURE APPL01.GET_CUSTOMER (IN CTYPE CHAR(4))

LANGUAGE SQLDYNAMIC RESULT SETS 1

BEGIN

DECLARE cursor1 CURSOR WITH RETURN FOR select ID, NAME, CTYPE, ADDRESS, LASTUPDTfrom APPL01.CUSTOMERwhere CTYPE = GET_CUSTOMER.CTYPEorder by ID;

open cursor1;

END

ストアードプロシージャー

Result Setあり

Page 79: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

157

GUIマッピングの機能強化

Result Setを戻すプロシージャーの場合の設定

ResultSetにふくまれる列を選択

プロシージャーを選択

戻されるResultSet

158

GUIマッピングの機能強化

Result Setを戻すプロシージャーの戻りマップ

ResultSet

戻りのマップ

For eachのネストされたマップ

Page 80: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

159

GUIマッピングの機能強化

Group変換

複数の入力レコードを、指定したキーでグルーピングすることが可能

itemをitemTypeでグルーピングして構造を変えたい

Group変換を使用

160

GUIマッピングの機能強化

Group変換の設定

itemのitemTypeをキーにしてグルーピング

itemとitemType間をGroup変換

itemとitemTypeの子の要素のマッピング

Group変換のプロパティー設定

Page 81: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

161

Web関連機能の拡張

国際化ドメイン名(IDN:Internationalized Domain Name)のサポート

非英語ホスト名の利用をサポート

SSLクライアント認証鍵別名(Key alias)の指定

SSLクライアント認証時に使用する証明書を指定できる

複数のSSLサーバーと接続するためキーストア内に複数の証明書がある場合に有効

SOAPRequest / HTTPRequest ノードの「SSLクライアント認証識別名」に指定

LocalEnvironment で動的に設定も可

SOAPRequestノードの場合

HTTPRequestノードの場合

LocalEnvironment.Destination.SOAP.Request.Transport.HTTP.KeyAlias

LocalEnvironment.Destination.HTTP.KeyAlias

162

Web関連機能の拡張

HTTPリスナーの Certificate Revocation Lists (CRLs) サポート

HTTPリスナーがSSLサーバーとして証明書を受け取った際にCRLチェックが可能に

V8では、フローがSSLクライアントとして証明書を受け取った際のCRLチェックは可能

設定ブローカー・レベルのHTTPリスナーの場合

実行グループ・レベルのHTTPリスナーの場合

mqsichangeproperties IB9NODE -b httplistener -o HTTPSConnector -n crlFile -v file_path

mqsichangeproperties IB9NODE -e exgroup1 -n crlFile -v file_path

Page 82: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

163

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

164

ODBC設定の検証機能

統合ノード(ブローカー)開始時に、ODBC環境が正しく設定されていることを確認

対象OS: Linux、UNIX

統合ノード(ブローカー)をmqsistartで起動したときに、mqsicvpコマンドを自動的に実行

mqsicvpコマンドが、ODBC環境設定を確認

ODBC環境設定の確認項目

ODBCINI環境変数が設定されている場合、以下の問題状況を検出して、syslogに警告メッ

セージを出力ODBCINI 環境変数が指すファイルが存在しないか、そのファイルに対する読み取りまたは書き込み権限

がブローカーにない場合

ODBCSYSINI が設定されていない場合

ODBCSYSINI が設定されているがこの変数が指すディレクトリーに odbcinst.ini という名前のファイルが含まれていないか、そのファイルに対する読み取りまたは書き込み権限がブローカーにない場合

IE02_PATH 環境変数が設定されていない場合

ODBC 環境検査が正常に完了すると、コマンドは、mqsisetdbparms コマンドを使用してブローカーに関連付けられた、odbc.ini ファイルにリストされたすべてのデータ・ソースに接続を確認

Page 83: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

165

集約ノードの機能強化

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"

166

CICSノードのトランザクション・サポート

CICSRequest ノードでトランザクション・モードのサポート

CICSRequest ノードで1フェーズ・コミットのローカル・トランザクション管理が可能

CICSに対する複数のリクエストを同じトランザクション下で制御(コミット or ロールバック)可能

V8 まではトランザクション・モードの指定なし

ノード・プロパティの「拡張」タブ⇒「トランザクション・モード」プロパティで指定「自動」(デフォルト) ⇒ Input ノードのトランザクション・モードに依存

「はい」 ⇒ トランザクション管理あり

「いいえ」 ⇒ トランザクション管理なし

–V8からマイグレーションした場合は「いいえ」

CICS TS / z/OS

CICSトランザクション

Page 84: IBM Integration Bus V9public.dhe.ibm.com/software/dw/jp/websphere/esb/ib9_ws/...IBM Integration Bus V9 第2章新機能の紹介 2 内容 ワークロード・マネージメント

167

CICSノードのアクティビティ・ログ・サポート

CICS アクティビティ・ログ

以下のようなCICSとの処理状況をアクティビティ・ログとして取得可能

アクティビティ・ログ

V8 から追加された、メッセージ・フローの処理状況や外部リソースへのアクセス状況が簡潔にわかるロギングの機能

IB エクスプローラーからログの表示、CSV ファイルへの書き出しが可能

CICS プログラムが正常に呼び出された

CICS プログラムの呼び出しが失敗した

メッセージ内のセキュリティIDがCICS にプロパゲートされた

CICS プログラム呼び出しでセキュリティ・エラーが起きた

CICS サーバーへの接続で通信エラーが発生した

フロー処理中に新しいトランザクションが開始された

CICS リソース処理がコミットされた

CICS リソース処理がロールバックされた

CICS がアベンドした

CICS 呼び出しがタイムアウトした

CICS サーバーへの接続でSSLエラーが発生した

168

実行グループのユーザー指定(z/OS)

実行グループに対し、ユーザーIDを指定可能

ブローカーの起動ユーザーとは異なるユーザー(権限)でリソースにアクセスできる

デフォルトではブローカーの起動ユーザーが実行グループにも適用される

指定するユーザーIDはブローカー起動ユーザーと同じプライマリー・グループに所属している必要

がある(共通のリソースにもアクセスするため)

ブローカー用のファイル・システムやデータセットに対してもブローカー起動ユーザーと同等の権限を持つ必要がある