8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

インフォマティカ・ジャパン株式会社Advent Calendar 2024

Day 20

MDM SaaS : Data Enrichment をルートレコードのフィールドに設定する

Last updated at Posted at 2024-12-20

はじめに

MDM SaaS では 2024年10月のリリースで Data Enrichment の機能が追加されました。Data Enrichment は外部データプロバイダを使ってデータを Enrich することができる機能です。実装には CAI のプロセスを利用しています。
この記事では、ビジネスエンティティのルートレコードのフィールドに Data Enrichment を設定する方法を紹介します。フィールドグループ内のフィールドに設定するサンプルは製品ドキュメントで紹介されていますので、そちらを参考にしてください。

シナリオ

  • x_be_er という名称のビジネスエンティティ内の beforeER フィールドを Data Enrichment のインプットとして利用し、afterER フィールドに Data Enrichment された内容を設定します。
    image.png

  • CAI のプロセスでは、今回は外部データプロバイダは利用せず、インプットとして渡された値に固定のテキスト文字列を追加してアウトプットする処理を行います。

事前準備

  • ビジネスエンティティを用意します。そのビジネスエンティティの検索結果のレイアウト、必要なページを作成し、MDM SaaS アプリケーションで利用できるように追加しておきます。
  • 「表示して編集」のページでは、ソースレコードのコンポーネントを追加しておきます。
  • Enrichment 用のソースシステムを作成しておきます。

CAI でのプロセスオブジェクトとプロセスの作成

プロセスオブジェクトの作成方法については、プロセスオブジェクトによるユーザー定義変数の利用を参考にしてください。

プロセスオブジェクトに追加するフィールドのタイプを間違えると、後のステップのプロセス選択でエラーが発生することがありますので注意が必要です。

1. System プロセスオブジェクトの作成

groupId フィールドを追加します。

名前 ラベル タイプ
groupId groupId テキスト

image.png

2. InputPayload プロセスオブジェクトの作成

インプットに利用するフィールドと、1 で作成した System プロセスオブジェクトを追加します。

名前 ラベル タイプ
beforeER beforeER テキスト
sys sys 参照 (1 で作成した System プロセスオブジェクトを指定)

image.png

3. OutputPayload プロセスオブジェクトの作成

アウトプットに利用するフィールドと、confidenceScoreInPercent フィールドを追加します。

名前 ラベル タイプ
afterER afterER テキスト
confidenceScoreInPercent confidenceScoreInPercent テキスト

image.png

4. InputPerRecord プロセスオブジェクトの作成

2 で作成した InputPayload プロセスオブジェクトと、docId フィールドを追加します。

名前 ラベル タイプ
payload payload オブジェクトリスト
(2 で作成した InputPayload プロセスオブジェクトを指定)
docId docId テキスト

image.png

5. OutputPerRecord プロセスオブジェクトの作成

docId フィールドと 3 で作成した OutputPayload プロセスオブジェクトを追加します。

名前 ラベル タイプ
docId docId テキスト
payload payload オブジェクトリスト
(3 で作成した OutputPayload プロセスオブジェクトを指定)

image.png

6. プロセスの作成

6-1. 開始ステップ

  • 全般
    • 名前を入力します。
  • 開始
    • 「匿名アクセスを許可します。」をチェックします。
      image.png
  • 入力フィールド
    • 入力形式で「ペイロード全体」を選択します。
    • フィールドを追加し、名前に request を入力します。
    • タイプでは、▼をクリック → タイプをさらに表示 → カテゴリで「カスタムタイプ」を選択し、4 で作成した InputPerRecord を選択します。
      さらに、「このタイプのオブジェクトのリストを許可します」をチェックします。

image.png
image.png

  • 出力フィールド
    • 入力形式で「ペイロード全体」を選択します。
    • フィールドを追加し、名前に request を入力します。
    • タイプでは、▼をクリック → タイプをさらに表示 → カテゴリで「カスタムタイプ」を選択し、5 で作成した OutputPerRecord を選択します。
      さらに、「このタイプのオブジェクトのリストを許可します」をチェックします。

