How do you think about the Camel now can invoke bean processing which can be implemented in the "core" language (Java, Kotlin, Groove)?
How to deal with:

from("...")
  .bean(aBean, "aMethod")

?

On 5/20/22 16:49, ski n wrote:
Some Friday afternoon thoughts... on the Camel DSL and Camel Workflow. The
Camel DSL The Camel framework implements a lot of Enterprise Integration
Patterns, Data Formats and Components. To make it easier to write
integrations, the Camel DSL (Domain Specific Language) was invented. This
DSL grew into several parts: - Routes - RoutesConfiguration - Templates -
Endpoints - REST - Expressions (simple) There are currently several syntax
options available to write the DSL (xml, spring xml, yaml, Java, Groovy and
Kotlin). However to run these, you need to embed the DSL either in a
runtime container (for example Karaf) or within code (for example Java).
Could Camel be a language on its own? Now that the DSL is so extensive, I
was wondering couldn't Camel be a programming language on its own? 1. By
combining the DSL's into a consistent Language/Syntax. 2. Enhance the
language, so developers can code all Camel tasks through the Camel language
(Context, Routes, Endpoints and so on). 3. Run the language directly on JDK
(converting it maybe first to Java?). Either one syntax could be used (for
example Kotlin) or several syntax options could co-exist next to each
other. Every option could have their own extension: clj (camel language
java) clx (camel language xml) clk (camel language kotlin) cly (camel
language yaml) clg (camel language groovy) For example, creating a project
with only clk (or a mix with other syntax)

A developer workflow In addition to the Camel language, I was thinking
about its workflow. Especially in regard to REPL's, notebooks and
serverless functions. What could a modern workflow in Camel look like?
Example 1) Create a project in VSC or Jupyter (locally or in the cloud). 2)
Create a camel language file. 3) Program Camel in a text editor (with the
help of Camel LSP) or graphically (with the help Karavan). 4) Test it a)
locally with Jbang and push result into the cloud witht CamelK b) Test it
directly in the cloud (CamelK) So no need to learn any other language
beside Camel Language. Much like SQL XSLT or Gradle. So maybe no a
full-blown programming language, but on a higher level than a DSL. Of
course, it should be possible to extend the language through beans and
other stuff.

Is Camel a framework or a language? What are your thoughts on this topic?

Raymond

--
Vyacheslav Boyko
mailto:mail4...@gmail.com

Reply via email to