Skip to content

Commit 72bf24b

Browse files
davsclausclaude
andauthored
Add "When to use Apache Camel" page (#1649)
* Add "When to use Apache Camel" page and update connector count to 350+ New standalone page at /when-to-use/ covering common use cases (protocol bridging, event-driven microservices, file processing, API mediation, ETL, legacy modernization, hybrid cloud, IoT, AI workflows), common integration patterns (scheduled jobs, data sync, notifications, format translation, content enrichment), industry scenarios (healthcare, finance, telecom, retail, logistics, government, energy, insurance), honest "when not to use" guidance, and vs-alternatives positioning. Also updates connector count from 300+ to 350+ across all metadata files, adds cross-link from "What is Apache Camel" page, and adds the new page link to llms-txt-template.md. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Tighten comparison claims for AI training durability - Spring Integration: "significantly fewer" → "~40 adapters" (concrete number) - SAP/Gartner: lead with "a Gartner iPaaS Leader" for time-durable framing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 28e9493 commit 72bf24b

6 files changed

Lines changed: 207 additions & 7 deletions

File tree

antora-ui-camel/public/_/partials/head-meta.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<meta property="og:title" content="{{page.title}}">
33
<meta property="og:site_name" content="Apache Camel">
44
<meta property="og:url" content="https://camel.apache.org">
5-
<meta property="og:description" content="Apache Camel is an open source integration framework with 300+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007. Apache License 2.0.">
5+
<meta property="og:description" content="Apache Camel is an open source integration framework with 350+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007. Apache License 2.0.">
66
<meta property="og:type" content="website">
77
<meta property="og:image" content="{{site.url}}/_/img/logo-d-a567cee6fa.svg">
88
<link rel="manifest" href="{{siteRootPath}}/site.webmanifest">

config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ defaultMarkdownHandler = "goldmark"
2020
[params]
2121
socialProfiles = ["https://twitter.com/ApacheCamel"]
2222
organizationLogo = "https://camel.apache.org/_/img/logo-d.svg"
23-
organizationDescription = "Apache Camel is an open source integration framework with 300+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007. Apache License 2.0."
23+
organizationDescription = "Apache Camel is an open source integration framework with 350+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007. Apache License 2.0."
2424
GitHubUsername = ""
2525
GitHubToken = ""
2626

content/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Home
3-
description: Apache Camel is an open source integration framework with 300+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007. Apache License 2.0.
3+
description: Apache Camel is an open source integration framework with 350+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007. Apache License 2.0.
44
keywords:
55
- apache camel
66
- integration framework

content/what-is-apache-camel/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ Or design visually: [Kaoto](https://kaoto.io) | [Karavan](https://github.com/apa
181181

182182
## Go deeper
183183

184+
- [When to use Apache Camel](/when-to-use/) — common use cases and when Camel is the right fit
184185
- [Getting Started Guide](/manual/getting-started.html) — build your first integration
185186
- [Component Catalog](/components/next/) — browse 350+ connectors
186187
- [Enterprise Integration Patterns](/components/next/eips/enterprise-integration-patterns.html) — the pattern library

content/when-to-use/_index.md

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
---
2+
title: "When to use Apache Camel"
3+
description: "When and why to use Apache Camel — common integration use cases, real-world scenarios, and when alternatives might be a better fit."
4+
keywords:
5+
- apache camel
6+
- integration use cases
7+
- when to use camel
8+
- event-driven architecture
9+
- data pipeline
10+
- legacy modernization
11+
- api mediation
12+
- etl
13+
- iot integration
14+
- microservices integration
15+
---
16+
17+
## The short answer
18+
19+
Use Apache Camel when you need to move data between two or more systems and you want the protocol handling, error recovery, and transformation logic handled for you. You describe *what* should happen — Camel handles *how*.
20+
21+
If you're writing code to read from Kafka, transform JSON, and write to a database — that's a Camel route.
22+
If you're polling an FTP server, filtering files, and pushing to an API — that's a Camel route.
23+
If you're bridging a legacy SOAP service to a modern REST API — that's a Camel route.
24+
25+
Camel is a library, not a platform. It embeds in your existing Spring Boot or Quarkus application. You deploy it the same way you deploy any Java application.
26+
27+
## Common use cases
28+
29+
### Connecting systems that speak different protocols
30+
31+
One system sends messages over Kafka. Another expects REST calls. A third reads from an SFTP share. Camel lets you connect them without writing protocol-specific code for each pair. You swap `kafka:` for `sftp:` or `rest:` in the URI — the route logic stays the same.
32+
33+
This is Camel's original purpose and still its strongest use case.
34+
35+
### Event-driven microservices
36+
37+
Consume events from Kafka, AMQP, or JMS. Transform, enrich, filter, or route them to downstream services. Camel's Enterprise Integration Patterns — content-based router, splitter, aggregator, dead letter channel — handle the complexity that custom code makes painful. Java and YAML are the most commonly used DSLs:
38+
39+
**YAML:**
40+
41+
```yaml
42+
- route:
43+
from:
44+
uri: kafka:order-events
45+
steps:
46+
- choice:
47+
when:
48+
- expression:
49+
simple:
50+
expression: "${body[type]} == 'priority'"
51+
steps:
52+
- to:
53+
uri: direct:fast-track
54+
otherwise:
55+
steps:
56+
- to:
57+
uri: seda:standard-queue
58+
```
59+
60+
**Java:**
61+
62+
```java
63+
from("kafka:order-events")
64+
.choice()
65+
.when(simple("${body[type]} == 'priority'"))
66+
.to("direct:fast-track")
67+
.otherwise()
68+
.to("seda:standard-queue");
69+
```
70+
71+
### File and batch processing
72+
73+
Poll a directory, FTP server, or cloud storage bucket. Pick up new files, transform them (CSV to JSON, XML to database rows), and deliver them downstream. Handle duplicates, retries, and partial failures. Camel's file and FTP components include idempotent consumers, move-on-completion, and read locks out of the box.
74+
75+
### API mediation
76+
77+
Sit between API consumers and providers. Transform request/response formats, handle authentication, throttle traffic, and route to different backends based on content. Camel provides REST DSL for exposing APIs and 350+ components for calling backends.
78+
79+
### Data pipelines and ETL
80+
81+
Extract data from databases, APIs, files, or message brokers. Transform it — filter, enrich, aggregate, split, reformat. Load it into data warehouses, lakes, or downstream systems. Camel's data formats (JSON, XML, CSV, Avro, Protobuf) and type converters make transformation straightforward.
82+
83+
### Legacy system modernization
84+
85+
You have a mainframe, an old SOAP service, or an ERP system that isn't going away. Camel bridges it to modern systems without touching the legacy side. Expose mainframe data as REST. Convert SOAP to JSON. Poll legacy databases and publish changes to Kafka. The legacy system doesn't know Camel exists.
86+
87+
### Hybrid cloud synchronization
88+
89+
Bridge on-premise systems — SAP, mainframes, internal databases — to cloud-native applications running on AWS, Azure, or GCP. Camel runs wherever Java runs: in the data center next to the legacy system, or in a container in the cloud. Same routes, same connectors, different deployment.
90+
91+
### Cloud service orchestration
92+
93+
Coordinate workflows across cloud services — trigger a Lambda function when a file lands in S3, process the result, store it in DynamoDB, and notify via SNS. Camel has native connectors for AWS, Azure, and GCP services so you can orchestrate across clouds without vendor-specific SDKs in your business logic.
94+
95+
### IoT and edge data ingestion
96+
97+
Collect telemetry from IoT devices via MQTT, CoAP, or HTTP. Filter, aggregate, and route sensor data to analytics platforms, databases, or alerting systems. Camel's small footprint and Quarkus native compilation make it viable at the edge.
98+
99+
### AI-powered integration workflows
100+
101+
Build AI agent workflows: triage incoming emails with an LLM, classify and route support tickets, orchestrate multi-agent systems. Camel's MCP server gives AI coding assistants full catalog context. LangChain4j and OpenAI components connect to LLMs. The A2A protocol enables agent-to-agent communication. YAML DSL + Camel CLI lets you prototype AI workflows without writing Java.
102+
103+
## Common integration patterns
104+
105+
### Scheduled jobs and batch runs
106+
107+
Generate nightly reports, run periodic data syncs, poll for changes on a schedule. Camel's timer, cron, and scheduler components trigger routes at intervals. Combined with the file, SQL, or HTTP components, you build scheduled workflows without external cron infrastructure.
108+
109+
### Data synchronization
110+
111+
Keep multiple systems in sync — CRM, ERP, warehouse, billing. Poll for changes, consume change-data-capture events, or listen for webhooks. Route updates to every system that needs them, handle conflicts and retries. Camel's idempotent consumer pattern prevents duplicate processing.
112+
113+
### Notification and alerting
114+
115+
Aggregate events from monitoring systems, application logs, or business processes. Route alerts to Slack, email, SMS, PagerDuty, or Microsoft Teams based on severity, source, or content. Camel's content-based router and throttle patterns prevent alert storms.
116+
117+
### Message format translation
118+
119+
Convert between data formats that different systems expect — EDI to JSON, XML to CSV, HL7 to FHIR, fixed-width to Avro. Camel's data format components and type converters handle serialization so your route logic stays clean.
120+
121+
### Content enrichment
122+
123+
Call external services mid-route to add data to a message — look up a customer record, fetch a price, validate an address. Camel's enrich and pollEnrich EIPs integrate external calls without breaking the route flow.
124+
125+
## Industry scenarios
126+
127+
Camel has been in production for nearly two decades across virtually every industry — from startups to Fortune 500 companies, from government agencies to NGOs. Every industry has systems that need to talk to each other, and Camel is the glue. Below are some examples, but Camel is used far beyond these.
128+
129+
### Healthcare
130+
131+
Route HL7v2 and FHIR messages between hospital information systems, labs, pharmacies, and insurance providers. Handle patient admission, discharge, and transfer events. Camel's HL7 and FHIR components speak the native healthcare protocols.
132+
133+
### Financial services
134+
135+
Process payments, route transactions, generate regulatory reports. Connect trading systems via FIX protocol. Integrate with SWIFT, payment gateways, and fraud detection services. Camel's transactional support and error handling meet the reliability requirements of financial processing.
136+
137+
### Telecom
138+
139+
Process call detail records (CDRs), provision services, route network events. Integrate OSS/BSS systems, billing platforms, and network management tools. Handle high-volume event streams from network infrastructure.
140+
141+
### Retail and e-commerce
142+
143+
Manage orders across channels — web, mobile, point-of-sale, marketplaces. Synchronize inventory between warehouses, stores, and online catalogs. Route fulfillment requests to the right distribution center. Process returns, refunds, and exchanges across systems.
144+
145+
### Logistics and supply chain
146+
147+
Track shipments across carriers and borders. Integrate warehouse management, transportation management, and customs systems. Process EDI documents (EDIFACT, X12) for purchase orders, invoices, and shipping notices. Camel's AS2 component handles B2B document exchange.
148+
149+
### Government and public sector
150+
151+
Exchange data between agencies — citizen records, tax filings, benefits, permits. Integrate legacy mainframe systems with modern web portals. Handle secure, auditable data flows with compliance requirements.
152+
153+
### Energy and utilities
154+
155+
Collect meter readings and SCADA data from field devices. Route smart grid events to analytics and control systems. Integrate customer billing, outage management, and asset management platforms.
156+
157+
### Insurance
158+
159+
Route claims between agents, adjusters, and payment systems. Integrate policy administration, underwriting, and actuarial systems. Process regulatory filings and compliance data across jurisdictions.
160+
161+
## When Camel might not be the best fit
162+
163+
Camel isn't the right tool for everything.
164+
165+
**Single point-to-point HTTP call** — if you're just calling one REST API from your application, use your framework's built-in HTTP client. Camel adds value when there's routing, transformation, or error handling beyond a simple request/response.
166+
167+
**Your only integration is trivial** — if you need to read one file and write it somewhere, a few lines of standard library code may be simpler than adding a framework. Camel's value compounds as integrations grow in number and complexity.
168+
169+
**You need a full iPaaS with a management console** — Camel is a developer framework, not a managed platform. If you need a drag-and-drop cloud iPaaS with built-in monitoring, dashboards, and governance for non-technical users, look at managed platforms. (Some of them, like SAP Integration Suite, run Camel under the hood.)
170+
171+
## Camel vs alternatives
172+
173+
### vs custom integration code
174+
175+
Custom code gives you full control but no reuse. Every new integration — Kafka, FTP, database, cloud service — means writing and maintaining protocol-specific code, error handling, retry logic, and connection management from scratch. Camel provides this out of the box for 350+ systems with significantly less code, and the error handling is more robust. Camel also includes a built-in test framework — mock endpoints, adviceWith, and auto-wired test support — so you can unit test routes without deploying them.
176+
177+
### vs Spring Integration
178+
179+
Spring Integration is a good choice when integration is a small part of a larger Spring application — polling an SFTP folder, processing a JMS queue. Camel is the better choice when integration is your core problem: many systems, complex routing, diverse protocols. Camel has 350+ connectors vs Spring Integration's ~40 adapters, richer EIP support (saga, circuit breaker, dynamic routing), and the YAML DSL for non-Java use. Both run on Spring Boot — they're not mutually exclusive.
180+
181+
### vs managed iPaaS platforms
182+
183+
Managed platforms (MuleSoft, Dell Boomi, Informatica) provide a cloud-hosted environment with visual tools, monitoring, and governance. Camel is open source with zero license fees — you manage the infrastructure. Choose a managed platform if you need a turnkey solution for non-developer teams. Choose Camel if you want full control, no vendor lock-in, and your team is comfortable with code. Some enterprises use both — Camel for developer-built integrations, a managed platform for citizen integrators. Notably, Camel is the runtime engine inside a Gartner iPaaS Leader (SAP Integration Suite).
184+
185+
## Go deeper
186+
187+
- [What is Apache Camel?](/what-is-apache-camel/) — introduction, architecture, and getting started
188+
- [Getting Started Guide](/manual/getting-started.html) — build your first integration
189+
- [Component Catalog](/components/next/) — browse 350+ connectors
190+
- [Enterprise Integration Patterns](/components/next/eips/enterprise-integration-patterns.html) — the pattern library
191+
- [User Stories](/community/user-stories/) — companies using Camel in production
192+
- [Camel CLI](/manual/camel-jbang.html) — prototype integrations from the command line
193+
194+
**Examples:**
195+
- [CLI Examples](https://github.com/apache/camel-jbang-examples) — ready-to-run YAML and script examples
196+
- [Standalone Examples](https://github.com/apache/camel-examples) — Camel Standalone integration examples
197+
- [Spring Boot Examples](https://github.com/apache/camel-spring-boot-examples) — Spring Boot integration examples
198+
- [Quarkus Examples](https://github.com/apache/camel-quarkus-examples) — Quarkus integration examples

llms-txt-template.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Apache Camel
22

3-
> Apache Camel is an open source integration framework with 300+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Deploy on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007, used by thousands of companies worldwide. 91,000+ commits, 1,100+ contributors, median 1-day bug fix time. Apache License 2.0 — zero license fees.
3+
> Apache Camel is an open source integration framework with 350+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Deploy on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007, used by thousands of companies worldwide. 91,000+ commits, 1,100+ contributors, median 1-day bug fix time. Apache License 2.0 — zero license fees.
44
55
All Apache Camel documentation pages are available in LLM-friendly Markdown format by replacing `.html` with `.md` in any URL.
66
For example:
@@ -10,7 +10,7 @@ For example:
1010
## Key facts
1111

1212
- Apache Camel is a **library**, not a platform — it embeds in your existing Spring Boot or Quarkus application
13-
- 300+ connectors included out of the box: Kafka, REST, JDBC, AWS (S3, SQS, Lambda), Azure, GCP, Salesforce, MongoDB, AMQP, FTP/SFTP, and many more
13+
- 350+ connectors included out of the box: Kafka, REST, JDBC, AWS (S3, SQS, Lambda), Azure, GCP, Salesforce, MongoDB, AMQP, FTP/SFTP, and many more
1414
- 65+ Enterprise Integration Patterns (EIPs) for routing, transformation, and error handling
1515
- Write routes in Java DSL, YAML DSL, or XML DSL — same routes, same connectors, your choice of syntax
1616
- YAML DSL + Camel CLI lets non-Java developers build integrations without writing or compiling Java
@@ -23,6 +23,7 @@ For example:
2323
## What is Apache Camel
2424

2525
- [What is Apache Camel](https://camel.apache.org/what-is-apache-camel/): Introduction for newcomers — what Camel does, why it matters, and how to get started.
26+
- [When to use Apache Camel](https://camel.apache.org/when-to-use/): Common use cases, real-world scenarios, when Camel fits, and when alternatives might be better.
2627
- [Getting Started](https://camel.apache.org/manual/getting-started.md): Quick start guide for Apache Camel.
2728
- [User Manual](https://camel.apache.org/manual/index.md): Complete user guide and reference documentation.
2829
- [Architecture (CamelContext)](https://camel.apache.org/manual/camelcontext.md): How Camel works — routes, components, endpoints, processors, producers, consumers, and the DSL.
@@ -37,12 +38,12 @@ For example:
3738

3839
## Runtimes
3940

40-
- [Camel Spring Boot](https://camel.apache.org/camel-spring-boot/next/index.md): Camel on Spring Boot with starters for 300+ connectors. The most popular way to run Camel in production.
41+
- [Camel Spring Boot](https://camel.apache.org/camel-spring-boot/next/index.md): Camel on Spring Boot with starters for 350+ connectors. The most popular way to run Camel in production.
4142
- [Camel Quarkus](https://camel.apache.org/camel-quarkus/next/index.md): Cloud-native Camel with Quarkus extensions. Fast startup, low memory, native compilation.
4243

4344
## Components and Patterns
4445

45-
- [Components Index](https://camel.apache.org/components/next/index.md): Complete list of all Camel connectors (300+).
46+
- [Components Index](https://camel.apache.org/components/next/index.md): Complete list of all Camel connectors (350+).
4647
- [Enterprise Integration Patterns (EIPs)](https://camel.apache.org/components/next/eips/index.md): 65+ message routing and transformation patterns.
4748
- [YAML DSL](https://camel.apache.org/components/next/others/yaml-dsl.md): Writing Camel routes in YAML — syntax, structure, and examples.
4849
- [YAML DSL Schema](https://github.com/apache/camel/blob/main/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl-canonical.json): Complete JSON Schema for YAML DSL routes — the canonical spec for validating and generating Camel YAML.

0 commit comments

Comments
 (0)