リアルタイム再検証用データフローの設計

例外管理をデータフローで使用している場合、例外レコードを Business Steward Portal で修正した後で、再検証機能を使ってそのレコードに検証プロセスを再実行できます。こうすると、変更によってレコードが正常に処理されるようになるかどうかをリアルタイムで確認できます。Read Exceptions バッチ ジョブが再び実行されて結果が出るのを待つ必要はありません。

再検証の環境は、主に以下の要素で構成されます。
  • エクスポーズされたサブフローを再利用するか、またはそれを含むジョブまたはサービス。入力ソース、入力を処理するサブフロー ステージ、Write Exceptions ステージ、正常に処理されたレコードを格納する出力シンクも含まれる必要があります。
  • Exception Monitor ステージを含むエクスポーズされたサブフロー。このステージは、再検証サービスをポイントし、再検証に関する設定 (再検証されたレコードを再処理するか承認するかなど) が済んでいるものです。
  • エクスポーズされたサブフローを再利用するか、それを含むエクスポーズされたサービス。このサービスは、Business Steward Portal で編集、保存され、再検証のために送信されたレコードを処理します。

再検証の実装について具体的に説明するシナリオ例を示します。

Revalidation implementation illustration
次の例では、ジョブ、サブフロー、サービスの 3 つのデータフローを使用します。ジョブは、入力データを使ってサブフローを実行します。サブフローには Exception Monitor ステージが含まれ、そこでは、レコードを手動による確認に回すかが決定されます。つまり、[PostalCode] フィールドに値がないレコードを例外とみなし、Write Exceptions ステージに送ります。こうした例外は、Business Steward Portal に見られます。このフィールドに値があれば、レコードは Write to File ステージに送られます。
注: データフローが Best of Breed 機能も使うように設定されている場合は、再検証 Exception Monitor ステージ/サブフローとサービス自体に CollectionRecordType フィールドを手動で追加してエクスポーズする必要があります。Best of Breed 機能の詳細については、[例外データの書き出し] オプションとBest of Breed レコードの作成を参照してください。
Exception Monitor ステージの設定時に指定した例外再検証サービスは、Business Steward Portal 例外エディタで 1 つ以上の例外レコードを編集して [保存] をクリックすると、呼び出されます。ジョブと同様に、同じビジネス ロジックでレコードを再処理する例外監視サブフローがサービスに含まれます。レコードが Exception Monitor ステージで設定された条件を 1 つでも満たさないと、例外がリポジトリで更新されます。レコードが Exception Monitor ステージで設定された条件を満たすと、1 つまたは 2 つのアクションが実行されます。どのアクションが実行されるかは、[再検証後のアクション] フィールドでの選択によって決まります。
  • レコードを再処理 — レコードがリポジトリから削除され、再処理されます。
  • レコードを承認 — レコードに承認済みのマーキングをし、リポジトリに戻します。
次の手順に従い、リアルタイムの再検証シナリオを作成して使用します。
  1. ジョブまたはサービス データフローを開くか、作成します。これには、Exception Monitor ステージ、入力ソース (Read from File ステージや Input ステージなど)、出力シンク (Write to File ステージや Output ステージなど)、Write Exceptions ステージが含まれる必要があります。
  2. Exception Monitor ステージをサブフローに変換し、入力フィールドと出力フィールドを処理データフローの各フィールドに対応付けます。ExceptionMetadata フィールドは、入力ソースだけでなく、Write Exceptions ステージをジョブに埋め込む出力ステージにも忘れずに含めてください。ジョブやサービスから使用できるようにサブフローをエクスポーズします。
  3. Input ステージ、手順 2 で作成したサブフロー、Output ステージ、出力シンク (Write to File ステージ、Write to DB ステージなど) が含まれるサービスを作成します。入力フィールドと出力フィールドを初期データフローの各フィールドに対応付けます。ExceptionMetadata フィールドを Input ステージだけでなく Output ステージにも含めることを忘れないでください。サブフローで使用できるようにサービスをエクスポーズします。
  4. サブフローに戻り、Exception Monitor ステージの [構成] タブを開きます。手順 3 で作成した再検証サービスを選択し、再検証後に実行するアクションを指定します。サブフローを保存し、もう一度エクスポーズします。
  5. サービスに戻ります。メッセージが表示され、サブフローが変更されたため、サービスの内容が更新されることが通知されます。[OK] をクリックしてから、サービスを保存し、もう一度エクスポーズします。
  6. 初期ジョブまたはサービスに戻ります。メッセージが表示され、サブフローが変更されたため、サービスの内容が更新されることが通知されます。[OK] をクリックしてから、データフローを保存します。
  7. ジョブを実行します。
    注: 初期ジョブまたはサービスを以前に実行したことがある場合でも、再検証の資格があるレコードをリポジトリに格納する再検証シナリオを作成した後で、そのジョブまたはサービスを実行しなければなりません。例外エディタ内のレコードが再検証可能かどうかは、それらのレコードの [保存] ボタンがアクティブかどうかによって確認できます。