データ統合プロジェクト向けのインタラクティブなデバッガー
MapForce 2016では、革新的なデータマッピングデバッガーが導入されました。この機能により、データ統合プロジェクトに取り組む開発者は、データマッピングの処理結果をステップごとに詳細に確認し、あらゆる複雑さのプロジェクトを診断し、完璧にすることができます。このデータマッピングデバッガーは、ユーザーにデータ統合およびETLプロジェクトの内部動作を、これまでになかったほど詳細に理解する機会を提供します。
このデバッガーは、MapForceのデータマッピング機能と連携し、あらゆる組み合わせに対応します XML、XBRL、JSON、データベース、プレーンテキストファイル、EDI、Excel、またはWebサービスから取得したデータ, 以下のようなマッピングが含まれます。連鎖的なマッピング、複数の入力または出力コンポーネントを持つマッピング、およびユーザー定義関数を含むマッピング。

MapForceのデータマッピングデバッガーは、ブレークポイントと条件付きブレークポイントに対応しており、複数の手動ステップ機能を提供しています。これにより、ユーザーはデータマッピングを手動でデバッグしたり、ブレークポイントに到達した後も処理を継続したりすることができ、必要な詳細情報を確認することができます。
MapForce 2016のデバッガーに導入された新機能や機能について理解するために、サンプルデバッグセッションを一緒に見ていきましょう。以下に示されたスクリーンショットは、MapForceのサンプルファイルに付属している「ClassifyTemperatures」というデータマッピングのものです。このマッピングは、温度と日付のリストを含む入力ファイルを読み込み、高温と低温に対する分類の説明を追加した出力ファイルを生成します。

MapForceのデバッガーには、ソースコードのデバッグに慣れている開発者にとって使い慣れたブレークポイント機能が搭載されています。ブレークポイントは、入力または出力の任意のノードに設定でき、その時点でマッピングの実行を一時停止させることができます。また、条件付きブレークポイントもサポートされています。
ブレークポイントの設定
デバッグの準備として、画像の中央にある「greater関数」の結果を示す箇所にブレークポイントを設定します。そのためには、接続を示す矢印を右クリックするだけで設定できます。 新しいブレークポイントは赤色で強調表示されます。

同じ右クリックメニューを使用することで、ユーザーはダイアログを開き、この箇所を条件付きブレークポイントとして設定できます。この関数の結果は、真(true)または偽(false)のいずれかになります。ブレークポイントを設定することで、関数が「true」を返す場合にのみ、データマッピングの実行を停止するようにできます

インタラクティブなデバッグ機能
メニューのオプションを選択すると、インタラクティブなデバッグが開始されます

MapForceに組み込まれた実行エンジンは、マッピング処理を開始し、ブレークポイントに到達し、その条件が満たされるまで処理を続けます。すべての途中経過の値は、マッピングのデザイン上で赤色で表示されます。大規模で複雑なマッピングの場合、途中経過の値の表示が画面上で密集しすぎて見づらくなることがあります。そのため、各値をマッピングウィンドウ内のより見やすい場所に移動させることができます。
強調表示されている単語「true」は、実行が一時停止される前に生成された最後の値を示しています。

デバッグ支援ウィンドウは自動的に開き、実行中に発生したすべての事柄に関する詳細情報を提供します。コンテキストウィンドウでは、入力ファイルから処理されたノードや、評価された関数などが表示されます。

「data[7]」という記述は、7つの温度データが処理されたことを示しています。
「履歴」ウィンドウは、ブレークポイントが設定された関数全体で生成されるすべての結果を自動的に表示します。最初の6つの値に対しては、結果は「偽」でした。7番目の値で結果が「真」になった時点で、条件が満たされ、プログラムの実行が一時停止しました。

「履歴」ウィンドウは非常に強力な機能です。マッピング内の任意の他の接続ノードを選択すると、そのウィンドウに、実行中にそのノードを通過したすべての値のリストが表示されます。例えば、以下のように、「より大きい」関数への入力接続を選択できます

現在、履歴ウィンドウには、そのノードを経由したすべての値のリストが表示されます

デバッグセッション中、マッピングウィンドウと出力ウィンドウを切り替えながら、これまでに生成された部分的な出力を確認することができます。以下にその例を示します

この段階で、私たちはいくつかの選択肢があります
- デバッグセッションを停止します
- 次に設定されたデバッグブレークポイントに到達するまで、プログラムの実行を継続します
- デバッグ実行を、手動でステップごとに進め、中間値などを注意深く確認し続けてください
デバッグ中に、マッピング設計にエラーや欠陥が見つかった場合、すぐに処理を停止し、必要に応じてマッピングを修正した後、修正版を再度デバッグすることができます。新しいブレークポイントを設定したり、手動でステップ実行するオプションを選択して、生成される中間値を一つずつ確認したり、論理的な処理のグループをまたいでステップ実行することも可能です。
何度かステップを進めると、「high」という記述がif-else関数によって生成され、出力コンポーネントに渡されていることが確認できます。

私たちは何度かさらに進み、部分的な出力結果を再度確認しました。

現在、元の高温に関する詳細な説明が12行目に表示されており、さらに追加の結果が生成されました。
Altova MapForceは、受賞歴のあるグラフィカルなデータマッピング、変換、統合ツールであり、XML、データベース、EDI、XBRL、テキストファイル、Excel、JSON、および/またはWebサービスなど、あらゆる種類のデータ形式間のマッピングを可能にします。MapForceのデータマッピングデバッガーは、従来の大型データ統合システムに比べて非常に低コストで利用できる、視覚的なマッピングツールであり、そのユニークな機能が特徴です。