Graphical Data Mapping Retail サンプルについて
このサンプルは、単純化された小売シナリオでのグラフィカル・データ・マッピングの使用方法を示しています。このシナリオでは、TLOG 業界標準ではなく、個別のプロダクト・サンプルを使用できる単純化された販売データ・フィードを使用します。
マッピングの詳細については、グラフィカル・データ・マップの使用を参照してください。
シナリオ:
小売会社は、一般的なスーパーマーケット・チェーンと同様に、世界中に複数の店舗を持ちます。店舗では毎日、販売トランザクションを完了し、在庫配送により十分な数の商品が陳列されます。これにより、顧客満足度が維持されます。
会社は当初、特定の地域にのみ店舗を出していたため、1 つの倉庫から全店舗へ在庫配送できました。その後、夜間に実行される所有在庫管理システムを開発しました。このシステムは、品目、数量、および店舗を識別する在庫調整レコードが含まれたファイルを処理します。
会社の規模が拡大されるにつれて、全店舗へ在庫配送するために 1 つの倉庫 (デポ) では不足するようになり、現在では出店地域に複数のデポを構えるようになりました。在庫処理を単純化するため、会社は在庫調整データ・フィードをデポ別にグループ分けしています。
会社では、在庫管理に加えて、後から競合他社と同様の顧客ロイヤルティー・スキームを導入しました。開発したロイヤルティー・システムは、終日オンラインで稼働するため、販売トランザクションの発生時にデータ・フィードを受け入れることができます。これにより付加利益が生じ、例えば、顧客の累積ポイントをレシートに記載できるようになりました。
会社は WebSphere Message Broker を使用して、店舗販売フィードを在庫管理システムおよび顧客ロイヤルティー・システムへ統合することを決定しました。適切なデータ変換を実行するため、および販売データのルーティングと統合を実行するために、ブローカーが使用されます。
ソリューションで使用される変換では、以下のグラフィカル・データ・マッピング機能が実行されます。
- 反復構造
- XPath 関数の呼び出し
- データベース・ルックアップを使用したメッセージ・エンリッチメント
- メッセージ・ヘッダーからのデータの抽出 (MQMD など)
- 各種入出力メッセージ・フォーマットおよびパーサー
使用されるメッセージ・フローは次のとおりです。

メッセージは、次のようにメッセージ・フローをパススルーします。
- XML StoreSales メッセージが Store Sales In ノードからメッセージ・フローに入ります。
- Flow Order ノードがそれを在庫順序パスまで経路指定します。
- "StoreSales to SoldStock" Mapping ノードは、グラフィカル・データ・マップを使用して、メッセージを変換するため、在庫順序に関連しないデータを削除し、外部データ・ソースを照会して、メッセージで識別されている店舗へ在庫を提供するデポを識別します。詳細については、『データベースのセットアップ』を参照してください。
- その後、メッセージは Collect SoldStock ノードに入ります。
そこでメッセージが照合されて、各デポのコレクションに入れられます。
- その後、Flow Order ノードが、メッセージを Loyalty System に経路指定します。
ここで、グラフィカル・データ・マップでは別の Mapping ノードが使用されます。
これにより StoreSalesLoyaltySalesData メッセージが変換され、MQOutput ノードによってロイヤルティー販売キューに入れられます。
- 特定のデポの最初のメッセージが到着してから事前定義の秒数 (例えば 60 秒) が経過した後、Collect SoldStock Collector ノードからそのデポのコレクションが出力されます。
それには、その時点で到着している一致メッセージのすべてが含まれています。
- その後、Process SoldStock Collection ノードにより、コレクションが、各 SoldStock メッセージ内の各販売済み商品につき 1 つずつ StockOrder エレメントが含まれる StockOrderBatch メッセージに変換されます。
これには、Compute ノードが使用されます。
- "Process each StockOrder" Mapping ノードにおいて、別のグラフィカル・データ・マップを使用することにより、StockOrderBatch メッセージ内の各 StockOrder エレメントについて 1 つずつ CSV StockOrder メッセージが生成されます。
また、このノードにおいて LocalEnvironment が更新され、メッセージ・フロー内で後で作成されるファイルの名前が設定されます。
- その後、Batched Depot Stock Updates ノードにより、LocalEnvironment の中で識別されるファイルに、CSV メッセージがそれぞれ別個の行として書き込まれます。
サンプルのホームに戻る