I looked at this exact problem and after putting together some spikes 
pulled back.  It is actually quite a bit harder on the receive side than 
you would expect.  I strongly suggest you avoid writing an abstraction and 
just pick an implementation.  Service buses tend to be pretty opinionated 
and different once you get past the act of sending simple messages.  

BTW, Azure service bus will work just fine with an on premises installed 
app.  It is actually pretty cheap for what it provides.  That's actually 
the direction we went.

As a side note, check out  
https://github.com/ProjectExtensions/ProjectExtensions.Azure.ServiceBus. 
 It is a very easy to use library that lets you work with Azure service bus 
like you do with Rhino or NServiceBus.  NServiceBus has also added support 
for Azure queues and can be licensed for OEM use (though it may not be 
cheap).

Enjoy!

On Wednesday, March 14, 2012 12:50:38 PM UTC-5, Matt Johnson wrote:
>
> Pardon my ignorance, but is there any project that provides a common 
> abstraction layer for different service bus implementations? 
>
> Something similar to how CommonServiceLocator works for IoC 
> containers? 
>
> I'm writing an app that will be licensed in two ways.  1) a "licensed 
> edition" that will run on premesis, and 2) a "hosted edition" that 
> will run in the Windows Azure cloud. 
>
> I would like to use Rhino Service Bus for the licensed edition, and 
> Azure Service Bus for the hosted edition.  It would be great if there 
> was an easy "provider model" implementation, such that I could just 
> swap in the desired service bus.  Otherwise, I fear I may have tons 
> of  "if (hosted) { azuresb } else { rhinosb }" code scattered 
> throughout my app. 
>
> Thoughts? 
>

On Wednesday, March 14, 2012 12:50:38 PM UTC-5, Matt Johnson wrote:
>
> Pardon my ignorance, but is there any project that provides a common 
> abstraction layer for different service bus implementations? 
>
> Something similar to how CommonServiceLocator works for IoC 
> containers? 
>
> I'm writing an app that will be licensed in two ways.  1) a "licensed 
> edition" that will run on premesis, and 2) a "hosted edition" that 
> will run in the Windows Azure cloud. 
>
> I would like to use Rhino Service Bus for the licensed edition, and 
> Azure Service Bus for the hosted edition.  It would be great if there 
> was an easy "provider model" implementation, such that I could just 
> swap in the desired service bus.  Otherwise, I fear I may have tons 
> of  "if (hosted) { azuresb } else { rhinosb }" code scattered 
> throughout my app. 
>
> Thoughts? 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rhino-tools-dev/-/2zItG4pzSSYJ.
To post to this group, send email to rhino-tools-dev@googlegroups.com.
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to