第9章 データ変換のスタートガイド
システムとデータのインテグレーションに伴う課題の 1 つは、コンポーネントシステムがさまざまなデータ形式で動作することが多いことです。つまり、受信システムが認識できる形式 (または言語) にメッセージを変換しなければ、システムから別のシステムにメッセージを送信できません。データ変換とは、この変換を表す用語です。
この章では、事前定義された Camel ルートにデータ変換を含める方法を説明します。Camel ルートは、XML データを生成するソースエンドポイントから JSON データを消費するターゲットエンドポイントにメッセージを送信します。ソースの XML データ形式をターゲットの JSON データ形式にマップするデータ変換コンポーネントを追加して定義します。
9.1. データ変換サンプルプロジェクトの作成
新規 Fuse Integration プロジェクトを作成します (File
New Fuse Integration Project を選択します)。 ウィザードで次の情報を入力します。
- プロジェクト名: starter
- デプロイメントプラットフォーム: Standalone
- ランタイム環境: Karaf/Fuse on Karaf
- Camel バージョン: デフォルトを使用
- テンプレート: Empty - Blueprint DSL
-
準備済みデータサンプルを
https://github.com/FuseByExample/fuse-tooling-tutorials/archive/user-guide-11.1.zip
からダウンロードします。 -
data
フォルダーとそこに含まれる 3 つのファイルを、user-guide-11.1.zip
アーカイブから Fuse Integration プロジェクトのsrc
ディレクトリー (starter/src/data
) に展開します。 - Project Explorer ビューで、スタータープロジェクトを展開します。
-
Camel Contexts
src/main/resources/OSGI-INF/blueprint/blueprint.xml
をダブルクリックして、ルートエディターの Design タブでルートを開きます。 - Source タブをクリックして基礎となる XML を表示します。
<route id="_route1"/>
を以下のコードに置き換えます。<route id="_route1"> <from id="_from1" uri="file:src/data?fileName=abc-order.xml&noop=true"/> <setHeader headerName="approvalID" id="_setHeader1"> <simple>AUTO_OK</simple> </setHeader> <to id="_to1" uri="file:target/messages?fileName=xyz-order.json"/> </route>
Design タブをクリックして、ルートのグラフィカル表示に戻ります。