Alternative Buses

Apr 5, 2010 at 3:17 PM

If I wanted to swap out another bus framework, such as nServiceBus or MassTransit, would it be as easy as creating a class that derives from IEventBus?

Coordinator
Apr 10, 2010 at 12:24 PM

Support for multiple bus frameworks is really important to us. At the moment, we support any kind of bus as long as you implement the IEventBus interface for eventing and the ICommandExecutor for commands. The implementations should dispatch the execution to nServiceBus, MassTransit or any other bus.

Now we have do have plans to add nServiceBus or MassTransit support directly. This means, adding classes to the framework that already implement the needed interfaces for you and dispatching calls to the bus framework. You can expect this features soon. But if you already started implementing it yourself or have any extra thoughts on this, please share.

Does this answer your question?

Apr 11, 2010 at 1:58 AM

That answers my question perfectly.  Thank you.  I haven't started implementing anything yet.  I'm just getting started with CQRS and nServiceBus, but I'd love to see it all come together.  As I get more familiar with it, I'll see if I can contribute anything.  Thanks for the hard work and guidance.

May 10, 2010 at 6:43 PM
Edited May 10, 2010 at 6:58 PM

I, also, would love to see nservicebus support. 

It seems to me that there is some duplicate interfaces that would be introduced by the various buses.   IMessage in NserviceBus is similar to IEvent in NCQRS.  The same for IEventHandler and IMessageHandler.  The NCQRS versions could extend the NServiceBus ones, but this would be a hard dependdency to a specific Bus.

Just  thinking out loud,

Adam

 

Coordinator
May 10, 2010 at 7:27 PM
agbell wrote:

I, also, would love to see nservicebus support. 

It seems to me that there is some duplicate interfaces that would be introduced by the various buses.   IMessage in NserviceBus is similar to IEvent in NCQRS.  The same for IEventHandler and IMessageHandler.  The NCQRS versions could extend the NServiceBus ones, but this would be a hard dependdency to a specific Bus.

Just  thinking out loud,

Adam

 

Thx for your thoughts adam. Using the interfaces from NServiceBus would be a no-go since that would mean that Ncqrs depends on NServiceBus. Believe me, I love that project... but that is too much love ;-)

My thoughts are to create base types for NServiceBus that implement both interfaces, like NServiceBusEvent that implements the IMessage and the IEvent interface. And a NServiceBusEventHandler that implements the IEventHandler and IMessageHandler interface. With some explicit interface implementation we can make some solid easy to use building blocks.

May 29, 2010 at 2:29 PM

Sounds like a plan.  Keep up the good work.

Coordinator
May 29, 2010 at 2:35 PM
agbell wrote:

Sounds like a plan.  Keep up the good work.

At the moment, probably as we speak, Szymon Pobiega is working on a extension of the Ncqrs Framework to enable support for NServiceBus. He created a extension project including a sample project that shows how easy it is to integrate Ncqrs with NServiceBus using the extensions. You can grab the latest source code to take a look, but we are planning a release soon that should include the final code. How soon, soon is... I don't know ;-)