Skip to content

Introduction ​

The Pipeline Framework is a powerful tool for building reactive pipeline processing systems. It simplifies the development of distributed systems by providing a consistent way to create, configure, and deploy pipeline steps.

Visual Pipeline Designer
The Pipeline Framework includes a visual canvas designer at https://app.pipelineframework.org that allows you to create and configure your pipelines using an intuitive drag-and-drop interface. Simply design your pipeline visually, click "Download Application", and you'll get a complete ZIP file with all the generated source code - no command-line tools needed!

Key Features ​

  • Reactive Programming: Built on top of Mutiny for non-blocking operations
  • Immutable Architecture (by default): Persistence is append-first and configurable; updates are explicit and opt-in
  • Visual Design Canvas: Create and configure pipelines with the visual designer at https://app.pipelineframework.org
  • Annotation-Based Configuration: Simplifies adapter generation with @PipelineStep
  • gRPC & REST Flexibility: Automatic adapter generation for fast gRPC or easy REST integration
  • Multiple Processing Patterns: OneToOne, OneToMany, ManyToOne, ManyToMany, SideEffect and blocking variants
  • Health Monitoring: Built-in health check capabilities
  • Multiple Persistence Models: Choose from reactive or virtual thread-based persistence
  • Modular Design: Clear separation between runtime and deployment components
  • Test Integration: Built-in support for unit and integration tests with Testcontainers

Framework Overview ​

For complete documentation of the framework architecture, implementation details, and reference implementations, see the complete documentation files in the main repository:

How It Works ​

The framework lets you define pipeline steps as simple classes annotated with @PipelineStep. At build time, it generates the adapters and infrastructure, keeping services clean and focused on business logic.

Build Fast ​

Design ​

Build ​

Develop ​

Observe ​

Extend ​

Evolve ​

This approach reduces boilerplate and keeps pipeline code consistent and portable.