Ramu created CAMEL-24982:
----------------------------
Summary: Add Apache Camel integration for the open-source Mojo
programming language
Key: CAMEL-24982
URL: https://issues.apache.org/jira/browse/CAMEL-24982
Project: Camel
Issue Type: Test
Reporter: Ramu
## Motivation
[Mojo](https://github.com/modular/modular) is an open-source programming
language from Modular, designed for high-performance systems and AI workloads.
It provides native performance, SIMD, Python interoperability, and support for
heterogeneous compute.
Apache Camel currently does not have a dedicated Mojo component.
A `camel-mojo` component could allow Camel routes to invoke Mojo
programs/functions as part of an integration pipeline, bringing Mojo's
high-performance compute capabilities into Camel applications.
## Proposed component
Introduce a new `camel-mojo` component that provides a Camel-native way to
invoke Mojo code.
Conceptually:
```text
Camel Route
|
v
camel-mojo
|
v
Mojo function/program
|
v
result
```
Example:
```java
from("direct:process")
.to("mojo:function?name=process")
.to("direct:next");
```
The exact endpoint/API can be determined during implementation.
## Initial scope
The initial implementation could investigate:
* Invoking Mojo programs/functions from Camel
* Mapping Camel message data to Mojo inputs and outputs
* Error handling through normal Camel mechanisms
* Reusable execution/lifecycle management
* Support for Mojo's native CPU/SIMD capabilities
* Opportunities for efficient/low-copy data exchange
Mojo's Python interoperability and accelerator/GPU capabilities could be
considered as future extensions where appropriate.
## Non-goals
This issue is not proposing to:
* bundle the Mojo compiler with Camel
* integrate the entire Modular/MAX platform
* implement a new Mojo runtime
* make GPU/model serving functionality a requirement for the initial component
## Licensing
The relevant Mojo open-source code is available under Apache License 2.0 with
LLVM Exceptions. The exact dependencies used by the Camel component should be
reviewed as part of implementation.
## Discussion
This issue is primarily intended to get maintainer feedback on whether a
`camel-mojo` component would be a good fit for Apache Camel and, if so, what
execution model and API would be appropriate.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)