So you've read How to Evaluate an ESB and you're ready to select one. Now the question is, is ServiceMix the right one? Here's some basic information to get your decision-making process started.
...
Open Source & Open Standards
How do Open Source ESBs compare to commercial ESBs?
In general, they are both viable solutions. To be more specific, hopefully the rest of this page will give you some idea.
Note that both community and commercial Support are available for ServiceMix.
Is ServiceMix based on Open Standards? Is that important?
Yes, and yes.
ServiceMix implements the Java Business Integration or JBI specification (see What is JBI?). This means that standard JBI components can be run in ServiceMix, along with services that use them. Likewise, JBI components or services developed for ServiceMix can be used in any other JBI-compliant ESB.
Additionally, while not a standard per se, ServiceMix lets you use Spring beans as services, which may help you get started quickly. The same Spring beans could be used both in ServiceMix and in other Spring environments (such as, say, in a unit test, or in another application requiring the same logic).
Beyond the above, the message format used internally on the bus is XML-based (with optional binary attachments, etc.), and ServiceMix supports a variety of WS-* specifications for messages going into and out of the bus. More on those later.
The bottom line is that you should be able to deploy standards-based services, using standards-based ESB functionality, exchanging standards-based messages. This means your code and configurations should be portable across products, it should be easy to integrate with other environments, and it should be easier to find tools to support development and tuning.