Skip to content

Commit 7642707

Browse files
committed
edits to layout and image URL
1 parent 1d4506f commit 7642707

File tree

8 files changed

+106
-44
lines changed

8 files changed

+106
-44
lines changed

documentation/modules/ROOT/nav.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616
*** xref:03-demo.adoc#_walkthrough_guide[{module}.{counter:submodule3}. Walkthrough guide]
1717
1818
19-
* https://redhat-solution-patterns.github.io/[{counter:module}. Other Red Hat Solution Patterns^]
19+
* xref:dev-resources.adoc[Developer Resources]

documentation/modules/ROOT/pages/02-architecture.adoc

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,29 +36,31 @@ As a migration does not bring immediate new business value, it's important that
3636
== An in-depth look at the solution's architecture
3737

3838
The Red Hat Build of Camel is an Cloud-native, multi-language and a multi-runtime integration stack.
39-
Camel-based integration logic can be written in XML or Java, and can behave as a springboot, a quarkus, or a serverless artifact.
39+
Camel-based integration logic can be written in XML or Java, and can behave as a Spring Boot, a Quarkus, or a Serverless artifact.
4040

41-
The present demo will take a legacy API developed in Jboss Fuse 6.2 on Karaf, in Blueprint XML.
41+
The present demo will take a legacy API developed in JBoss Fuse 6.2 on Karaf, in Blueprint XML.
4242
It's suggested that such an application targets the Quarkus runtime.
43-
The provided Quarkus template is 100% compatible with CamelK, so the resutling migrated application is immediately ready to be added to a serverless stack.
43+
The provided Quarkus template is 100% compatible with Camel K, so the resutling migrated application is immediately ready to be added to a serverless stack.
4444

4545
The material can be used to migrate any Fuse 6 or 7 distribution to the Red Hat Build of Apache Camel.
4646
The demos will however focus 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.
4747
This path has been chosen for the demonstration because it can be considered the hardest one. Applications running on Fuse 7, no matter which distribution, could use the same approach and will bnefit from a shortest migration effort.
4848

4949
In general, the following migration strategy should be considered:
5050

51-
Language
52-
* If you have integrations in Java, keep them in Java DSL
53-
* If you have integrations in XML, migrate to the optimized IO XML
51+
* *Language*
5452

55-
Runtime
53+
** If you have integrations in Java, keep them in Java DSL
54+
** If you have integrations in XML, migrate to the optimized IO XML
5655

57-
* If you are already on Fuse 7 springboot, migrate toward springboot
58-
* In any other cases, you could target Quarkus
56+
* *Runtime*
5957

60-
Target
61-
Probably, the target should remain a "standard" container application, ready for Serverless but not mandatorily a Function.
58+
** If you are already on Fuse 7 springboot, migrate toward springboot
59+
** In any other cases, you could target Quarkus
60+
61+
* *Target*
62+
63+
Probably, the target should remain a "standard" container application, ready for Serverless but not mandatorily a Function. +
6264
Thus, the demos will showcase several migrations to "plain" springboot or quarkus applications, and there will be one extra demo to showcase a migration from that result to Camel K.
6365

6466

@@ -67,10 +69,13 @@ Thus, the demos will showcase several migrations to "plain" springboot or quarku
6769

6870
A Fuse / Apache Camel based application can be seen as a composition of multiple layers: the Apache Camel layer, the runtime layer (i.e. OSGI) and the platform layer (i.e. Karaf/Fabric8).
6971

70-
![Standard approach](../assets/images/runtimes-0.png?raw=true)
72+
.Standard approach
73+
74+
image:runtimes-0.png[]
7175

7276
Theoretically, the migration would involve changes in all layers.
7377
The material here consists in ready to use templates that are already perfectly suitable for the target so that the migration effort will be reduced to a small subset of changes on the Apache Camel layers.
7478
The templates are Maven artifacts, preconfigured with all required dependencies, and holding all the needed placeholders to migrate code and configuration in a timely fashion.
7579

