Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] [jai-workflow-core] Support Modules #16

Open
czelabueno opened this issue Jan 15, 2025 · 0 comments
Open

[FEATURE] [jai-workflow-core] Support Modules #16

czelabueno opened this issue Jan 15, 2025 · 0 comments
Assignees
Labels
enhancement New feature or request Q1-25 Expected for Q1 2025

Comments

@czelabueno
Copy link
Owner

Feature Title

Implement Module packaging

Description

A Module is a collection of nodes grouped together to perform a higher-level function. Modules can be reused across different workflows, providing modularity and reusability.
The Modules should define an EntryPoint as Node and should implement a native protocol to be plugged or unplugged of new or existing workflows.

Modules must be packaged as Java module or Java library to be imported into other projects and run in the same JVM.

Modules cannot run on their own without a parent workflow.

Motivation

Sometimes, you will find that you are regularly adding exactly the same set of nodes to every workflow, or you want to group a lot of nodes into a single, logical unit. This is what Modules are for.
image
We can combine all of the parallel task-* nodes into a single Module, so that the resulting Workflow resembles the following:
image

Alternatives

No response

Additional Context

No response

@czelabueno czelabueno added enhancement New feature or request Q1-25 Expected for Q1 2025 labels Jan 15, 2025
@czelabueno czelabueno self-assigned this Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Q1-25 Expected for Q1 2025
Projects
None yet
Development

No branches or pull requests

1 participant