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.
(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…
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.