Sign up for our newsletter
Technology / Software

We Need to Talk About Apache Camel

The Apache Software Foundation (ASF) oversaw 339 projects in 2019 — with a robust community of over 3,000 committers tweaking a huge 59,309,787 lines of code.

The most active project, by commits, was Apache Camel — a tool designed to allow enterprise developers to integrate a huge range of applications.

Apache Camel lacks the brand recognition of fellow ASF projects Hadoop, Kafka, or Spark; all widely used by well-known businesses, many of which have build critical components of their architecture on such open source software.

But as businesses seek to integrate more applications — e.g. to make combined use of the data they generate — Apache Camel is growing more important.

White papers from our partners

(This is particularly so for those who favour a developer-led DIY approach, rather than using a third-party contractor and paying the license fees for its software.)

Credit: Jessica Arias, Unsplash. Creative Commons.

Apache Camel: The European Commission’s Developers Like It… 

Among those using Apache Camel are the European Commission (EC)’s developers.

With European policy makers forthright in their desire to see more open source toolings put to use across member states, perhaps that’s no surprise.

Read this: Microsoft Buckles Under EU Pressure: Changes Cloud Contracts to Reflect “Data Controller” Role

And as one developer at the EC responsible for “developing reusable components, and advocating open source software” puts it: “I personally like the elegance and performance compared with other integration frameworks.”

He also touts a lively community (that made 41,164 commits in 2019).

Tell Me More… 

Confluent’s Kai Wähner is also effusive about the project. 

In a DZone blog, he notes that “[Apache Camel lets you] easily integrate different applications using the required patterns.

“You can use Java, Spring XML, Scala or Groovy. Almost every technology you can imagine is available, for example HTTP, FTP, JMS, EJB, JPA, RMI, JMS, JMX, LDAP, Netty, and many, many more (of course most ESBs also offer support for them). Besides, own custom components can be created very easily.”

He adds: “You can deploy Apache Camel as standalone application, in a web container (e.g. Tomcat or Jetty), in a JEE application Server (e.g. JBoss AS or WebSphere AS), in an OSGi environment or in combination with a Spring container.

“Every integration uses the same concepts!

Read this: Of Cowboys and K8s: An Idiot’s Guide to Kubernetes

“No matter which protocol you use. No matter which technology you use. No matter which domain specific language (DSL)  you use – it can be Java, Scala, Groovy or Spring XML. You do it the same way. Always! There is a producer, there is a consumer, there are endpoints, there are EIPs, there are custom processors  / beans (e.g. for custom transformation) and there are parameters (e.g. for credentials).”

Even Mulesoft, which provides a similar offering in the form of its open source Mule ESB acknowledges that Camel’s lean framework “makes it easy to learn for programmers. Camel also accommodates different Domain Specific Languages (DSLs), allowing programmers to work in whichever language they find most confortable.”

“Camel also closes the gap between modeling and implementation by adhering to Enterprise Integration Patterns (EIPs) – allowing programmers to split integration problems into smaller pieces that are more easily understood.

New in 2020

In 2019 the Apache Camel team added two new projects: Camel K and Camel Quarkus. Camel K essentially takes the toolkit of Camel and runs it natively on Kubernetes, in a version specifically designed for serverless and microservice architectures.

(Users of Camel K can instantly run integration code written in Camel DSL on their preferred cloud, using Kubernetes or OpenShift).

Early this year it plans to add new tools including a Kafka Connector and Camel Spring Boot (moved out from main repository) — an open source Java-based framework used to create microservices that was developed by Pivotal.

The European Commission may seem an unlikely trail-blazer, but expect to hear a lot more about Apache Camel in 2020.

See also: Microservices vs Monolith: Lessons from the Coalface


This article is from the CBROnline archive: some formatting and images may not be present.

CBR Staff Writer

CBR Online legacy content.