The open-source foundation powering Reframe.
Reframe is built on a modular architecture with specialized libraries:
┌─────────────────────────────────────────────────────────────┐
│ Reframe Engine │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Dataflow │ │ Datalogic │ │ Datafake │ │
│ │ Workflows │ │ Rules │ │ Data Generation │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ swift-mt-message │ mx-message │ quick-xml │ │
│ │ MT Parsing │ MX Parsing │ XML Processing │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
| Library | Purpose | Role in Reframe |
| Dataflow | Workflow orchestration | Executes transformation pipelines |
| Datalogic | JSONLogic evaluation | Processes business rules and mappings |
| Datafake | Test data generation | Generates sample messages |
Each library handles a specific responsibility:
- Dataflow: Orchestrates when and how workflows execute
- Datalogic: Evaluates what transformations to apply
- Datafake: Generates realistic test data
All libraries are:
- Written in Rust for memory safety and speed
- Pre-compiled at startup (zero runtime parsing)
- Thread-safe for concurrent processing
All business logic is:
- Defined in JSON (not compiled code)
- Auditable and version-controllable
- Modifiable without rebuilding
| Technology | Version | Purpose |
| Rust | 1.89+ | Language |
| Tokio | 1.48 | Async runtime |
| Axum | 0.8 | HTTP framework |
| serde_json | 1.0 | JSON processing |
| Library | Purpose |
| swift-mt-message | SWIFT MT parsing |
| mx-message | ISO 20022 parsing |
| quick-xml | XML serialization |
| Technology | Purpose |
| MongoDB | Message storage (optional) |
| utoipa | OpenAPI generation |
| async-graphql | GraphQL API |
All components are open source under Apache 2.0:
Each project includes an interactive playground for testing.
| Operation | Typical Latency |
| MT103 → pacs.008 | < 1ms |
| pacs.008 → MT103 | < 1ms |
| Validation | < 0.5ms |
| Sample generation | < 2ms |
| Configuration | Messages/Second |
| Single instance (4 CPU) | 5,000+ |
| Horizontal scaling | Linear |
| Resource | Typical Usage |
| Memory | 256-512 MB |
| CPU | Low (mostly I/O bound) |
| Startup time | < 5 seconds |
Datalogic →
Dataflow →
Datafake →