76-
![Templates-based approach](../assets/images/runtimes-1.png?raw=true)
80+
.Templates-based approach
81+
image:runtimes-1.png[]

documentation/modules/ROOT/pages/03-demo.adoc

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ You can see a migration based on the templates in action here.
1414

1515
* https://drive.google.com/file/d/11CBxNI_2QI77uFeD7Dxqf32uDnAt9cKX/view?usp=drive_link[Migration toward Camel for Springboot and Camel extension for Quarkus^]
1616
* https://drive.google.com/file/d/1DqTrlydgvJiKTe7y6oxuvY8K-SAve9xc/view?usp=drive_link[Running the migrated application on Openshift^]
17-
* https://drive.google.com/file/d/11CBxNI_2QI77uFeD7Dxqf32uDnAt9cKX/view?usp=drive_link[Running the migrated application as a Camelk serverless function^]
17+
* https://drive.google.com/file/d/11CBxNI_2QI77uFeD7Dxqf32uDnAt9cKX/view?usp=drive_link[Running the migrated application as a Camel K serverless function^]
1818

1919
=== Overview
2020

21-
The templates are available in the following repository: https://github.com/mthirion/fuse-to-camel3-camelk
21+
The templates are available in the following repository: https://github.com/mthirion/fuse-to-camel3-camelk[https://github.com/mthirion/fuse-to-camel3-camelk ^]
2222

2323

2424
* The repository has a dedicated branch for each target version: currently *Camel 3.18* or *Camel 3.20*
@@ -31,8 +31,8 @@ image:repo-branch.png[width=60%]
3131

3232
So, there is a subdirectory for each of the most used Camel components (REST API, SOAP, JMS...) further divided per runtime (Quarkus and Springboot).
3333

34-
+
35-
image:repo-templates.png[width=60%]
34+
35+
image:repo-templates.png[]
3636

3737

3838

@@ -85,17 +85,17 @@ Here below, we'll call this namespace 'claimdemo-migration'.
8585

8686
$ oc new-project claimdemo-migration
8787

88-
==== Preparing CamelK (optional)
89-
If you want to test the migrated application as a serverless component, you'll need an Openshift server with CamelK installed. +
90-
Install the Red Hat CamelK Operator to your Openshift cluster.
88+
==== Preparing Camel K (optional)
89+
If you want to test the migrated application as a serverless component, you'll need an Openshift server with Camel K installed. +
90+
Install the Red Hat Camel K Operator to your Openshift cluster.
9191
Optionaly you can also deploy the Openshift Serverless (Knative Serving and Knative Eventing) operators. +
92-
Make sure you also have the kamel CLI on your local machine, and of the same version as the CamelK Operator. +
93-
For clarity, we'll use a separate namespace for Camelk-related artefacts. Let's call it camel-migration. +
92+
Make sure you also have the kamel CLI on your local machine, and of the same version as the Camel K Operator. +
93+
For clarity, we'll use a separate namespace for Camel K-related artefacts. Let's call it camel-migration. +
9494

9595
$ oc new-project camel-migration
9696

97-
Custom beans such as custom Camel processors as considered by Camelk as external dependencies. +
98-
Those dependencies need to be made available to CamelK at deployment/build time. +
97+
Custom beans such as custom Camel processors as considered by Camel K as external dependencies. +
98+
Those dependencies need to be made available to Camel K at deployment/build time. +
9999
The best way to do that is to use an external Maven repository, such as Nexus. +
100100
It can be deployed on or outside of Openshift but needs to be reachable from it.
101101

@@ -214,11 +214,11 @@ To run it and test it on Openshift:
214214
$ cd -
215215

216216

217-
==== Turning the migrated application into a CamelK serverless function
217+
==== Turning the migrated application into a CamCamel KelK serverless function
218218
The template makes use of the new IO XML format, which makes the migrated application immediately compatible with Camel K. +
219219

