データ連携に必要なマッピング設定のコツ
この記事では、IM-LogicDesignerのマッピング設定のコツについて紹介します。
マッピング設定では、ロジックフローに配置したエレメント同士のデータのやり取りを定義します。処理を行うために必要な入力値とその結果となる出力値を正確に紐づけていくことで、データ処理の効率化につながります。マッピング設定はロジックフロー処理の要となりますので、正しく設定できるように必要な知識を身につけておきましょう。
マッピング設定とは
IM-LogicDesignerのロジックフロー作成では、エレメントと呼ばれるコンポーネントを配置し、実際の処理を定義していきます。エレメントとは、ロジックフローを構成する各処理の総称で、フロー上では長方形で表示されます。
エレメントには、それぞれ処理を行うために必要な入力値とその結果となる出力値が定義されています。エレメントを並べただけでは、エレメント自体に値が定義されているだけで、それぞれのエレメント同士の値のやり取りについては定義されていません。そのため、マッピング設定により、エレメント同士のデータのやり取りを定義していきます。
エレメントの概要
マッピング設定を行うにあたり、チュートリアルガイドでエレメントの概要についても押さえておきましょう。エレメントは、フローの制御を行う「制御要素」と実処理を行う「タスク」の2種類の性質に分類されます。「開始」制御要素などの一部のエレメントには、マッピング設定の項目は表示されません。どのエレメントで、どのような入出力値を定義しなければならないのかを確認しましょう。
マッピング設定とは
チュートリアルガイドでは、エレメントやデータの受け渡しについて説明しています。イメージ図を見ながら、マッピング設定について理解を深めましょう。
マッピング設定(基本編)
マッピングは、各エレメントのプロパティ画面からマッピング設定画面を開いて行います。入力値にカーソルを合わせて、出力値にドラッグするだけの簡単な操作です。
マッピング設定を行う
チュートリアルガイドでは、ログ出力のデータをテキストメールで送信するというロジックフローのマッピング設定を行います。エレメントの制御要素とタスクを意識しながら、実際にマッピング設定を行ってみましょう。
マッピングのパターン
マッピングには、用途に応じてさまざまな値の受け渡しパターンが存在します。ここでは、基本的なパターンについて紹介します。
同じ型同士のマッピング
入力値が文字列(string型)で、出力値も文字列(string型)に受け渡すシンプルなマッピング方法です。
違う型に変換するマッピング
入力値は文字列(string型)ですが、出力値は整数(integer型)に型を変換して受け渡すマッピング方法です。参考までに上記の「マッピング設定を行う」で紹介したチュートリアルガイドでは、型の異なる値同士をマッピングして型を変換しています。
配列に対するマッピング
入力値が文字列(string型)で、出力値は整数(integer型)の階層に含まれる配列要素に受け渡すマッピング方法です。配列に関するマッピング方法は、他にも多くのパターンがあります。
関数を含むマッピング
入力値が文字列(string型)と整数(integer型)を関数で加算し、その結果を出力値として整数(integer型)に受け渡すマッピング方法です。入力値の文字列は数値へ変換されます。関数を含むマッピング方法は、他にも配列要素を含むパターンがあります。
マッピングパターン
上記で紹介したマッピングパターンは、ほんの一部です。仕様書には、可能なマッピングパターンをイメージ図と併せて、詳しく解説しています。
マッピング設定(応用編)
基本的なマッピング設定やマッピングパターンについて理解できたら、応用的な設定方法について学びましょう。ここでは、マッピングに関する値のさまざまな定義方法について紹介します。
他のエレメントの出力値を利用する
基本編で紹介したチュートリアルガイドでは、エレメント自体が持つ入出力値に対しマッピングを設定していました。この方法以外にも、他のエレメントの出力値を利用して、設定したいエレメントの入力値とする方法があります。たとえば、エレメントA→エレメントBというフローが定義されている場合、エレメントAの出力値をエレメントBの入力値として設定できます。
暗黙的な変数を利用する
マッピング設定では、以下の情報を暗黙的な変数として利用できます。
- アカウントコンテキスト:ユーザコードやロケールなどのアカウント情報や認証状況
- セッション情報:ロジックフロー実行中にセッション内に保持している値
- 処理結果情報:マッピング対象となるエレメントの一つ前にあるエレメントの処理結果情報
- ユーザコンテキスト:IM-共通マスタで保有するユーザプロファイル情報
- 外部ユーザコンテキスト:外部ユーザに関する情報
これらの暗黙的な変数を利用して、設定したいエレメントの入力値として設定できます。
マッピング関数を利用する
マッピング設定では、ロジックフロー上でやり取りするデータを関数によって加工や編集ができます。IM-LogicDesignerでは、マッピングで利用できる小規模な演算処理を行うマッピング関数を提供しています。マッピング関数を追加することで、マッピング設定内で四則演算や簡易的な値の操作を行うことができます。
応用編では、他のエレメントの出力値、暗黙的な変数、マッピング関数を利用して、より多様なマッピング設定を定義できます。発展的な内容にはなりますが、柔軟なマッピング情報の定義についても確認しておきましょう。
柔軟なマッピング情報を定義する
上記で紹介したマッピング設定の応用的な操作について確認できます。定義できるマッピング情報について確認しながら、より深い表現力を身につけていきましょう。
まとめ
IM-LogicDesignerのマッピング設定を正確に行うと、データの処理時間を最適化できるというメリットがあります。マッピング設定はロジックフローの構築には欠かせない定義の一つです。マッピングパターンについて把握し、入力値と出力値を適切に紐づけることができるようになりましょう。
intra-martでは、IM-LogicDesignerをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。IM-LogicDesignerの機能を最大限に発揮させるためにもぜひご活用ください。