Beoogde Componenten & Roadmap¶
Roadmap Overzicht¶
gantt
title crunch_uml Ontwikkelroadmap
dateFormat YYYY-MM
axisFormat %Y Q%q
section Metaschema
Gecentraliseerde Repository :a1, 2024-07, 4M
Hiërarchie documentatie :a2, after a1, 3M
Schema versioning v2 :a3, after a2, 2M
db.py refactoring :a4, after a2, 3M
section Import/Export
Streaming parser :b1, 2024-07, 3M
API endpoint parser :b2, after b1, 3M
Indexeringstechnieken :b3, after b2, 4M
GraphQL/OpenAPI renderer :b4, after b3, 3M
section Validatie
Caching mechanisme :c1, 2024-10, 3M
Controlemodule :c2, after c1, 3M
Concurrent safe cache :c3, after c2, 2M
Validatie DSL :c4, after c3, 3M
section Configuratie
Configuratiemodule :d1, 2024-10, 4M
Universele Mapping Layer :d2, after d1, 4M
REST API interface :d3, after d2, 3M
Monitoring & Metrics :d4, after d3, 3M
section Uitbreiding
Schema Diff & Merge :e1, 2025-07, 3M
Generalization v2 :e2, after e1, 3M
Snowflake/Azure connectors :e3, after e2, 3M
AI-based indexing :e4, after e3, 4M
section Release
Performance audit :f1, 2026-07, 2M
Beveiligingsaudit :f2, after f1, 2M
Documentatie v1.0 :f3, after f2, 2M
Fase 1: Metaschema & Import/Export¶
Gecentraliseerde Repository¶
Hiërarchisch gedocumenteerd en gestructureerd metaschema met unique identifiers voor relaties. Minimaliseert parsing issues bij diepe nesting.
Technische uitdaging: Inconsistenties tussen repository-metaschema en werkelijk gebruikte metaschema's in bronsystemen.
- Hiërarchische documentatie van het metaschema
- Unique identifier management voor relaties
- Versie-tracking en migratie-tooling
Streaming / Chunked Parser¶
Verwerking van grote XMI- en JSON-bestanden in chunks om geheugengebruik te beperken.
- Chunked XML parsing via
lxml.iterparse() - Streaming JSON via
ijson - Memory profiling en benchmarks
API Endpoint Parser¶
Directe integratie met externe model-repositories via REST API's.
- Generieke REST client
- Paginatie-ondersteuning
- Authentication (OAuth2, API keys)
Indexeringstechnieken¶
Efficiëntere queries op grote modellen.
- Full-text indexing via SQLAlchemy
- Fuzzy search (trigram-gebaseerd)
- AI-gebaseerde semantic indexing (embeddings)
Fase 2: Validatie & Configuratie¶
Caching & Validatie Engine¶
Cache-mechanisme voor opgeslagen validaties zodat niet elke validatie volledig opnieuw hoeft te draaien.
Technische uitdaging: Concurrentieproblemen bij gelijktijdig valideren en bijwerken van de cache.
- Validatie-resultaat caching (hash-gebaseerd)
- Cache-invalidatie bij model-wijzigingen
- Concurrent-safe locking strategie
- Controlemodule voor beheer gecachte resultaten
Universele Mapping Layer¶
Metadata-driven, database-agnostic mapping tussenlaag.
Technische uitdaging: Complexiteit mapping-configuratie bij uitgebreide metagegevens. Variaties in inheritance-interpretatie.
- Mapping DSL of configuratieformaat
- Standaard inheritance-strategieën (table-per-class, table-per-hierarchy, etc.)
- Database-dialect abstractie
- Reverse engineering vanuit bestaande databases
Configuratiemodule¶
Overkoepelende interface voor beheer van data exchanges en het loggingproces.
- Pipeline-configuratie (YAML/TOML)
- Audit logging van alle operaties
- Reproduceerbare transformatie-runs
- Environment-specifieke configuratie
REST API Interface¶
FastAPI-gebaseerde web-interface.
- Endpoints voor import/transform/export
- Async verwerking van grote bestanden
- WebSocket voor progress updates
- OpenAPI documentatie (auto-gegenereerd)
Fase 3: Uitbreiding¶
Schema Diff & Merge Engine¶
Automatische vergelijking en samenvoeging van twee schema-versies.
- Structural diff (packages, classes, attributes)
- Semantic diff (relaties, constraints)
- Three-way merge
- Conflict resolution UI/CLI
Generalization Materializer v2¶
Ondersteuning voor complexe inheritance-strategieën.
- Multi-level inheritance
- Diamond inheritance handling
- Configurable materialization strategies
- Impact-analyse bij structuurwijzigingen
GraphQL / OpenAPI Renderers¶
- GraphQL schema generatie
- OpenAPI/Swagger specificaties
- Type mapping configuratie
Cloud Database Connectors¶
- Snowflake connector
- Azure SQL Database connector
- Connection pooling en retry-logica
Monitoring & Metrics¶
- Performance metrics per operatie
- Memory usage tracking
- Operatie-logging met timing
- Dashboard / reporting interface
Doorlopende activiteiten¶
| Activiteit | Tooling |
|---|---|
| Code quality | black, isort, mypy, flake8, bandit |
| Testing | pytest, pytest-cov |
| CI/CD | GitHub Actions |
| Packaging | build, twine → PyPI |
| Documentatie | mkdocs-material |