フローのタイプ

データフローは、何らかのソースからデータを受け取り、そのデータを処理し、何らかのデスティネーションに出力を書き込むという一連の操作です。データは、単純なソートから複雑なデータ品質および強化操作まで、任意の処理を行うことができます。データフローの概念は単純ですが、分岐したパス、複数の入力ソース、複数の出力デスティネーションを備えた非常に複雑なデータフローを設計することができます。

データフローには、ジョブ、サービス、サブフロー、およびプロセス フローの 4 種類があります。

ジョブ

ジョブは、バッチ処理を行うデータフローです。ジョブは、1 つ以上のファイルやデータベースからデータを読み込み、そのデータを処理し、1 つ以上のファイルやデータベースに結果を書き込みます。ジョブは、Enterprise Designer では手動で実行できます。また、Job Executor を使用してコマンド ラインから実行することもできます。

次のデータフローはジョブです。Read from File ステージを入力に使用し、2 つの Write to File ステージを出力として使用しています。



サービス

サービスは、Web サービスとして、またはSpectrum™ Technology PlatformAPI を使用して、アクセスできるデータフローです。レコードをサービスに渡し、レコードを処理する際に使用するオプションを任意で指定できます。サービスはデータを処理し、そのデータを返します。

一部のサービスは、モジュールをインストールしたときに使用可能になります。例えば、Universal Addressing モジュールをインストールすると、お使いのシステム上で ValidateAddress サービスが使用可能になります。Enterprise Designer でサービスを作成し、そのサービスをシステム上でユーザ定義サービスとしてエクスポーズしなければならない場合もあります。例えば、Location Intelligence モジュールのステージは、このモジュールのステージを使用するサービスをまず作成しなければ、サービスとして使用できません。

Enterprise Designer で独自のカスタム サービスを設計することもできます。例えば、以下のデータフローは、洪水が発生する危険性のある住所であるかどうかを調べます。



注: サービス名、オプション名、フィールド名は、最終的に XML 要素となるため、XML 要素名として無効な文字を含んではいけません (例えば、空白は無効です)。この要件を満たさないサービスは、サービスとしては機能しますが、Web サービスとしてエクスポーズすることはできません。

サブフロー

サブフローは、他のデータフロー内で再利用可能なデータフローです。サブフローは、データフローに簡単に組み込むことができる、再利用可能なプロセスを作成する場合に便利です。例えば、各ステージで特定の設定を使用して重複除去を実行するサブフローを作成し、複数のデータフローで同じ重複除去プロセスを使用できるようにしたいことがあります。これを実現するには、次のようなサブフローを作成します。

その後、このサブフローをデータフロー内で使用することができます。例えば、ジオコーディングを実行するデータフロー内で重複除去サブフローを使用し、ジオコーディング操作の前にデータを重複除去することができます。

この例では、データはデータベース内から読み込まれ、重複除去サブフローに渡されます。このサブフローで、データは Match Key Generator、Intraflow Match、Best of Breed の順に処理され、最後にサブフローから親データフロー (この場合は Geocode US Address) の次のステージに送信されます。上記のように、サブフローは、データフロー内ではパズルのピース アイコンとして表されます。

Enterprise Designer の [ユーザ定義ステージ] フォルダに表示されるサブフローは、保存してエクスポーズできます。

プロセス フロー

プロセス フローでは、ジョブや外部アプリケーションなどの一連のアクティビティが実行されます。プロセス フロー内の各アクティビティは、1 つ前のアクティビティが終了した後に実行されます。プロセス フローは、複数のデータフローを連続して実行したり、外部プログラムを実行したりする場合に便利です。例えば、プロセス フローでは、名前を正規化し、住所を照合してから、郵便料金の割引が受けられるようにレコードを正しい順序にソートするための外部アプリケーションを呼び出すようなジョブを実行することができます。次の図はそのようなプロセス フローを示したものです。

この例では、ジョブ Standardize Names と Validate Addresses は Spectrum™ Technology Platform サーバーでエクスポーズされたジョブです。プログラムの実行は外部アプリケーションを起動し、成功アクティビティはプロセス フローの終了を示します。