I'm currently doing analysis and design for a new message bus architecture in my company. I have tried MSMQ to do something like this in the past and it works well and was thinking of doing the same thing again for this project but using WCF as the API instead of using the System.Messaging API. Has anyone had experience with MSMQ in WCF? Is it easier to use then the System.Messaging API? What would be some benefits of using WCF over System.Messaging or vice versa?
The message bus is also a means of structuring software, in that it defines a system-level software architecture. Classical structuring techniques are used to construct the individual components, which can be very different from one another internally, for example written in different languages.
Message Bus ConnectionIt allows consumers to subscribe to messages of certain types and allows producers to create messages of a certain type. The bus then connects these producers and consumers together.
An event bus allows publish/subscribe-style communication between microservices without requiring the components to explicitly be aware of each other, as shown in Figure 6-19.
“ - The next architectural pattern I want to show you is a message-based architecture. This architecture takes the notion of a microkernel a step further by formalizing the communication paths between elements and isolating them even further.
Sorry, coming very late to this, but hopefully my answer is useful for MSMQ 4.0 users (but not necessarily useful to users of later versions).
Both WCF Queuing and System.Messaging are wrappers over the MSMQ APIs. WCF is more sophisticated and complex, but does have the following benefits:
IMHO, with so many good, flexible and proven bus architectures to choose from (NServiceBus, Mass Transit, Rhino Service Bus), implementing your own would be a big NIH. It's not a trivial task.
Udi describes it very well in this message.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With