tags:

views:

540

answers:

3

System A captures X information from users via UI. This information is validated and persisted in a database. The user can change, add or delete the information. I have to keep this X information is sync with System B using web service. Also I need to send this information as soon as possible after its persisted in the database.

I thought of using MSMQ here. System A will send a message to a Queue. Another process listening for messages on this queue will process the message by reading the information from database and send to System B.

I want to know, is it a good idea to use MSMQ here or write my own simple queuing mechanism by polling the database regularly.

Since near real-time transfer and guarantee is required I thought its a good idea to use MSMQ. Are there any other better solutions available?

Technology platform is .Net with Oracle database.

+3  A: 

Database polling is probably not the best idea, especially if you are using Oracle which already contains advanced queueing. If you choose to do the polling thing (against my advice), use DBMS_ALERT to notify the sending process of changes.

ammoQ
I know little about advanced queuing. I need to log a record in the queue table and the oracle queuing mechanism will pick the record and we can process. Is it better then MSMQ?
Bhushan
I have no experience with MSMQ so I can't tell you which one is better. Both will do, probably.
ammoQ
+3  A: 

MSMQ does seem quite handy in your scenario as you are not familiar with AQ's in Oracle. MSMQ is sure fast enough for replication in your case. Writing your own queue for the same purpose is not less then reinventing the wheel and increasing the code that you have to maintain. Implementation of MSMQ in .NET is frictionless, which is another plus.

Faheem
Well I have no idea of MSMQ either, I am only aware of the concept.
Bhushan
See if this tutorial helps http://www.devx.com/dotnet/Article/27560/0/page/1
Faheem
+1  A: 

You might consider synchronization services. You can use both SQL Server and Oracle.

JP Alioto
I don't know about this but seems its direct database to database syncing. I cannot do this as direct connectivity is not available. I have to use the webservice to send the data.
Bhushan