User Tools

Site Tools


apache_camel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apache_camel [2023/12/05 12:01] – [Camel documentation] kalaschnikowapache_camel [2023/12/12 17:00] (current) – [Apache Camel] kalaschnikow
Line 1: Line 1:
 +====== Apache Camel ======
 +
 +https://camel.apache.org/
 +
 +Apache Camel is an Open Source Integration framework based on known [[https://camel.apache.org/components/4.0.x/eips/enterprise-integration-patterns.html|Enterprise Integration Patterns (EIP)]].
 +
 +EIPs implemented by Camel are described in a well known [[https://www.enterpriseintegrationpatterns.com/|Enterprise Integration Patterns book]].
 +
 +
 +  * Camel empowers you to define routing and mediation rules in a DSL (e.g. Java, XML, YAML etc)
 +  * Camel uses URIs to work with any kind of transport or messaging model (e.g. HTTP, Kafka, JMS ...)
 +    * as well as pluggable Components and DataFormat options
 +  * Camel has 
 +    * support for BeanBinding
 +    * integration with some popular frameworks (like Spring)
 +    * support for unit testing of routes
 +
 +
 +===== Camel documentation =====
 +  * [[Apache Camel User Manual]]
 +    * My summary of [[https://camel.apache.org/manual/index.html|Apache Camel User manual]]
 +
 +
 +  * [[https://camel.apache.org/components/4.0.x/index.html|Components]]
 +    * [[https://camel.apache.org/components/4.0.x/dataformats/index.html|Data formats]]
 +      * [[https://camel.apache.org/components/4.0.x/dataformats/csv-dataformat.html|CSV]]
 +        * [[https://github.com/apache/camel/blob/main/components/camel-csv/src/main/docs/csv-dataformat.adoc|JavaDoc zum CSV Format]] (?)
 +
 +  * Properties
 +    * [[https://camel.apache.org/components/4.0.x/properties-component.html|Properties Component]]
 +    * [[https://camel.apache.org/manual/property-binding.html|Property Binding in Camel]]
 +    * [[https://camel.apache.org/manual/using-propertyplaceholder.html|How to use Camel property placeholders]]
 +
 +  * Examples
 +    * [[https://github.com/CamelCookbook/camel-cookbook-examples|Apache Camel Developer's Cookbook, 2nd Edition Samples]]
 +      * a little bit outdated, but still usable.
 +    * [[http://www.masterspringboot.com/camel/transforming-csv-to-java-objects-using-camel/|Transforming CSV to Java Objects using Camel]] (with Bindy)
 +
 +===== Camel related projects =====
 +
 +  * Apache Kameleon -> https://kameleon.dev/#/standalone
 +    * A project generator for Apache Camel. It generates maven-based Java project with preconfigured Apache Camel runtime and selected components/extensions.
 +      * The simplest way to generate a new Camel project.
 +    * On Github: https://github.com/apache/camel-kameleon
 +
 +  * Apache Karavan -> https://github.com/apache/camel-karavan
 +    * UI ("designer") to handle Camel routes etc.
 +    * Karavan can run as
 +      * web application
 +      * VS Code extension
 +      * Eclipse Che plugin
 +    * Runs generated code with 
 +      * JBang ("standard" way)
 +      * after the export the code can run with
 +        * Quarkus
 +        * Spring Boot
 +    * If Karavan is installed in Kubernetes
 +      * as web application
 +        * -> export to git
 +          * -> Tekton pipelines
 +    * Misc links
 +      * https://camel.apache.org/blog/2023/01/karavan-intro/
 +