第9章 データ変換のスタートガイド

システムとデータのインテグレーションに伴う課題の 1 つは、コンポーネントシステムがさまざまなデータ形式で動作することが多いことです。つまり、受信システムが認識できる形式 (または言語) にメッセージを変換しなければ、システムから別のシステムにメッセージを送信できません。データ変換とは、この変換を表す用語です。

この章では、事前定義された Camel ルートにデータ変換を含める方法を説明します。Camel ルートは、XML データを生成するソースエンドポイントから JSON データを消費するターゲットエンドポイントにメッセージを送信します。ソースの XML データ形式をターゲットの JSON データ形式にマップするデータ変換コンポーネントを追加して定義します。

9.1. データ変換サンプルプロジェクトの作成

  1. 新規 Fuse Integration プロジェクトを作成します (FileNewFuse Integration Project を選択します)。

    ウィザードで次の情報を入力します。

    • プロジェクト名: starter
    • デプロイメントプラットフォーム: Standalone
    • ランタイム環境: Karaf/Fuse on Karaf
    • Camel バージョン: デフォルトを使用
    • テンプレート: Empty - Blueprint DSL
  2. 準備済みデータサンプルを https://github.com/FuseByExample/fuse-tooling-tutorials/archive/user-guide-11.1.zip からダウンロードします。
  3. data フォルダーとそこに含まれる 3 つのファイルを、user-guide-11.1.zip アーカイブから Fuse Integration プロジェクトの src ディレクトリー (starter/src/data) に展開します。
  4. Project Explorer ビューで、スタータープロジェクトを展開します。
  5. Camel Contextssrc/main/resources/OSGI-INF/blueprint/blueprint.xml をダブルクリックして、ルートエディターの Design タブでルートを開きます。
  6. Source タブをクリックして基礎となる XML を表示します。
  7. <route id="_route1"/> を以下のコードに置き換えます。

    <route id="_route1">
      <from id="_from1" uri="file:src/data?fileName=abc-order.xml&amp;noop=true"/>
      <setHeader headerName="approvalID" id="_setHeader1">
        <simple>AUTO_OK</simple>
      </setHeader>
      <to id="_to1" uri="file:target/messages?fileName=xyz-order.json"/>
    </route>
  8. Design タブをクリックして、ルートのグラフィカル表示に戻ります。

    説明