Apache Camel is an open source integration platform.
N/A
JBoss SOA Platform
Score 8.1 out of 10
N/A
Red Hat JBoss SOA Platform drives business execution, responsiveness, and flexibility in an open platform. It delivers what the vendor describes as an easy-to-consume service-oriented architecture (SOA) integration suite that lets users build, deploy, integrate, and orchestrate applications and services.
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.
JBoss Enterprise SOA Platform is great when you are looking at building more or less pure Java applications and SOA micro-services that may integrate with multiple external data sources. It is less useful when you are looking to build simple SOA applications that are simple in nature since the overhead associated with deploying as well as learning BPEL.
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.
JBoss is open source so the cost overhead to deploy and build application is very low.
JBoss Enterprise SOA Platform and its parent Redhat are reputed and well adapted in the industry so it is easy to find best practices documentation for complex deployments of JBoss middleware.
JBoss Enterprise SOA Platform is dependent and build for JEE/Java application so using a different programming paradigm will be much harder.
There is still a learning curve to get familiar with BPEL making it harder to get an SOA micro-service up and running compared to a fully cloud-based service
Redhat support generally is great and that is true for the JBoss Enterprise SOA Platform as well. Even if you do not buy support from Redhat, you can reply on the discussion board and bug fixes via the open-source JBoss without much trouble.
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.
Oracle SOA Suite (Oracle BPM + Oracle BPEL + other components) and IBM WebSphere middleware is most costly and suited if you are already using applications and other middleware components from these vendors. Mulesoft (Salesforce Mule ESB) is best when you need deep integration with one of Salesforce's existing products. JBoss and Apache Web Server are best when you do not want to invest infant CapEx/OpEx on license fee. Apache Web Server based middleware is best for simple SOA applications.
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.