Phase 2: Architecture (Months 3-5)
Goals: Improve modularity, extensibility, API design
Duration: 3 months
Dependencies: Phase 1 Complete
Objectives
Month 3: Storage Abstraction
- Design StorageBackend interface for pluggable storage backends
- Implement FileSystemStorage (refactor ComponentFile)
- Implement InMemoryStorage for testing
- Add storage backend configuration system
- Migrate 50% of codebase to use abstraction
Month 4: Service Provider Interface
- Define Query Engine SPI
- Define Index Type SPI
- Migrate existing query engines to SPI (SQL, Cypher, Gremlin)
- Migrate existing index types to SPI (LSM, Vector, FullText)
- Create extension developer guide
- Create sample third-party plugin
Month 5: API/SPI Separation
- Create arcadedb-api module (stable public API)
- Create arcadedb-spi module (extension points)
- Add Java module descriptors (JPMS)
- Update engine to use API module
- Create API backward compatibility tests
- Publish API documentation
Deliverables
Success Metrics
- 3+ storage implementations
- 5+ plugins using SPI
- API backward compatibility tests passing
- Third-party plugin example working
- 100% API JavaDoc coverage
Related Tasks
Tasks TASK-P2-001 through TASK-P2-017 will be created as individual issues linked to this epic.
Part of the ArcadeDB Evolution Project - see IMPROVEMENT_PLAN.md
Phase 2: Architecture (Months 3-5)
Goals: Improve modularity, extensibility, API design
Duration: 3 months
Dependencies: Phase 1 Complete
Objectives
Month 3: Storage Abstraction
Month 4: Service Provider Interface
Month 5: API/SPI Separation
Deliverables
Success Metrics
Related Tasks
Tasks TASK-P2-001 through TASK-P2-017 will be created as individual issues linked to this epic.
Part of the ArcadeDB Evolution Project - see IMPROVEMENT_PLAN.md