WCF, MSMQ e Service Broker

Ai Community Days, con Stefano durante la sessione "Creare applicazioni web service-based con .NET 3.5" abbiamo parlato di Message Queue, ma subito dopo ci è stato chiesto il perchè andare ad utilizzare Message Queue in alternativa ai Service Broker di SQL Server.

La decisione non è affatto facile in quanto ognuno dei due ha dei punti a favore nei confronti dell'altro.

Per prima cosa c'è da dire che MSMQ è integrato con il sistema operativo fin dai tempi di Windows 95, caratteristica non da poco in quanto non richiede costi di licenza aggiuntiva a differenza dei Service Broker che richiedono una licenza di SQL Server.
Altra caratteristica che gioca a favore di MSMQ è l'integrazione a costo zero con WCF, infatti quest'ultimo ha già un transport channel per MSMQ, cosa non presente per i Service Broker (qui nasce la domanda, perchè?).

Cambiando sponda con Service Broker si ha il vantaggio del repository, che è il database di Sql Server e questo ci permette di evitare transazioni distribuite consentendoci maggiore performance.

Sicuramente per la parte di sviluppo applicativo MSMQ la vince sui Service Broker, in quanto bastano poche righe di codice WCF per poter cominciare subito ad utilizzarlo, e questa non è una caratteristica da poco, ma non si può dire se è meglio uno o l'altro, la scelta va ponderata in base alla propria esigenza.

Ciauz

 


Comments