0

1 つの Oracle システムが 2 つの別個の CRM システム (PeopleSoft と Siebel) のデータ マスターである状況があります。Oracle システムは、顧客データ、在庫データ、製品情報、および製品価格について、CRUD メッセージを BizTalk に送信します。BizTalk はメッセージをフォーマットし、アクションのために PeopelSoft および Siebel Web サービス インターフェイスに転送します。データの最初の同期後、進行中の操作により、データの配信が成功したにもかかわらず、外部の Siebel および PeopleSoft システムでデータが正確でない状況が作成されました (これは、これらのシステムが「成功」を返すときに何を意味するかについての別の会話です)。 ' BizTalk へ)。

この分散サービス指向のアプローチでシステム データを調整するために、他の同様の実装は何をしますか? 比較のためにすべてのシステムから定期的にダンプを実行していますか? 失敗した更新を見つけて同期を確保するための他の手法や方法はありますか?

あなたの考えや経験は大歓迎です。ありがとう!

追加情報

では、なぜシステムが同期しなくなるのでしょうか? 宛先システムがメッセージを受信したことを BizTalk に通知する場合、それは多くのことを意味します。場合によっては、HTTP 200 は、それを取得してステージング テーブルに配置したことを意味し、後でコミットします。これは成功する場合もあれば、さまざまなデータの問題に対応しない場合もあります。HTTP 200 が意味する場合があります... はい、データを受信して​​コミットしました。HTTP を使用すると、注文の配信に問題が発生する可能性があります。これらの問題はすべて、事前に多くの建築計画を立てることで解決できたはずです。それは行われませんでした。順序付けられていない配信がデータを踏むのを防ぐための更新/作成タイムスタンプはありません。宛先システムからのデータ通信の完全な往復確認応答はありません。これらはすべて、同期がずれることになります。

4

1 に答える 1

1

(申し訳ありませんが、これは回答であり、50ポイントまでのコメントではありません)。

データは他のシステムで更新できますか、それとも基本的に読み取り専用ですか?
データの問題が原因で更新が失敗しないようにするために、BizTalk レイヤーにさらに検証を実装できますか? BizTalk レイヤーで補正できるように、宛先システムから更新が失敗したという何らかの通知を取得できますか?

FWIW このような状況では、通常、データの新しいゴールデン リポジトリとして機能する 3 つのシステムからのデータキーを少なくとも含む中央データ ストアになりますが、これは通常、複数の更新ソースを補うためです。通常、ユーザーが維持しなければならない何らかの手動エラー キューも運用しているようです。

バッチ調整のあなたの考えに対して、特に金融サービスの分野では、トランザクションエラーを補うために非常に一般的であることがわかりました.

于 2009-06-02T17:49:33.323 に答える