Well, an ESB provides a number of functionality that you can use in an enterprise application. But it will only add value if you need to integrate with another enterprise application or you need to provide services to other applications.
In chapter 1 of the book, which is available for free, we try to explain the functionality of an ESB so that's a good starting point. The added value of an ESB is for me the following items:
- location transparency: promotes loose coupling of applications and services. Applications don't have to know about the physical location of another application or service. So the ESB provides an abstraction layer.
- transport protocol conversion: in a lot of enterprises you will have to deal with all kinds of transports like: file, ftp, JMS, MQ, web services etc. The ESB is able to connect to these different transports and therefore can easily consume messages on a file system and sent them on as a web service call for example.
- message routing: with enterprise integration, you will need to route messages arriving at the ESB to the target destination. Therefore you will need to define routing rules that take care of this. A well-known set of routers is described in the Enterprise Integration
Patterns book of Hohpe and Woolf.
What's interesting about open source ESBs in specific is that you can download them for free and look at the source code. Most closed source ESBs (like WebSphere ESB, WebSphere Message Broker, Tibco BusinessWorks, Sonic ESB etc) have a large license fee in advance that makes it hard to justify the upfront cost in an organization. So for small integration challenges you will not use such a closed source ESB. But an open source ESB can help you out with even very simple integration challenges.
Best regards,
Tijs Rademakers