2009-06-24 13 views
5

システムAは、UIからユーザーからのX情報をキャプチャします。この情報は検証され、データベースに保存されます。ユーザーは情報を変更、追加、削除することができます。私はこのX情報をWebサービスを使ってシステムBと同期させておく必要があります。また、私はできるだけ早くデータベースに保存された後、この情報を送信する必要があります。MSMQは良いアイデアです

私はここでMSMQを使用すると考えました。システムAはキューにメッセージを送信します。このキューのメッセージをリスンする別のプロセスは、データベースから情報を読み取り、システムBに送信することによってメッセージを処理します。

ここでMSMQを使用するか、独自の単純なキューイングメカニズムを作成することをお勧めします。定期的にデータベースをポーリングします。

ほぼリアルタイムの転送と保証が必要なので、私はMSMQを使用することをお勧めしました。他にも優れたソリューションがありますか?

テクノロジプラットフォームは、Oracleデータベースの.Netです。

答えて

4

OracleのAQに精通していないため、MSMQは非常に便利です。あなたのケースでは、MSMQは十分な速さで複製することができます。同じ目的のために独自のキューを作成することは、ホイールを改革して維持しなければならないコードを増やすことではありません。 .NETでのMSMQの実装には摩擦がありません。

+0

まあ私はMSMQも考えていない、私は概念を認識しています。 –

+0

このチュートリアルがhttp://www.devx.com/dotnet/Article/27560/0/page/1に役立つかどうかを確認してください。 – Faheem

4

特に、すでにadvanced queueingが含まれているOracleを使用している場合は、データベース・ポーリングが最適ではありません。ポーリングを行うことを選択した場合(私のアドバイスに対して)、DBMS_ALERTを使用して送信プロセスに変更を通知します。

+0

私は高度なキューイングについてほとんど知りません。キュー表にレコードを記録する必要があり、Oracleキューイング・メカニズムがレコードを選択して処理できます。それはMSMQより優れていますか? –

+0

私はMSMQに関する経験がないので、どちらが良いか教えていただけません。どちらも、おそらくやるだろう。 –

1

synchronization servicesとお考えください。 SQL Server and Oracleの両方を使用できます。

+1

私はこれについてはわかりませんが、データベースとデータベースを直接同期しているようです。私は直接接続が利用できないので、これを行うことはできません。私はWebサービスを使用してデータを送信する必要があります。 –