This section provides important conceptual material related to the Ed-Fi ODS / API platform.
The Ed-Fi Alliance publishes the Ed-Fi Data Standard, which models a broad spectrum of commonly exchanged and shared K–12 education data. The Ed-Fi ODS / API is a concrete implementation of a relational database and a companion API harmonized with the Ed-Fi Data Standard. The Ed-Fi ODS / API is tuned to the security and performance needs of K–12 organizations and the education technology vendors who serve them.
The ODS implementation uses Microsoft SQL Server as a database platform. The API implementation is written in C#. Together, these form a data platform to host student-centric data. The ODS / API platform is vendor neutral, meaning that client applications may be written in any language.
Education enterprises like schools, districts, and states often have student-centric information spanning several systems. Even though there is a wealth of data, the information is essentially siloed, which makes it difficult to get a holistic picture of a student or the performance of the enterprise as a whole.
Having data in silos causes other issues like duplicate and conflicting information. In the case of standardized test results that arrive on disconnected media, enterprises struggle with finding a place to store that information in a way that it can be connected with students.
The ODS / API addresses these problems by centralizing siloed data in a relational database (in the ODS), providing secure access back to the siloed systems and to reporting tools like dashboards or BI analysis platforms (via the API). Additionally, some implementers have used the ODS / API in different ways, for example, as the primary data store for a custom student information system or as the data store solely for a centralized BI report source. The key point is that the ODS / API have structures that cover a broad swath of educational data and interface to the data that can be configured for a variety of scenarios.
The Ed-Fi ODS / API can be useful in the following common technology tasks:
A discussion of the components follows.
What draws implementers to the Ed-Fi ODS / API is that the ODS provides a rich and detailed data model out of the box, which means that it can handle the real-world complexities of student attendance, grades, discipline events, and so forth. The data model is extensible, which means that it also allows for the inevitable customizations that are necessary to suit a particular enterprise’s needs.
Specifically, the ODS contains detailed tables, structures, and associations for the following domains:
If you’re new to the Ed-Fi Data Standard, the Unifying Data Model documentation is useful in exploring the domain models.
The Ed-Fi ODS / API isn’t magic. It takes analysis and integration efforts to connect systems that populate the ODS data store. However, the ODS / API source code comes with code to bulk load the data store, and the RESTful interface makes it easy for client systems to keep the data up to date in real time.
Once you have data in the ODS, you’ll want to put it to use and keep it up to date. That’s where the API comes in. The API that comes with the source code is a secure, modern, RESTful, interface to your data that can be accessed by any client application on any platform.
Like the ODS, the API is harmonized with the Ed-Fi Data Standard. The resources accessible from the API share the same naming conventions, definitions, and organization as the ODS. This makes it easy to understand where data is coming from and what it means.
The API is secure. It uses HTTPS for communication, the OAuth2 specification for authentication, and comes with a rich and customizable claimset model so platform hosts have fine-grained control over which applications and users can see particular pieces of data. See the API Claim Sets & Resources section in this documentation for complete details.
The core ODS / API technologies are essentially built on a Microsoft stack, including C# and ASP.NET, Microsoft SQL Server, and Internet Information Services.
A high-level view looks something like this:
A few things to note: