[ 
https://issues.apache.org/jira/browse/CAMEL-24982?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ramu updated CAMEL-24982:
-------------------------
    Description: 
h2. Motivation

[Mojo|https://github.com/modular/modular] is an open-source programming 
language from Modular, designed for high-performance systems and AI workloads.

Mojo 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 or 
functions as part of an integration pipeline.

h2. Proposed Component

Introduce a new camel-mojo component that provides a Camel-native way to invoke 
Mojo code.

Example:

{code:java}
from("direct:process")
.to("mojo:function?name=process")
.to("direct:next");
{code}

The exact endpoint syntax and execution model can be determined during 
implementation.

h2. Initial Scope

The initial implementation could investigate:

* Invoking Mojo programs or functions from Camel
* Mapping Camel message data to Mojo inputs and outputs
* Error handling through normal Camel mechanisms
* Reusable execution and lifecycle management
* Support for Mojo native CPU and SIMD capabilities
* Efficient or low-copy data exchange where practical

Mojo Python interoperability and accelerator/GPU capabilities could be 
considered as future extensions.

h2. Non-Goals

This issue does not propose:

* Bundling the Mojo compiler with Apache Camel
* Integrating the entire Modular/MAX platform
* Implementing a new Mojo runtime
* Making GPU or model-serving functionality a requirement for the initial 
component

h2. Licensing

The relevant Mojo open-source code is available under the Apache License 2.0 
with LLVM Exceptions.

The exact dependencies used by the Camel component should be reviewed as part 
of the implementation.

h2. Discussion

This issue is 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.


  was:
## 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.



> 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: New Feature
>            Reporter: Ramu
>            Priority: Major
>
> h2. Motivation
> [Mojo|https://github.com/modular/modular] is an open-source programming 
> language from Modular, designed for high-performance systems and AI workloads.
> Mojo 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 or 
> functions as part of an integration pipeline.
> h2. Proposed Component
> Introduce a new camel-mojo component that provides a Camel-native way to 
> invoke Mojo code.
> Example:
> {code:java}
> from("direct:process")
> .to("mojo:function?name=process")
> .to("direct:next");
> {code}
> The exact endpoint syntax and execution model can be determined during 
> implementation.
> h2. Initial Scope
> The initial implementation could investigate:
> * Invoking Mojo programs or functions from Camel
> * Mapping Camel message data to Mojo inputs and outputs
> * Error handling through normal Camel mechanisms
> * Reusable execution and lifecycle management
> * Support for Mojo native CPU and SIMD capabilities
> * Efficient or low-copy data exchange where practical
> Mojo Python interoperability and accelerator/GPU capabilities could be 
> considered as future extensions.
> h2. Non-Goals
> This issue does not propose:
> * Bundling the Mojo compiler with Apache Camel
> * Integrating the entire Modular/MAX platform
> * Implementing a new Mojo runtime
> * Making GPU or model-serving functionality a requirement for the initial 
> component
> h2. Licensing
> The relevant Mojo open-source code is available under the Apache License 2.0 
> with LLVM Exceptions.
> The exact dependencies used by the Camel component should be reviewed as part 
> of the implementation.
> h2. Discussion
> This issue is 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)

Reply via email to