WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

データ変換のメッセージ・フローの構成

何らかの方法で、非互換システム上で稼働しているアプリケーション間でメッセージを交換する場合、メッセージがブローカーを通過する際にデータ変換を行うよう、ご使用のシステムを構成することができます。

送信側と受信側のシステム上で、次の 2 つの値のいずれかが異なっている場合には、データ変換が必要かもしれません。

  1. CCSID。 コード化文字セット ID は、コード化文字とそのコード・ポイント割り当てのセットを参照します。 WebSphere® Message Broker は、すべてのオペレーティング・システム上で、WebSphere MQ がユニコードとの変換を行う、どのコード・ページのアプリケーション・メッセージをも、処理および構成することができます。 コード・ページ・サポートに関する詳細については、WebSphere MQ バージョン 7 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・リファレンス」セクションを参照してください。

    WebSphere Message Broker と一緒に他の製品を使用する場合、この性質は影響を受ける場合があります。 コード・ページのサポートに関するさらに詳しい情報が必要な場合は、使用するデータベースを含め、他の製品の資料を調べてください。

  2. エンコード。 この設定は、マシンが数をエンコードする仕方を定義します。2 進整数、パック 10 進整数、および浮動小数点数があります。 文字として表現される数は、他のすべてのストリング・データと同様に処理されます。

送信側および受信側のシステム上のネイティブの CCSID およびエンコードが同じ場合には、データ変換処理を呼び出す必要はありません。

WebSphere Message Broker および WebSphere MQ は、非類似システム間でのメッセージ交換をサポートする、データ変換機能を提供します。 どの機能を使用するかの選択は、メッセージ・フローによって処理されるメッセージの特性に左右されます。

テキストのみを含むメッセージ

使用するメッセージがすべてテキスト (文字データまたはストリング) WebSphere MQ メッセージである場合、このセクションをお読みください。

WebSphere MQ が、データ変換を行うために送信側と受信側の両方のアプリケーションが稼働しているシステムをサポートしている場合には、最も効率的なデータ変換オプションを提供する WebSphere MQ 機能を使用してください。

WebSphere MQ のデフォルトの振る舞いでは、ローカル・システム CCSID およびエンコードを指定するキューにメッセージを置きます。 MQGET を発行するアプリケーションは、キュー・マネージャーがそのローカル CCSID およびエンコードへの変換を、get 処理の一部として提供することを要求することができます。

次のようにして、このオプションを使用します。

  1. メッセージがテキストのみになるよう設計します。 COBOL を使用している場合には、数値フィールドを USAGE DISPLAY に移動して、それらをストリングの形式にしてください。
  2. MQMD の Format フィールドを MQFMT_STRING (値 MQSTR) に設定します。
  3. 受信側アプリケーションで、MQGMO_CONVERT を指定して MQGET を呼び出します。 望むなら、メッセージがブローカーによって受け取られるときに、変換することができます。それは、MQInput ノードの「変換」プロパティーを「はい」に設定する (チェック・ボックスを選択する) ことによって行います。

この方法で WebSphere MQ が提供するものよりも高度なデータ変換が必要な場合には (例えば、サポートされないコード・ページへの変換)、WebSphere MQ データ変換出口を使用してください。 これらに関する詳細については、WebSphere MQ バージョン 7 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・リファレンス」セクションを参照してください。

数値を含むメッセージ

メッセージに数値データが含まれる場合、またはテキストのみだが WebSphere MQ メッセージではない場合、このセクションをお読みください。

これらのメッセージを事前定義できる場合 (つまり、その内容および構造が既知であり予測可能な場合) には、WebSphere Message Broker および MRM の提供する機能を使用してください。

すべてのアプリケーション・メッセージは、ブローカーによって Unicode で処理されます。 入力時に Unicode に変換されて、出力時に Unicode から変換されます。 出力メッセージが構成される仕方に影響を及ぼすように、メッセージ・フローを構成できます。

次のようにして、このオプションを使用します。

  1. 出力メッセージを MRM ドメインで定義する。 以下のいずれかの方法で、この定義を作成することができます。
    • 外部メッセージ定義 (例えば C ヘッダーまたは COBOL コピーブック) をインポートします。
    • メッセージ定義エディターでメッセージ・モデルを作成します。
  2. このメッセージを受け取って処理するように、メッセージ・フローを構成します。
    1. MQInput ノードを組み込む場合には、このノードによって変換を要求しないでください。
    2. Compute ノードをメッセージ・フローに組み込んで、必要な内容とともに出力メッセージを作成してください。
      • 出力メッセージが WebSphere MQ メッセージである場合には、Compute ノードで ESQL をコード化し、MQMD 内のターゲット・システム用の CCSID およびエンコードを設定してください。

        例えば、次のようにして、実行するターゲット z/OS® システムの値を、CCSID 37 およびエンコード 785 に設定します。

        SET OutputRoot.MQMD.CodedCharSetId = 37;
        SET OutputRoot.MQMD.Encoding = 785;
      • 出力メッセージが WebSphere MQ メッセージでない場合には、Compute ノードで ESQL をコード化し、「プロパティー」フォルダーでターゲット・システム用の CCSID およびエンコードを設定してください。
自己定義メッセージ

メッセージが自己定義である場合、このセクションをお読みください。

XML および JMS ドメイン内では自己定義メッセージがサポートされます。 これらのメッセージはすべてテキストです。それらが WebSphere MQ アプリケーションから発生するか、またはそれに送られる場合には WebSphere MQ が処理することができます。 そうでない場合は、メッセージが Compute ノードを通過するときに、メッセージ内の「プロパティー」フォルダーの「CCSID およびエンコード」フィールドを設定することによって、WebSphere Message Broker 機能を使用します。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:31


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | ac12380_