Apache Camel is an open source integration platform.
N/A
WSO2 Enterprise Service Bus
Score 7.1 out of 10
Enterprise companies (1,001+ employees)
WSO2 says they have taken a fresh look at old-style,
centralized ESB architectures, and designed their unique WSO2 Enterprise Service Bus
from the ground up as the highest performance, lowest footprint, and most
interoperable service oriented architecture (SOA) and integration middleware
today. Additionally, the vendor says that by relying on their carbon technology
the ESB is able to deliver a smooth start-to-finish project experience.
Message brokering across different systems, with transactionality and the ability to have fine tuned control over what happens using Java (or other languages), instead of a heavy, proprietary languages. One situation that it doesn't fit very well (as far as I have experienced) is when your workflow requires significant data mapping. While possible when using Java tooling, some other visual data mapping tools in other integration frameworks are easier to work with.
WSO2 ESB is an awesome product for companies looking to venture into the world of SOA with an ESB. They have a lot of other products too that can work really well with their carbon infrastructure. The interface is simple for deploying and managing proxy services. You can also write custom modules within the ESB using Java with IDE like Eclipse
Camel has an easy learning curve. It is fairly well documented and there are about 5-6 books on Camel.
There is a large user group and blogs devoted to all things Camel and the developers of Camel provide quick answers and have also been very quick to patch Camel, when bugs are reported.
Camel integrates well with well known frameworks like Spring, and other middleware products like Apache Karaf and Servicemix.
There are over 150 components for the Camel framework that help integrate with diverse software platforms.
One of the basic requirement of an ESB product is that it should be able to support transformation. WSO2 ESB provides support of XSLT, so you can transform your request to whatever format. Moreover, transformations like converting your xml payload into JSON and JSON payload to XML are out of the box available.
WSO2 ESB provides a scheduler feature, by which you can configure your own scheduler to call a proxy service at a particular time of day or or initiate sequence.
WSO2 ESB provides excellent error handling techniques, WSO2 ESB provides detailed error handling scenarios to tackle all the situations. WSO2 ESB also provides custom error handling by which you can make your own custom error message before sending it back to client.
Lack of auto-restart built-in capabilities. In case of running out of memory there are no built-in methods to recover from a crash, just for example, Oracle WebLogic Node Manager.
If you are looking for a Java-based open source low cost equivalent to webMethods or Azure Logic Apps, Apache Camel is an excellent choice as it is mature and widely deployed, and included in many vendored Java application servers too such as Redhat JBoss EAP. Apache Camel is lacking on the GUI tooling side compared to commercial products such as webMethods or Azure Logic Apps.
Very fast time to market in that so many components are available to use immediately.
Error handling mechanisms and patterns of practice are robust and easy to use which in turn has made our application more robust from the start, so fewer bugs.
However, testing and debugging routes is more challenging than working is standard Java so that takes more time (less time than writing the components from scratch).
Most people don't know Camel coming in and many junior developers find it overwhelming and are not enthusiastic to learn it. So finding people that want to develop/maintain it is a challenge.