Previously I would say it was easier to get setup on SM than OESB, but now that OESB comes in a nice package installer bundled with Glassfish, Netbeans, and Open JBI Components, I would say they are about even. I have no experience with the Netbeans tools but I have heard they are pretty slick.
SM to my knowledge does not have a GUI editor for their components. However they do provide a maven2 plugin that automatically provides alot.
OESB +1
I think SM has alot more components (~14): http://incubator.apache.org/servicemix/jbi-components.html
To my knowledge the only ones being used w/in OESB is their SOAP BC, the J2EE SE, and I think their BPEL SE, which is nicely integrated with the Netbeans tools.
So SM +1 for having more components, but OESB I think has a great architecture in providing the J2EE SE and a BPEL SE that is integrated with an IDE. OESB +1.
Also you can see how Sun illustrates the use of the J2EE SE here: http://java.sun.com/developer/technicalArticles/WebServices/soa3/ImplementingSOA.pdf
The reason this SE is so important is because it allows you to tie together your JBI Components and any web services running in GF using the BPEL SE. This concept does not exist in SM.
Also you might think about your deployment environment. With SM you can run standalone or as a WAR in a J2EE container (Weblogic, Jboss, or even Glassfish). With OESB, I believe it just runs in glassfish.
I got my start with SM examples which come with the download. They were a good start, but not the ideal reference to great a full JBI compliant component. But at least at the time I was able to get them to work when at the same time I couldn't for OESB.
Performance-wise I am not sure. I know I have read from a couple of people about performance issues with SM. I haven't seen similar postings with OESB, but maybe because I just don't monitor those as much.
I have not actually used any of the Sun components, so hopefully someone who has will respond to your question. I have though successfully ran SM components in OESB.
Hope that helps.
Actually, Open ESB has a lot more set than what was mentioned in the earlier post. Open ESB 2.0 Beta which comes out on Monday includes 4 services engines: BPEL, XSLT, IEP, Java EE, and about 8 binding components. In addition, many more are available on open JBI components project area. Open ESB team is developing many of these along with some contributed by Open ESB partners like Imola Informatica, Gestalt, and others.
Open ESB puts a lot more emphasis on the tools and hence has created a great environment using Netbeans IDE for creating SOA/Composite applications that run in Open ESB environment. Because of this, most of the samples are available in the tools environment.
We are taking the feedback from folks like mailguy and others, and constantly improving the user experience. In addition, we are adding other Java EE containers support. While we have a limited support for JBoss, it needs quite a bit of tweaking at this point. We will be fixing this as well as adding Websphere support soon. We are also looking at the option of running Open ESB as a standalong container.
I tried both SM and OpenESB and ended up using SM because it can be deployed in my app server (Weblogic) without much tweaks. It's great to know that the OpenESB team is working on adding support for other servers besides SJAS. I'll definitely take another look at OpenESB later when the support is available.
Right now I'm evaluating free BPEL engines. I was working with Apache engines and now I'm selecting Open-ESB product for stability, ease of use and production quality.
I did a small load test with BPEL service engine with GlassFish and it performed well. Mostly the service engine didn't crash!.
Open-esb has more useful components for an enterprise application.
The most important one is Workflow engine, which is in development, which nobody has.
With NetBeans, developing and deploying bpel process are really pain less.
Raja
As the lead developer of ServiceMix I can give you some hints on the features provided by ServiceMix, but I must admit I have hardly used OpenESB ...
Obviously I'm a bit biased, but these are a few nice features about ServiceMix (some of them have already been written by other people in this thread):
* very lightweight and can be embedded easily
* you can easily unit test / debug your components and applications
* wide range of ready to use JBI components
* maven 2 JBI plugin ease building / packaging JBI artifacts
* can be clustered to provide failover, loadbalancing, high availability
* toolkit to write standard JBI components very easily
* POJOs support
Cheers,
Guillaume Nodet
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/