Solution Patterns: Fuse to Apache Camel migration

Application Development is evolving as the modern Hybrid Cloud and cloud-native architectures drive new demands on applications. As a part of this continual evolution, we are evolving our product offering from Red Hat Fuse to the Red Hat build of Apache Camel, allowing us to address a broader set of customer deployment use cases.

As Red Hat Fuse approaches product End of Life (EOL) on June 30, 2024, Red Hat build of Apache Camel is the natural go-forward solution for integrations built around Red Hat Fuse which is based on an older version of Apache Camel. Fuse will remain in the maintenance life cycle until its EOL.

The Red Hat build of Apache Camel is the evolution for Red Hat Fuse, and is a powerful, versatile framework for application integration. It also includes running Camel on Quarkus and Spring Boot runtimes in both on-premise and cloud environments, including the Camel K operator which streamlines building, deploying and operating Camel integrations on OpenShift.

Performing such a migration can be scary as the effort is not just limited to migrating the high level Camel routes. Indeed, many other underlying technical components (JDK version, Runtime type, XML format etc.) are involved in the migration.

With this solution pattern you will find a guided way to perform Apache Camel v2 to Camel v3 and v4 migrations in a faster way. This solution pattern proposes an accelerated path to performing such a migration by abstracting all those technical details, leaving it to the migration of the high level integration logic .

Contributors: Michael Thirion (Red Hat)

1. Use cases

Common use cases that can be address with this solution are:

  • Migrate Fuse 6.x (Blueprint XML, Spring XML or Java) applications to the Red Hat build of Apache Camel, targeting either Sprin Boot 3, Quarkus or Camel K.

  • Migrate Fuse 7 (Karaf or Spring Boot) applications to the Red Hat build of Apache Camel, targeting either Spring Boot 3, Quarkus or Camel K.

  • Start writing Camel 4.x applications right away with no effort

2. The Solution

This solution aims to provide an accelerated path to migrating applications from Camel 2 to Camel 3 and Camel 4. More concretely, the material should help people migrating any kind of Fuse 6 or Fuse 7 applications to the latest Red Hat build of Apache Camel.

The Solution Pattern offers a number of Camel migration templates which can be leveraged to reduce the migration effort to its bare minimum.

The demos however focuses on migrating a Fuse 6 application, and more concretely a Camel v2.17 one, in Blueprint XML format, running on Karaf 2. The XML format will be converted to the optimized IO XML one.

This particular usecase has been chosen for the demonstration because it can be considered as potentially the hardest one. Applications running on Fuse 7, no matter which distribution, could use the same approach and will benefit from a shortest migration effort.