WebSphere Transformation Extender WMQ連携とリソース・レジストリー ハンズオン演習 WebSphere Service
by user
Comments
Transcript
WebSphere Transformation Extender WMQ連携とリソース・レジストリー ハンズオン演習 WebSphere Service
WebSphere Service WebSphere Transformation Extender WMQ連携とリソース・レジストリー ハンズオン演習 日本アイ・ビー・エム株式会社 WebSphereサービス WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service シナリオ この演習で行う作業は図のようになります – ファイルをWMQのキューへPUT – WMQのキューからからファイルをGET PUT Shift_JIS WTX GET Shift_JIS WMQ サーバー UTF-8 2 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service CCSIDの考慮点 WMQのメッセージのヘッダー部分をMQMDと呼びます MQMDには受信側でメッセージの文字コード変換をする際に使用する CodedCharSetID(CCSID)が入っています 受信側では、このCCSIDを元にMQGETのオプションで指定した値に変換さ れます デフォルトでは、WTXから出力されるメッセージのMQMDにはCCSIDが付加 されていないため、WMQによってキューのデフォルトのCCSIDが付加されま す この演習ではCCSIDが943(Shift_JIS)のテキスト・ファイルをデフォルト設定 が1208(UTF-8)のキューへPUTする方法を説明します 3 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service WebSphere MQアダプターの使い方 この演習ではWMQアダプターを使ってWMQサーバーと通信します 実行マップのGET関数、または、PUT関数を使ってWMQアダプターを呼び出 します – GET(アダプター別名, アダプター・コマンド) – PUT(アダプター別名, アダプター・コマンド, アダプターへ渡すデータ) • アダプター別名はヘルプのResource Adapters>IBM WebSphere MQ Adapter>Command aliasに書かれているAlias(MQS)です • アダプター・コマンドはヘルプのResource Adapters>IBM WebSphere MQ Adapter>IBM WebSphere MQ Adapter commandsに書かれています – 例:PUT(“MQS”, “-QMN Qmgr1 -QN q1 -HDR”, inputData) 4 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service WTXによるMQ連携 この演習ではCSV変換の演習で作った マップ・ソース・ファイルを使ってMQ連 携を行います WTXでCCSIDを943に指定するために MQMDヘッダー構造を作成します MQMDヘッダーの作成 実行マップの作成 – Type Designerを使います そして、WMQへPUTします テスト – Map Designerを使います 次に、WMQからGETします – Map Designerを使います リソース・レジストリーの作成 最後に、リソース・レジストリーを使って 固有リソース名を外部化します – リソース・レジストリーを使います 5 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service アイテムの作成 アイテムの作成はType Designerを 使って行います MQMDヘッダーの作成 実行マップの作成 テスト リソース・レジストリーの作成 6 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service Type Designer Type Designerを起動します – スタート>すべてのプログラム>IBM WebSphere Transformation Extender 8.1>Design Studio>Type Designer 開始画面で「キャンセル」ボタンをクリッ クします 7 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service サンプル・タイプ・ツリーを開く Type Designerにはサンプルのタイプ・ツリーが提供されています – メニューから「ファイル>開く」で以下のディレクトリーにあるmq.mttを開きま す • (WTX_root)¥examples¥adapters¥mq¥mq.mtt – 今度は、メニューから「ファイル>名前を付けて保存」でmq.mttを別の作業 ディレクトリーに保存します • この演習では作業用ディレクトリーにコピーしたmq.mttを使って作業をします 8 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service MQMDのアイテム 右図はmq.mttのタイプ・ツリーを表示し たところです – この演習ではヘッダー付のメッセー ジ・ツリーを扱うので、Messageカテ ゴリーの下のGeneric>WithMDを参 照します – MessageDescripterの部分を展開し てみるとMQMDのフィールドが並ん でいるのがわかります – この演習ではCCSIDのみ編集したい ので省略したMessageDescripterを 作成します – フィールドはすべて固定長なので必 要のないフィールドは1フィールドにま とめた方が実行時間を短縮できます 9 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service MQMDの構造 以下はMQMDのフィールド構造を16進表示したものです 4D FF 4D 41 36 00 44 FF 51 4D 73 00 20 FF 53 51 D2 00 20 FF 54 20 46 00 02 00 52 51 20 00 00 20 4D 00 00 00 20 47 08 00 00 20 52 02 00 00 00 31 00 00 00 00 20 00 00 00 00 20 00 00 00 00 20 00 08 AF 00 20 00 00 03 00 20 00 00 00 00 20 00 00 00 00 20 00 これらのフィールドのうち実際に必要なフィールドが どれかはユーザー・アプリケーションの仕様に依存し ます 左上から順番に StrucId Version Report MsgType Expiry Feedback Encoding CodedCharSetId Format Priority Persistence この演習ではStrucIdからCodedCharSetIdまでを 使用します MQメッセージについては、WebSphere Developer Domainの以下の記事を参照してください。 http://www-06.ibm.com/jp/software/websphere/developer/mq/basic/pdf/7.pdf 10 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 新規Headerグループの作成 Headerグループの下に新しくMessageDescriptor3を作ります Fieldカテゴリーの下に新しくOthersアイテムを作ります 名前 アイテム・サブクラス 解釈 サイズ(データ長) Others テキスト バイナリー 最小332/最大332 MessageDescriptor3をダブルクリックして開き、以下のコンポーネントを#番 号順に追加します コンポーネント #1 StructId #6 Feedback #2 Version #7 Encoding #3 Report #8 CodedCharSetId #4 MsgType #9 Others #5 Expiry 11 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 新規Messageグループの作成 Messageカテゴリー>Genericグループの下に新しくWithCCSIDグループを 作ります 今作ったWithCCSIDグループをダブルクリックして開き、以下のコンポーネン トを#番号順に追加します コンポーネント #1 MessageDescriptor3 #2 MessageData 12 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service Textアイテムの変更 メッセージの言語を日本語にします – Textアイテムのプロパティーでアイテ ム・サブクラス>各国語を「日本」にし ます 13 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service Type Designerの終了 mq.mttを保存して、Type Designerを 終了します MQMDヘッダーの作成 ここまででアイテムの作成は終わりです 実行マップの作成 テスト リソース・レジストリーの作成 14 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 実行マップの作成 ここからはMap Designerを使って作業 していきます MQMDヘッダーの作成 実行マップの作成 テスト リソース・レジストリーの作成 15 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service Map Designer Map Designerを起動します – スタート>すべてのプログラム>IBM WebSphere Transformation Extender 8.1>Design Studio>Map Designer 開始画面で「新規マップ・ソース・ファイ ルを作成する」を選択して、「OK」ボタン をクリックします ファイル名を「MQ_Demo.mms」にして 「保存」ボタンをクリックします 16 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service マップの作成 以下の2つのマップを作成します – MQ_Get – MQ_Put 17 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 実行マップの作成(1) MQ_Putに入力カードを作ります – カード名:「FileInput」 – タイプ・ツリー:「mq.mtt」 出力カードMQOutputに以下のルールを定 義します 出力 ルール – 入力元:Fileを選択 StrucId =“MD□□“ – パス名:「name8sjis.txt」 Version =1 Report =NONE MsgType =8 Expirly =-1 Feedback =NONE Encoding =NONE CodedCharSetId =943 Others =NONE Text =FileInput – タイプ:Textフィールドを選択 次に、MQ_Putに出力カードを作ります – カード名:「MQOutput」 – タイプ・ツリー:「mq.mtt」 – タイプ:WithCCSIDグループを選択 – 出力先:IBM WebSphereMQ (server)を 選択 – コマンド:「-QMN (キュー・マネージャー 名) -QN (キュー名) -HDR」 -HDRオプションを付けると MQMDヘッダー情報もマップに 取り込まれるようになります 18 □□は半角スペース2バイトの意味 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 出力カードの編集結果 19 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 実行マップの作成(2) MQ_Getに入力カードを作ります – カード名:「MQInput」 – タイプ・ツリー:「mq.mtt」 – タイプ:Textフィールドを選択 – 入力元:IBM WebSphereMQ (server)を 選択 出力カードFileOutputに以下のルールを定 義します 出力 ルール FileOutput =MQInput – コマンド:「-QMN (キュー・マネージャー 名) -QN (キュー名) -HDR」 次に、MQ_Putに出力カードを作ります – カード名:「FileOutput」 – タイプ・ツリー:「mq.mtt」 – タイプ:Textフィールドを選択 – 出力先:Fileを選択 – パス名:「name8mq.txt」 20 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 実行マップの作成終了 以上で実行マップの作成作業は終了で す MQMDヘッダーの作成 実行マップの作成 テスト リソース・レジストリーの作成 21 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service テスト テストはMap Designerを使って行いま す ここからはビルド、実行、結果の確認を 行います MQMDヘッダーの作成 実行マップの作成 テスト リソース・レジストリーの作成 22 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service ビルド 実行可能マップMQ_Get、MQ_Putの2 つをビルドします – メニューから「マップ>すべてビルド」 でもビルドできます 23 WebSphere TX ハンズオン演習資料 ビルド 2007/11/14 © 2007 IBM Corporation WebSphere Service マップ実行(1) 実行可能マップMQ_Putを選択して、 ツール・バーの「マップ実行」ボタンをク リックします ダイアログが開かれますので、「マップ は正常に終了しました」と書かれている ことを確認してください マップ実行 – 「キャンセル」で閉じます 24 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service マップ実行(2) 実行可能マップMQ_Getを選択して、 ツール・バーの「マップ実行」ボタンをク リックします ダイアログが開かれますので、「マップ は正常に終了しました」と書かれている ことを確認してください マップ実行 – 「キャンセル」で閉じます 25 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 実行結果の確認(1) 実行マップMQ_Getを選択し、「実行結 果表示」ボタンをクリックします 実行結果ダイアログでFileInputが選択 されていることを確認し、「16進数で表 示」にチェックをつけて「OK」ボタンをク リックします 26 WebSphere TX ハンズオン演習資料 実行結果表示 2007/11/14 © 2007 IBM Corporation WebSphere Service 実行結果の確認(1) 結果は次のようになります – CCSIDの部分が「AF 03 00 00」となっています 27 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 結果の確認(2) MQ Exprolerで確認します – スタート>すべてのプログラム>IBM WebSphere MQ>WebSphere MQ Explorerで開きます – キュー・マネジャー名の下の「キュー」をクリックして、右側にキュー名を表 示させます – キュー名を右クリックして、「メッセージの参照」を選択します 28 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service 結果の確認(2) 結果は以下のようになります – コード化文字セットIDの値が「943」になっていることを確認します 29 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service MQ_Getについて MQ_Getの入力カードはデフォルトでは、 トランザクション成功時にキューにメッ セージを保存しておく設定になっていま す これを「削除」に変更すれば、キューの メッセージが消えます 30 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service テスト終了 テストはこれで終了です このハンズオン演習ではデバッグ手順 については触れません MQMDヘッダーの作成 実行マップの作成 テスト リソース・レジストリーの作成 31 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service リソース・レジストリーの作成 リソース・レジストリーの作成をします MQMDヘッダーの作成 実行マップの作成 テスト リソース・レジストリーの作成 32 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service リソース・レジストリーとは リソース・レジストリーは入力カード、出力カード、マップ・ルール(RUN、PUT、 GET、DBLOOKUP、DBQUERY、EXIT)などで別名を使って値を外部化す るためのものです この演習ではリソース・レジストリーを作成し、別名を使って値を外部化する作 業を行います リソース・レジストリーのヘルプはResouce Registryになります 33 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service リソース・レジストリー リソース・レジストリーを開きます – スタート>すべてのプログラム>IBM WebSphere Transformation Extender 8.1>Design Studio>リ ソース・レジストリー リソース・ファイル – リソース:別名のリスト – サーバー:仮想サーバー名のリスト – 仮想サーバー毎に別名に入れる値を 定義する 構成ファイル – リソース・ファイルで実際に使用する 仮想サーバーを定義する 34 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service リソース・ファイルの作成 新規リソース・ファイルを作成します – リソース・ファイルを右クリックして、「新規」を選択 します – ファイル名を「mqdemo_resource」とします リソースを作成します qm_name QMGR1 OFF q_name LQ OFF – 名前を「qm_name」とします – 編集ダイアログの値がブランクのままなのを確認 します – サーバー毎に値を別々に保存していることがわか ります サーバーを作成します – この演習ではlinux_serverは使いませんので 「キャンセル」ボタンをクリックして編集ダイアログ を閉じます – 名前を「win_server」とします – 同様にしてサーバー「linux_server」を追加します 値を入れます – win_serverをダブルクリックします – 編集ダイアログで右表の値を入力し、「OK」ボタン をクリックします 35 暗号化 – 同様にしてlinux_serverをダブルクリックします – サーバーを右クリックして、「追加」を選択します リソースの値 – リソースを右クリックして、「追加」を選択します – 同様にしてリソース「q_name」を追加します リソース WebSphere TX ハンズオン演習資料 リソース・ファイルを保存します – mqdemo_resourceを右クリックして、「保存」を選 択します 2007/11/14 © 2007 IBM Corporation WebSphere Service 構成ファイルの作成 新規構成ファイルを作成します – 構成ファイルを右クリックして、「新規」を選択しま す 構成ファイルを保存します – mqdemo_configを右クリックして、「保存」を選択 します – ファイル名を「mqdemo_config」とします 構成します – 構成ファイルにはLauncher用とCommand Server用、それ以外用の3種類があります – Launcherの場合はシステム・リソースを「追加」し てシステム・リソース毎に定義します – この演習ではMap Designerからテストするので 「グローバル」を定義します – グローバルをダブルクリックします – リソースの編集ダイアログで「追加」ボタンをクリッ クします – リソース・ファイル「mqdemo_resource」を「選択」 します – 仮想サーバーに「win_server」を選択し、「OK」ボ タンをクリックします 36 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service マップの設定 別名の使い方 – 別名は%...%で囲むことで使えます – 詳細はヘルプのResource Registry>Using resource names以下を参照 してください マップに別名を入力します – MQ_Getの入力カードMQInputを右クリックして「編集」を選択します – 入力ルールのGET>入力元>コマンドに「-QMN %qm_name% QN %q_name% -HDR」と入力します – 同様にしてMQ_Putの出力カードMQOutputを「編集」します – 出力ルールのPUT>出力先>コマンドに「-QMN %qm_name% QN %q_name% -HDR」と入力します 37 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service Map Designerを使ってテスト Map Designerの実行オプションにリソース・レジストリー構成ファイルを追加 します – メニューから「ツール>オプション」を選択します – ダイアログの左ペインから「実行オプション」をクリックします – ダイアログの右ペインにて設定ファイルに「mqdemo_config.mrc」を選択し ます 実行マップMQ_Put、 MQ_Getをビルドします 実行マップMQ_Put、 MQ_Getをテストします 38 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service リソース・レジストリーの作成終了 これでリソース・レジストリーの作成は終 了です Map Designer以外でテストするときは、 ヘルプのRsource Registry>Resource configuration files>Specifying configuration files for a map server以下を参照してくださ い MQMDヘッダーの作成 実行マップの作成 テスト リソース・レジストリーの作成 39 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation WebSphere Service まとめ このハンズオン演習では、IBM WebSphere MQアダプターを使う方法につ いて学びました また、リソース・レジストリーを使って値を外部化する方法について学びました 詳細な情報について知りたいときはヘルプを参照してください 40 WebSphere TX ハンズオン演習資料 2007/11/14 © 2007 IBM Corporation