220-
As mentioned, with CamelK, the Java dependencies (custom Camel processor) need to be made externaly available, for example thanks to a Nexus repository +
221-
To do that, you can use the helpers found in the camelk template directory, which will be refered to as $CAMELK +
220+
As mentioned, with Camel K, the Java dependencies (custom Camel processor) need to be made externaly available, for example thanks to a Nexus repository +
221+
To do that, you can use the helpers found in the Camel K template directory, which will be refered to as $CAMELK +
222222

223223
$ CAMELK=./templates/camelk
224224

@@ -227,7 +227,7 @@ There are 3 elements to modify in the helper: +
227227
[upperalpha]
228228
. *Import of the Java library* +
229229
+
230-
Copy the org.blogdemo.claimdemo.ClaimProcessor java class to the camelk "javadependency" directory.
230+
Copy the org.blogdemo.claimdemo.ClaimProcessor java class to the Camel K "javadependency" directory.
231231

232232
$ mkdir -p $CAMELK/javadependency/src
233233
$ mkdir -p $CAMELK/javadependency/src/main
@@ -282,7 +282,7 @@ Edit the CamelBeans.java file in the following way:
282282
}
283283

284284
+
285-
You are ready to deploy the application as a CamelK Integration +
285+
You are ready to deploy the application as a Camel K Integration +
286286
Simply run:
287287

288288
$ oc project camel-migration
@@ -295,5 +295,5 @@ Simply run:
295295
$TARGET/src/main/resources/camel/MyQuarkusRoute.xml $CAMELK/BeansBinding.java
296296

297297
NOTE: Entry configuration prefixes such as "%prod.", "%dev." etc might be misinterpreted by Camel K and lead to a deployment error. +
298-
Feel free to comment out those lines, that are not required by the CamelK framework.
298+
Feel free to comment out those lines, that are not required by the Camel K framework.
299299

documentation/modules/ROOT/pages/_attributes.adoc

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
= Solution Pattern: Migrating from Red Hat Fuse to Red build of Apache Camel
3+
4+
== Developer Resources
5+
* https://developers.redhat.com/products/redhat-build-of-apache-camel/overview[The Red Hat build of Apache Camel Overview ^]
6+
* https://access.redhat.com/documentation/en-us/red_hat_build_of_apache_camel/[Product Documentation for Red Hat build of Apache Camel ^]
7+
* https://developers.redhat.com/products/redhat-build-of-apache-camel/getting-started[Sandbox hands-on tutorials ^]

documentation/modules/ROOT/pages/index.adoc

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ Application Development is evolving as the modern Hybrid Cloud and cloud-native
88

99
As Red Hat Fuse approaches product End of Life (EOL) on June 30, 2024, 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 https://access.redhat.com/support/policy/updates/jboss_notes#phases[maintenance life cycle^] until its EOL.
1010

11-
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 is the best starting point for Camel deployments on OpenShift.
11+
The https://developers.redhat.com/products/redhat-build-of-apache-camel/overview[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 is as great starting point for Camel deployments on OpenShift.
1212

13-
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...) are involved in the migration.
13+
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.
1414

15-
With this solution pattern you will find a guided way to perform Apache Camel v2 to Camel v3 or 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 .
15+
With this solution pattern you will find a guided way to perform *Apache Camel v2 to Camel v3 or 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 .
1616

1717

1818
Contributors: _Michael Thirion (Red Hat)_
@@ -22,18 +22,19 @@ Contributors: _Michael Thirion (Red Hat)_
2222

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

25-
- migrate Fuse 6.x (Blueprint XML, Spring XML or Java) applications to the Red Hat Build of Camel, targeting either Springoot 3, Quarkus or the CamelK Serverless runtime.
26-
- migrate Fuse 7 (Karaf or Springboot) applications to the Red Hat Build of Camel, targeting either Springboot 3, Quarkus or the CamelK Serverless runtime.
27-
- start writing Camel 3.x or 4.x applications right away with no effort
25+
- Migrate Fuse 6.x (Blueprint XML, Spring XML or Java) applications to the Red Hat Build of Camel, targeting either Springoot 3, Quarkus or the Camel K Serverless runtime.
26+
- Migrate Fuse 7 (Karaf or Springboot) applications to the Red Hat Build of Camel, targeting either Springboot 3, Quarkus or the Camel K Serverless runtime.
27+
- Start writing Camel 3.x or 4.x applications right away with no effort
2828
2929
30-
== The story behind this solution pattern
30+
== The Solution
3131

