Apache Camel is an open source integration platform.
N/A
Oracle SOA Suite
Score 8.0 out of 10
N/A
The rapid adoption of cloud-based applications by the enterprise, combined with organizations’ desire to integrate applications with mobile technologies, is dramatically increasing application integration complexity. Oracle SOA Suite 12c, the latest version of the company's unified application integration and SOA solution, offers a simplified cloud, mobile, on-premises and Internet of Things (IoT) integration capabilities within a single platform.
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.
Oracle service bus is great to quickly proxy any legacy services exposed as soap service. It's well suited for aggregating multiple services on a single endpoint. We can point to multiple endpoints on the business service and use a round-robin approach to access the endpoints. It's not well suited for data transformation and quick preview of mappings and transformations. It's not great on path to cloud transformation.
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.
The Oracle Service Bus makes the management of web services extremely easy. Through its point and click interface, the web service endpoints can be easily modified.
The administration console provides useful dashboards to diagnose any service issues.
Message reporting tied to a database seems counter productive. Better options to eliminate that would not only minimize the maintenance hassle but also gives more ease to manage the product.
Polling feature isn't very efficient where the end point JMS queues may still have JMS connections despite not enabling the corresponding poller proxy services.
Unable to deploy multiple web services in one go from the OSB Web console.
We have had not many issues with Oracle Service Bus and it's very stable for our requirements. It's highly available and helps us implement Tier1 applications on it.
It's an excellent enterprise service bus and has very stable features. We have been using it since 2008. We did hit into some issues. But, recreating the service helped fix many issues. Also, deployment to various environments was easy. Also, the plugin on Eclipse helps to build proxy and business services quick and easy.
We had some issues with MQ connectivity through OSB and our experience was poor with the support team. They do respond. But, it felt like we are ignored and we had bad support. We had to escalate and things used to get dragged for weeks before we get more quality questions on how to pursue investigation.
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.