Skip to main content
TrustRadius
Apache Camel

Apache Camel

Overview

What is Apache Camel?

Apache Camel is an open source integration platform.

Read more

Learn from top reviewers

Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is Apache Camel?

Apache Camel is an open source integration platform.

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

11 people also want pricing

Alternatives Pricing

What is Cin7?

Cin7, headqduartered in Auckland, aims to make complex retail and wholesale simple with all-in-one cloud inventory, POS, EDI and 3PL. Cin7 allows users to manage sales channels, inventory, point of sale and supply chain in one central, cloud-based software. Cin7 offers integrations using third…

Return to navigation

Product Details

What is Apache Camel?

Apache Camel Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews From Top Reviewers

(1-4 of 4)

EIP using Camel

Rating: 8 out of 10
April 03, 2017
Vetted Review
Verified User
Apache Camel
3 years of experience
We use it as the processing backbone/Enterprise Integration Pattern (EIP) framework for several products that we develop. It is used to provide components for message ingest, orchestration and export. By orchestration, I mean the determination and execution of the path of any single message through the application. It also is our primary error handling mechanism as it provides out-of-the-box error retry, waiting and exponential backoff.
  • The Java DSP is one of the primary reasons we chose Camel over Spring Integration's XML-based route definitions. It provides compile-time checking of syntax with auto-complete in an IDE (Eclipse, etc).
  • The component documentation on the website is phenomenal.
  • Error handling mechanisms are robust and easy to use and set up. Default settings are great and intuitive.
  • The ability to define distinct contexts within the same application and define context-wide, context-specific error handling is great as well.
Cons
  • I find the "seda" endpoint to be less obvious that it is doing multi-threading than Spring Integration's executor mechanism.
  • Integration with Spring Beans is pretty good, but I believe SI's is a bit better (for obvious reasons, both being Spring products).
  • SI's use support is probably a bit better/faster and I believe the user base is larger so that there are most questions/answers for SI on StackOverflow
Message processing, especially with high throughput, is an excellent use case. File system monitoring, JMS ingest, etc., is really great. I would most consider it for automated processing scenarios. Although it provides components to support REST endpoints, I would choose frameworks such as Jersey or Spring REST for that. Although it supports a response mechanism, I don't think I would choose to use it in systems where I need fine-tuned control of responses.
  • 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.
  • Spring Integration
We did a comparison of the two products with an example application that tested about 10 distinct EIP pattern. We wrote Camel in XML and Java DSL and SI in XML. This was about 3 years ago. At the time, I found the threading model in SI to be more intuitive and Camel's seda. However, Camel's documentation at the time was far and away more complete (Wiki pages for Camel vs looking through XML schema for SI). Since the SI has improved their documentation. The main factor that I believe still sets Camel apart is the Java DSL. Writing routes is complicated enough, but doing so in XML would be just painful.

Apache Camel: ways you're wasting developer time if you aren't using it

Rating: 10 out of 10
July 12, 2016
DM
Vetted Review
Verified User
Apache Camel
2 years of experience
I worked on a product development team creating an enterprise cybersecurity product. The core event processing mechanism of the product used Apache Camel in many places, mainly to handle interactions over JMS between the various modules of the product. Apache Camel especially makes the process of sending a POJO from one method to another across two separate application components, handling the marshaling and unmarshaling via JAXB, and the sending and receiving via JMS. It achieves all this routing via a simple XML configuration that is part of the application's spring context (although it can also be configured procedurally).
  • Configuration of information routing via XML in a Sprint Context.
  • Robustness. Apache Camel is capable of handling many different information transfer protocols out-of-the-box.
  • Extensibility. Apache Camel also allows for custom routing handlers where needed.
Cons
  • Some of the documentation is a little sparse. In particular, its TCP-based routes use an underlying Netty server, and the interactions between Netty's decoder capabilities and Apache Camel's routing/handler capabilities can be a little muddy at times. In general it is clear which routes and endpoints are the more frequently used and which haven't been given as much attention.
In my experience, Apache Camel was very useful for the main use case that we leveraged it for, i.e. wiring up JMS messaging. I found the less-frequently-used handlers and endpoints to be either less reliable, maintainable, or easy to work with than just rolling my own data transfer logic. I would stick to straightforward use cases where the XML configuration conveys the intent in a very clear manner, and avoid using Apache Camel to do large portions of moving data around that involve business logic or custom intermediaries.
  • There was certainly a positive impact in terms of code maintainability and ease of implementing new messaging pipelines, however, it's a little difficult to quantify.
Esper is only similar in that they both are involved in complex even processing, however Esper's aim is a little more complex and specialized. In general however I found Apache Camel to be much easier to understand, implement and debug, whereas Esper's DSL can get very complicated and hard to debug and test. When done correctly however, Esper offers much more analytical capabilities for correlating and reasoning about asynchronous events.

Camel is awesome!

Rating: 10 out of 10
April 13, 2017
Vetted Review
Verified User
Apache Camel
2 years of experience
I've used Apache Camel as a great alternative integration framework compared to heavier middleware solutions from companies like IBM. It serves that purpose wonderfully, and is a total pleasure to use. Great plugins for almost any connector you could need, and they all work as expected.
  • Open source, which is vitally important
  • Great integration with Java frameworks such as Spring Boot, allowing it to be deployed however you need to deploy it
  • Wonderful testing tools as part of the framework
Cons
  • Documentation could use some work, sometimes it takes a bit of trial and error to figure out how to do something.
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.
  • Easier development time and less infrastructure cost than similar proprietary middleware.
WebSphere Message Broker - Expensive, old, hard to use, bad connectors
Mulesoft - Very similar to Camel, but expensive and buggy

Very Good and Lightweight Integration Solution for your Applications

Rating: 9 out of 10
May 06, 2021
Vetted Review
Verified User
Apache Camel
6 years of experience
My team uses Apache Camel as a Platform as a Software service in the tech stack to perform integration of their code on a component basis by deriving it from files based on a defined logic and processes and then make those available to testers and UAT group. Apache Camel being opensource is very helpful for our team to perform their daily integration activities in non prod environment for quick testing of their work.
  • open source and a great set of component feature set - always latest features available for integration
  • works well with spring boot
  • great community and support for any kind of workflow
  • based on enterprise integration patterns which helps our developers achieve integration tasks with all kinds of API services
Cons
  • didn't work well when our developers tried to transform heavy data sets
  • Apache Camel's whole logic is based on java so team needs to have a great skill set in java
  • if there are a handful of workflows then Apache Camel's full potential can't be realized
very well suited when data has to be extracted in itself from files based on defined logic and process workflows and integrated with other processes and applications in your architecture. Our teams put a gateway in front of the APIs for integrating data and ensuring data integrity before letting the application process the data.
  • handle multiple workflows
  • data distribution
  • modernizing legacy apps and APIs
  • Process web-submitted forms and generating reports
  • huge cost saving and quick turn around in terms of extracting data from files and integrating them to our processes
  • ease the work with java objects
  • modernizing our API services
  • ease of using it with Apache's TomCat server
working with Apache's TomCat server, our developer found it most easy given the UI of Camel to perform integration and data processing tasks. when compared to the other two softwares they felt the need to learn new tools outside of Apache family can be avoided and with kafka, the UI is similar but Camel just had more intuitive features to help them do their tasks for almost 3 years now.
Return to navigation