Spending sometime checking out Apache Camel and Mule ESB, at first glance both seems to do the same thing. A few key points for my personal experience ni using both of them
- I find Apache Camel easier to use but the difference in learning curve between the two would not greatly differ to each other. As long as you can grasp the fundamental concepts, the usage of both should be quite straight forward.
- Mule ESB is a complete platform compared to Apache Camel which feels more like a library.
- Apache Camel on its self is only a mediation framework, although using other service container such as Redhat's Hawt.io or Apache ServiceMix can fill the gap. Integrating the other service containers is also straight forward.
Based on my preference I would rather choose Apache Camel and adding Apache Service Mix, or a custom Service platform. Although Mule ESB provide a complete package and has a well implemented platform, going into a lean approach also has its own good points as well as its risk.