48

Would someone be able to shed some light on the differences between the newly release Windows ServiceBus (on premise, not Azure) and NServiceBus?

Looking for a detailed answer what the windows SB may be missing as I'm familiar what NSErviceBus can do:

  1. Is it a real service bus and not just a message broker that uses queues?
  2. Can it support message polymorphism? (Messages subclassing other messages and handlers supporting this hierarchy
  3. Long running processes and correlation
  4. Scale out
TimJohnson
  • 923
  • 1
  • 9
  • 22
  • Can you provide a link to the new Windows ServiceBus? The only bus I see is the Azure one. – Chris Bednarski Jul 18 '12 at 09:12
  • http://msdn.microsoft.com/library/jj193022%28Azure.10%29.aspx – TimJohnson Jul 18 '12 at 16:07
  • 2
    Looks like microsoft's senior progran manager responded here - http://social.msdn.microsoft.com/Forums/en-US/servicebuslabs/thread/f4700a88-603d-494a-b963-951cd8e11530. Would be awesome to hear from the NSB team to see why NSB would still be better. – TimJohnson Jul 18 '12 at 16:16

1 Answers1

39

I'm responsible for the Windows Azure ServiceBus support in NServicebus. And in my opinion this new Windows Server Servicebus provides the exact same capabilities as the Azure ServiceBus. So in my opinion it will be a good match with NServiceBus instead of a competitor (just as the Windows Azure ServiceBus is) and could be used instead of msmq.

To answer your questions

  1. The new servicebus is a broker that uses queues
  2. Messages on the servicebus are just strings in the end, the servicebus itself has no additional support for message types, hierarchies, handlers etc. Typically you would use WCF or NServiceBus for this.
  3. There is no support for long running processes nor correlation. It does have some feature overlap with NServiceBus though as it can do subcriptions/topics, it can also do deferral of messages as well as filters.
  4. It's designed to scale out.

Hope this helps?

Kind regards, Yves

Yves Goeleven
  • 2,185
  • 15
  • 13
  • 1. So in Windows Service Bus, can the client still send messages over its local msmq as in NSB? I understand the subscriptions are strings and not typed but can it still be used in the same way as Bus.Send? So if any crashes, messages are stored in the local queue first? 2. you also mention Windows SB is a good match with NSB and could be used instead of msmq? can you elaborate? may describe a flow as in NSB publishes, then the messages goes over to x...and so on – TimJohnson Jul 19 '12 at 15:23
  • 1. No, the queue is not local to the node as is the case with msmq. so the machine will need to have connectivity to the SB server before it can send the message to the queue 2. SB queues provide the durability and transactionality that nservicebus needs to handle messaging, the only thing different from msmq is that the node needs connectivity to work properly. – Yves Goeleven Aug 04 '12 at 13:05
  • Re:3 this in my opinion is not correct - why would Windows Service Bus duplicate orchestration functions (long running, correlation etc) if this is the domain of WF , which works with Service Bus? – Sentinel Feb 26 '13 at 14:00
  • Long running: answered above. No support for message types: ContentType: https://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.brokeredmessage.contenttype.aspx No support for correlation: CorrelationId: https://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.brokeredmessage.correlationid.aspx – George Tsiokos May 14 '15 at 15:22