Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is MSMQ a good idea

Tags:

.net

oracle

msmq

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.

like image 476
Bhushan Bhangale Avatar asked Jun 24 '09 05:06

Bhushan Bhangale


3 Answers

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.

like image 113
Faheem Avatar answered Oct 18 '22 23:10

Faheem


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.

like image 20
Erich Kitzmueller Avatar answered Oct 18 '22 23:10

Erich Kitzmueller


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

like image 1
JP Alioto Avatar answered Oct 18 '22 23:10

JP Alioto