Participants
Expand |
---|
|
Agenda
Review the roadmap
Demonstration of current work
Review the roadmap
Design Questions
...
Roadmap
Planned Architecture
...
Working Client Management and Authentication
...
Roadmap
Getting to a pilot-ready release candidate by Tech Congress was always going to be challenging. The team has been working hard, but we need to adjust the milestones and expectations for release candidate 1.
Goals for release candidate are broadly:
Deployable and fully functional in the basic CRUD operations on all Resources and Descriptors.
Proper error handling and edge case management.
Performance on par with the ODS/API.
Be useable for basic field testing and non-critical path use cases.
While we want to be looking ahead to supporting state agency use, at the 2024 Summit we agreed to prioritize service provider / LEA usage scenarios first. Given that,
...
Milestone
...
Functional Goals
...
Basic timeline
Tech Congress 2025 - release candidate with “basic” feature set useable for pilot testing typical data exchange scenarios.
Info |
---|
Focused primarily on LEA and vendor-to-vendor scenarios. State scenarios are critical for this project. The Alliance will be designing for state usage scenarios before Tech Congress 2025. The primary missing pieces on the release candidate time frame:
|
Summit 2025 - production-ready version 1.0
Info |
---|
Aiming for feature parity with the ODS/API from the perspective of API-based integrations, with one primary exception: no plan to support XML-based composites. |
Feature List
Note |
---|
Reviewing the list below:
|
Tip |
---|
Meeting notes:
|
Data Standard and API Standard Compatibility
0.2
Status | ||||
---|---|---|---|---|
|
.NET application with PostgreSQL storage
Level 0 and Level 1 document validation
Reference and descriptor validation
Error message like ODS/API 7.2
Docker and Kubernetes
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | ||||
---|---|---|---|---|---|---|---|---|
Resources API - core Ed-Fi Data Standard |
|
Compliant Discovery API, Descriptor API, and Resource API definition (except GET by query): able to run bulk upload, smoke test. Includes JSON validation based on API schema file. Fake OAuth (1).
Descriptor API - core Ed-Fi Data Standard |
| |||||||||||
Discovery API |
| |||||||||||
Data Standard version independence |
| |||||||||||
MetaEd-based extensions |
| |||||||||||
Dynamic Profiles |
| |||||||||||
Multiple data standards in same deployment |
| |||||||||||
Composites |
|
Data Integrity and Validation Features
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Level 0 and level 1 validation |
| |||||||||||
Descriptor validation |
| |||||||||||
Reference validation |
| |||||||||||
Cascading updates on key changes |
| |||||||||||
Level 2 validation via SQL scripts |
Once a compatibility layer is available, will be able to run the same SQL scripts used today for Level 2 validation | |||||||||||
Realtime level 2 validations via streaming data |
|
API Client Features
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Concurrency management with ETags |
| |||||||||||
LIMIT/OFFSET paging |
| |||||||||||
Cursor-based paging | (7.3) |
| ||||||||||
Identification code-based queries | (7.3) |
| ||||||||||
Identities API |
| |||||||||||
Unique ID System Integration |
|
Database Technologies
0.4
Status | ||||
---|---|---|---|---|
|
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Core database storage in PostgreSQL |
The database structure is very different than the ODS database | |||||||||
Core database storage in MSSQL |
| |||||||||
GET queries using search database |
|
Streaming data out via Kafka
GET by query using OpenSearch
Cascading updates on allowed key changes
Abandoned direct Kubernetes support as too costly
by 10/1 (Ed-Fi Summit)
Either OpenSearch or Elasticsearch | ||||||||||||
GET queries using relational database |
Removes the requirement to run Kafka and OpenSearch or Elasticsearch | |||||||||||
Reporting queries using ODS database schema |
| |||||||||||
Core database storage in managed PostgreSQL-compatible databases (e.g. Aurora, Cosmos DB) |
Conceptually this should work, but we may need community help for testing these scenarios while the development team focuses on code-level features. | |||||||||||
Realtime population of a data lake |
| |||||||||||
Redis-based caching |
|
Data Management Features
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | |||
---|---|---|---|---|---|---|---|
Streaming data out via Kafka |
|
| ||||||||||
Change Queries API |
Required for API Publisher synchronization; if not implemented must provide alternative. |
Security Features
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | |||
---|---|---|---|---|---|---|---|
API-driven client credential management | (Admin API) |
|
| |||||
OAuth token authentication |
|
|
| |||||
Integration with third party OAuth identity providers |
|
|
0.5
At minimum, will support Keycloak, with clear path for supporting other providers | ||||||||||
API-driven claimset management | (Admin API) |
| ||||||||
Namespace authorization |
|
|
| |||||
Relationship authorization |
|
|
| |||||
Ownership authorization |
|
|
| |||||
Combined authorization |
|
|
0.6
| ||||||||||
Extensible authorization filtering | (7.3) |
|
Deployment Management
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | |
---|---|---|---|---|---|
Docker images and sample Docker Compose settings |
|
|
Multitenancy |
routing and instance management |
| |||||||||
PowerShell installation scripts for Windows Server |
|
|
0.7
| ||||||||||
Deployment orchestration via (Kubernetes, Terraform, Cloud Formation, ARM, etc.) | (though there are Exchange contributions) |
Unless a community member contributes |
Other Integrations
...
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | |
---|---|---|---|---|---|
SwaggerUI |
|
|
| |||||
Admin Console | coming soon |
|
|
Items for future scope beyond this include: Change Queries, using PostgreSQL for queries instead of OpenSearch / Elasticsearch, real-time level 2 validation using Kafka, identity API, etc.
|
Demonstration
Tip |
---|
Meeting notes: Ran out of time for the demonstration. The sequence diagram below shows the interactions for client credential management. The demonstration was going to use this file which uses the REST Client extension for Visual Studio Code. Even without VS Code, the file should be easy to follow along with while replicating the API calls in another client such as Postman. |
Working Client Management and Authentication
Expand | ||
---|---|---|
| ||
|
...
Design Questions
Tip |
---|
Meeting notes: Ran out of time. Will keep these design questions for a future meeting. |
What plans are there for error detection (i.e. dropped records) and correction?
...