Participants
Expand |
---|
|
Agenda
Review the roadmap
Demonstration of current work
Review the roadmap
Design Questions
Demonstration
Configuration Service
Claimset management
Authentication
Keycloak
show start to finish initial setup and client creation
Roadmap
Note |
---|
What is actually critical for release candidate?
DS 5.2 call out that IIS / Powershell scripted route will not be ready be clear about change queries |
Design Questions
Roadmap
Planned Architecture
...
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
Feature | ODS/API Platform | Data Management Service | By TC | By Summit | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Resources API - core Ed-Fi Data Standard |
| |||||||||||
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
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 |
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 |
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 |
| |||||||||
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 |
| |||||||||||
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 |
|
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?
A question that arose at the Ed-Fi Summit session. Suggestions?
Gliffy | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
How will year rollover be handled?
Perhaps not germane to the release candidate, but we should still ask: are there special considerations that the development team needs to be thinking about in advance?