image.png

  • 一時フィールド
    • フィールドを追加し、名前に temp_recordId を入力します。タイプはテキストを選択します。
      image.png

6-2. 割り当てステップ (一時フィールド用) を追加

  • 全般
    • 名前を入力します。
  • 割り当て
    • 「フィールドの追加」から temp_recordId を選択します。
    • 計算式を選択し、式に $input.request[1]/docId を入力します。

image.png

6-3. 割り当てステップ (Response 用) を追加

  • 全般
    • 名前を入力します。
  • 割り当て
    • 「フィールドの追加」から response を選択します。
      image.png
    • 計算式を選択し、式エディタを開いて以下を入力します。
    • ここでは、インプットのテキストに "Enrichment Done" という文字列を追加して、アウトプットとしています。
式エディタの中身
<OutputPerRecord>
    <docId> {$temp.temp_recordId }</docId>
    <payload>
        <confidenceScoreInPercent>70</confidenceScoreInPercent>
        <afterER>
            {concat($input.request[1]/payload[1]/beforeER, "Enrichment Done")}
        </afterER>
    </payload>
</OutputPerRecord>

image.png

6-4. プロセスの保存と公開

プロセスの検証を行ってエラーがなければ、保存して、公開します。

Business 360 Console でビジネスエンティティのデータ品質設定

Business 360 Console でビジネスエンティティを開き、データ品質 > 目標グループ を開きます。

7. 目標グループの作成

右上の「目標グループの追加」をクリックします。
image.png
表示名を入力して作成すると、新規目標グループの画面が表示されます。

8. 目標の作成

左ペイン「目標」の「目標の追加」をクリックします。
image.png
右ペイン「プロパティ」でステータスを有効にし、「ルールの関連付けの作成」をクリックします。
image.png

9. ルールの関連付けの作成

表示名を入力して作成すると、「データ拡張ルールの選択」ステップが表示されます。「データ拡張ルールの追加」をクリックします。
image.png

10. データ拡張ルールの作成と設定

表示名を入力して作成すると、データ拡張ルールの設定画面が表示されます。

  • 「プラグイン」に「アプリケーション統合 ​​- 推奨事項ベースのエンリッチメント」を設定します。
  • 「CAI Process Identifier」で 6 で作成したプロセスを選択します。
  • 「confidenceScoreInPercent」に confidenceScoreInPercent を入力します。
  • 入力フィールドに InputPayload で指定した sys 以外のフィールドが表示されていることを確認します。
  • 出力フィールドに OutputPayload で指定したフィールドが表示されていることを確認します。
    image.png
  • 保存します。

11. ルールの関連付けの設定

  • 「データ拡張ルールの選択」ステップで「データ拡張ルール」に 10 で設定したデータ拡張ルールを設定し、「次へ」をクリックします。
  • 「フィールドのマッピング」ステップで入力マッピングと出力マッピングを行います。
    image.png
    image.png
    • confidenceScoreInPercent はこのサンプルではターゲットフィールドに利用しないので、マップしません。
    • ソースシステムに事前準備しておいた Enrichment 用のソースシステムを指定します。
  • 保存します。

12. 目標の設定と目標グループの保存

  • 右ペイン「プロパティ」のルール関連付けの追加をクリックして、11 で設定したルール関連付けを選択します。
  • チェックボックスをクリックして、保存します。
    image.png
  • 目標グループを保存します。
  • ビジネスエンティティを保存します。

動作確認

MDM SaaS アプリケーションから動作を確認してみます。

  • 新規レコードを作成し、適用 → 送信 をクリックします。
    image.png
  • 送信後のレコード画面に Enrichment が実行された後のフィールド値が設定されていることが確認できます。
    image.png
  • ソースレコードを確認すると、ルールの関連付けで出力フィールドに設定したソースシステムのソースレコードが表示されます。
    image.png

参考ドキュメント

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?