Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What Enterprise Service Bus would you use and why?

share|improve this question

closed as not constructive by ChrisF Feb 21 '12 at 23:35

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

5 Answers 5

I'd recommend looking at NServiceBus. It is a powerful, open source service bus solution that uses a one-way messaging approach. It can be scaled from a small single machine installation to extremely large grid-based high throughput scenarios. It sits on top of MSMQ and MSDTC but can be used with a variety of other transport mechanisms, including Windows Azure. , but there is work being done to put it on Azure.

Since version 4 optional design and monitoring tools are now available and are collectively named the Particular Platform.

Some key advantages:

Disadvantages:

  • As far as I know, it only runs on Windows (although Azure options coming in v3.0 and are already on the trunk if you're brave).
  • Requires MSMQ and MSDTC to be installed
share|improve this answer
3  
NServiceBus is not open source, in the sense that you can get the source code and use it freely. It's open source in the sense that you can download the source code and use it subject to a specific commercial license or a restrictive Express license. –  Eric J. May 10 '12 at 7:19
    
Sadly not as free as it once was. –  Josh Jul 3 at 20:02
    
Josh - no, it is now commercial. However it does offer a free startup licence, which you can get from their licensing page. –  Sean Kearon Jul 7 at 8:18

NServiceBus is fairly popular in the .Net landscape. We are just starting to incorporate it, so I can't really offer any opinion on it yet.

share|improve this answer

You can also use PServiceBus because it provides a simple api for communication between application with variety of transports(MSMQ, RabbitMQ, Redis, RavenDB, TCP, WebService, HTTP, Email, and custom adapter option) and transformation(xml, csv, json, text). It also provide a javascript api/rest for use in the browser. For more information and samples usage visit http://pservicebus.codeplex.com/

share|improve this answer
1  
+1, I'd never heard of PServiceBus before, I guess I know what I'm doing this weekend. –  Brook May 7 '11 at 18:43

Somewhat late to the party but I would use Shuttle ESB (http://shuttle.codeplex.com/).

Mostly because I wrote it :)

It is a distributed ESB with a highly decoupled architecture. The core assemblies have no direct dependencies on third party assemblies although they may be incorparated by using some adapter interfaces.

IQueue 'out-of-the-box' implementations include Msmq and Sql Server. Pub/Sub is there. Distributor is there. Includes a management console and health monitor. Message Forwarding is there. There is even CRON job scheduling.

share|improve this answer

You should look into the Microsoft BizTalk ESB Toolkit.

I've used is successfully on several projects. There really is not a better powerhouse product for enterprise development out there (on the windows platform at least).

share|improve this answer
    
Can you substantiate, with some detail, your phrase: "There really is not a better powerhouse product for enterprise development out there"? –  Robert Harvey Mar 30 '11 at 18:41
    
ESB has Enterprise in the name but it doesn't mean that you want to use it only in enterprise. Price of BizTalk based solution is enormous. –  Ladislav Mrnka May 7 '11 at 7:42
    
BizTalk is expensive, but compared to other solutions like IBM WebSphere, the cost is a fraction of what it might be. That being said however, it is all dependent on what kind of functionality that you need plus what stack are you already bought into as well. –  aceinthehole May 7 '11 at 15:11
    
BizTalk is expensive, requires specialised skills to develop, deploy and manage. The unit testing of your solutions is not a straight forward as other options. I strongly suggest NServiceBus unless you have BizTalk development and management skills along with pretty deep pockets! –  Sean Kearon Jun 4 '11 at 10:47
    
There's also the small matter of BizTalk using brokered messaging, which makes it actually not a real bus, so you can kiss your performance goodbye if you're working with high-throughput scenarios. Nothing against BizTalk, FWIW - it's a great tool for integrating legacy architectures and individual systems that already have their own, incompatible messaging systems, like a SalesForce or Oracle implementation, where it makes no sense to write reams of mapping code. But for new product development, where you're already control of all the pieces, I wouldn't touch BizTalk with a ten-foot pole. –  Aaronaught Jun 5 '11 at 14:28

Not the answer you're looking for? Browse other questions tagged or ask your own question.