We are currently looking into different ESB solutions. What we got for now is:
- Mule ESB
- Apache Servicemix
- JBOSS Fuse / Fuse Service Works
My main question is: Does anybody have experience with ESBs and can share their insights?
Our main requirements are:
- Open source / community driven, enterprise version could be an option
- Major Enterprise Integration Patterns are supported
- Major Protocols are supported for consuming / publishing APIs ** HTTP/HTTPS ** FTP/SFTP ** REST ** SOAP ** RMI
- File parsers for XML, CSV, XLS(X)
- Message Queue (e.g. ActiveMQ, RabbbitMQ, JMS)
- Database Connectivity (JDBC, e.g. PostgreSQL, MySQL, SQL Server, Oracle, Access)
- Integration with SAGE, Salesforce, Twitter API, FB Connect, Siebel
- Easy to integrate custom APIs / protocols
- Good documentation / strong community support
- Nice to have: JPA support
I had a look into Mule ESB, which looks pretty solid from a development / design perspective. Anypoint studio is really nice to work with. Apache servicemix seems to be a code-only approach. JBOSS Fuse seems to have an integration with the JBOSS Developer Studio, which is also (quite) nice.
From the above criteria, I still think Mule is the strongest, but I am not sure because this was only my first glance. There is a fairly good documentation, a well administered support forum and some tutorials. However, the topic seems to be so enterprisey, that there is not much around the web.
I think they all support EAI, that is what they are here for. The question is, what are the main arguments for one product or the other. As I said, it seems like UI and ease of administration and development is the one main point for distinguishment in the first place.
But with this topic, of course, also scalability and performance are important. But these two cannot be evaluated quickly.
Does anybody have any recommendations?