https://github.com/netcracker/qubership-core-process-orchestrator
A Java-based process orchestration framework that provides task scheduling, execution management, and process flow control capabilities.
https://github.com/netcracker/qubership-core-process-orchestrator
core java lib
Last synced: 2 months ago
JSON representation
A Java-based process orchestration framework that provides task scheduling, execution management, and process flow control capabilities.
- Host: GitHub
- URL: https://github.com/netcracker/qubership-core-process-orchestrator
- Owner: Netcracker
- License: apache-2.0
- Created: 2025-03-03T12:30:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-05T07:36:32.000Z (over 1 year ago)
- Last Synced: 2025-03-05T08:29:14.281Z (over 1 year ago)
- Topics: core, java, lib
- Language: Java
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE-OF-CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
[](https://github.com/Netcracker/qubership-core-process-orchestrator/actions/workflows/maven-deploy.yml)
[](https://sonarcloud.io/summary/overall?id=Netcracker_qubership-core-process-orchestrator)
[](https://sonarcloud.io/summary/overall?id=Netcracker_qubership-core-process-orchestrator)
[](https://sonarcloud.io/summary/overall?id=Netcracker_qubership-core-process-orchestrator)
[](https://sonarcloud.io/summary/overall?id=Netcracker_qubership-core-process-orchestrator)
[](https://sonarcloud.io/summary/overall?id=Netcracker_qubership-core-process-orchestrator)
# Process Orchestration Framework
A Java-based process orchestration framework that provides task scheduling, execution management, and process flow control capabilities.
## Overview
This framework allows you to define and execute complex process workflows with dependent tasks, timeouts, and state management. It uses a database backend for persistence and provides robust error handling and process control.
## Key Components
### Core Classes
- `ProcessOrchestrator` - Main orchestration engine that manages process execution
- `ProcessDefinition` - Defines process structure and task dependencies
- `Process` - Handles the execution of process instances
- `TaskExecutorService` - Custom executor service for task management with timeout capabilities
### Data Models
- `ProcessInstanceImpl` - Process instance implementation with state management
- `TaskInstanceImpl` - Task instance implementation with execution state tracking
- `DataContext` - Context storage for process and task data
### Repositories
- `ContextRepository` - Manages persistence of context data
- `ProcessInstanceRepository` - Handles process instance persistence
- `TaskInstanceRepository` - Manages task instance persistence
### Execution Components
- `TaskExecutionWrapper` - Wraps task execution with callback handling
- `TerminateRunnable` - Handles graceful task termination
## Features
- Task dependency management
- Process and task state persistence
- Timeout handling for tasks
- Asynchronous task execution
- Process termination capabilities
- Version control for data consistency
- Context data management
- Error handling and recovery
## Database Schema
The framework uses the following tables:
- `po_context` - Stores context data
- `pe_process_instance` - Stores process instances
- `pe_task_instance` - Stores task instances