32-
The development team of Globex, the fictitious retail company, has been tasked to study the migration of the legacy Fuse 6 of applications to the new, cloud-native, serverless Red Hat Build of Camel.
33-
At first glance, the migration seems to require a lot of effort, as changes must happen at all technical layers of the applications.
32+
This solution aims to provided an accelerated path to migrating applications from Camel 2 to Camel 3 or 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.
3433

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

36-
== The Solution
36+
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.
37+
38+
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 bnefit from a shortest migration effort.
3739

38-
The dev team decides to leverage the Camel migration templates in order to reduce the migration effort to its bare minimum.
3940

supplemental-ui/partials/head-meta.hbs

Whitespace-only changes.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<!-- Google tag (gtag.js) -->
2+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-5KTMPXHH4X"></script>
3+
<script>
4+
window.dataLayer = window.dataLayer || [];
5+
function gtag(){dataLayer.push(arguments);}
6+
gtag('js', new Date());
7+
8+
gtag('config', 'G-5KTMPXHH4X');
9+
</script>
10+
11+
<header class="header">
12+
<nav class="navbar">
13+
<div class="navbar-brand">
14+
<a class="navbar-item" href="https://redhat-solution-patterns.github.io/" target="_blank"><img
15+
src="{{uiRootPath}}/img/logo.png" height="40px" alt="Cloud Native Architecture Solution Patterns"></a>
16+
<a class="navbar-item" style="font-size: 24px; color: white"
17+
href="{{{or site.url (or siteRootUrl siteRootPath)}}}">{{site.title}}</a>
18+
<button class="navbar-burger" data-target="topbar-nav">
19+
<span></span>
20+
<span></span>
21+
<span></span>
22+
</button>
23+
</div>
24+
<div id="topbar-nav" class="navbar-menu">
25+
<div class="navbar-end">
26+
<div class="navbar-item has-dropdown is-hoverable">
27+
<a class="navbar-link" href="#" style="color: white">Architectures & Patterns</a>
28+
<div class="navbar-dropdown">
29+
<a class="navbar-item" href="https://www.redhat.com/architect/portfolio/" target="_blank">Portfolio Architecture&nbsp; </a>
30+
<a class="navbar-item" href="https://redhat-solution-patterns.github.io/solution-patterns/patterns.html" target="_blank">Solution Patterns </a>
31+
<a class="navbar-item" href="https://validatedpatterns.io/" target="_blank">Validated Patterns&nbsp;</a>
32+
<a class="navbar-item" href="https://catalog.redhat.com/solutions" target="_blank">Ecosystem Solutions&nbsp;</a>
33+
</div>
34+
</div>
35+
<div class="navbar-item has-dropdown is-hoverable">
36+
<a class="navbar-link" href="#" style="color: white">Resources</a>
37+
<div class="navbar-dropdown">
38+
<a class="navbar-item" target="_blank" href="https://developers.redhat.com">Red Hat Developers</a>
39+
<a class="navbar-item" target="_blank" href="https://developers.redhat.com/app-dev-platform">App Dev Platform</a>
40+
<a class="navbar-item" target="_blank" href="https://www.redhat.com/en/products/application-foundations">Red Hat Application Services</a>
41+
</div>
42+
</div>
43+
44+
<a class="navbar-item" target="_blank" href="https://developers.redhat.com">Red Hat Developers</a>
45+
<a class="navbar-item" target="_blank"
46+
href="https://github.com/redhat-solution-patterns/redhat-solution-patterns.github.io/issues">Feedback</a>
47+
48+
</div>
49+
</div>
50+
</nav>
51+
</header>

0 commit comments

Comments
 (0)