2009-10-13 21 views
6

Sto cercando di creare un'interfaccia astratta comune sull'infrastruttura di messaggistica nella nostra azienda. L'obiettivo di progettazione è di 2 volte. 1 è di nascondere la complessità della programmazione da parte degli sviluppatori (so che non è molto complessa ma la semplificano ulteriormente) e 2 è di rendere gli sviluppatori indipendenti dall'infrastruttura di messaggistica specifica del fornitore (cioè può essere MQSeries o EMS o MSMQ).equivalente JMS in .Net

L'opzione molto comune è l'utilizzo del livello WCF sull'infrastruttura di messaggistica. Utilizzare il canale personalizzato MQSeries per WCF o utilizzare il canale personalizzato EMS per WCF. Ma entrambi sono esclusi a causa della mancanza di una versione corretta di MQSeries ed EMS.

Qualcuno può suggerire quali sono le possibili soluzioni a questo problema. Uno che posso pensare di avere un wrapper personalizzato come JMS. Qualcuno ha mai provato qualcosa di simile prima. Qualsiasi aiuto sarebbe fantastico.

a proposito, sto cercando di creare questo wrapper in C# 3.5.

saluti

risposta

8

C'è NMS, che è un'implementazione .NET del protocollo JMS. Viene fornito con un provider che funziona con ActiveMQ come broker di messaggi sottostante.

Potrebbe anche essere la pena di verificare alcune delle eccellenti implementazioni Bus open source di servizio per .NET che forniscono astrazioni di messaggistica alcune utili: NServiceBus, MassTransit e Rhino Service Bus vengono in mente.

+0

@Andy: È possibile utilizzare NMS con la serie MQ? vedo che c'è supporto per ActiveMQ, MSMQ ed EMS. Ma nessuna serie MQ – rauts

+0

Non credo che NMS attualmente supporti MQSeries. A meno che qualcuno non abbia scritto un fornitore per questo. Puoi sempre scrivere il tuo. Anche se forse MQSeries viene fornito con le sue librerie di interoperabilità .NET. Ho fatto una rapida ricerca e ho trovato: http://blogs.msdn.com/dotnetinterop/archive/2004/11/08/net-and-mqseries.aspx –

+0

Grazie per la risposta Andy. MQSeries è dotato di librerie di interoperabilità .net ma sarebbe bello avere tutto in NMS. Sembra che dobbiamo scrivere il nostro wrapper. Grazie – rauts

2

IBM fornisce le librerie XMS per WebSphere MQ. Sono un'implementazione .NET del protocollo JMS che funziona con WebSphere MQ.

Questi sono forniti come SupportPac IA9H che è un download gratuito.