In 2010, A4L Community members saw an opportunity to provide developers implementing the SIF standard with tools and resources that made it easier to build interoperable solutions. Since then, open source frameworks for Java and .Net have been developed for both SIF 2.x and SIF 3.x environments, which have been adopted and used in several projects. These frameworks provide software developers with code to perform common data transactions properly within their technical environment.
There are a number of open source projects available on GitHub relating to the SIF Specification. The following are a guide to the current projects being worked on by A4L Community Members:
Below is a current list of vendors, government agencies, and organizations using the open source toolsets to solve real world problems. These projects are national, state, and regional level implementations that exemplify the ongoing stability and scalability of the open source toolsets. In addition to the SIF Java and .Net frameworks, the A4L developer community has created several other open source resources for the community to leverage, including a SIF 3 data model generator (Java), and SIF XML to JSON libraries. You can access the A4L Community set of open source tools on GitHub. An overview of SIF related Open-Source projects on the A4L GitHub are listed in the next section.
Project Name / Vendor Product | Organization | Locale | Open Source Tool | Description |
---|---|---|---|---|
HITS | National Schools Interoperability Program (NSIP) | Australia | SIF3 Framework (Java) | HITS provides a learning and demonstration space for anyone interested in exploring the use of SIF 3 in the Australian marketplace. The HITS testing service allows you to test that your product can create, receive and respond to the requirements of the relevant use case. Uses the SIF Data Model Implementation Specification (Australia) 3.4 NSIP website: http://www.nsip.edu.au/ HITS website: http://hits.nsip.edu.au/dashboard/ |
DoE WA SIF 3 Hub | Department of Education Western Australia | Australia | SIF3 Framework (Java) | SIF3 Hub for Western Australian Public Schools. Uses the SIF Data Model Implementation Specification (Australia) 3.4. |
RICOne | Regional Information Centers (RICs) in New York State | North America | SIF3 Framework (Java) & SPB Framework (Java) | RIC One is a family of services, which enable districts to more efficiently and effectively utilize student data systems and to improve school operations and classroom instruction, while ensuring the privacy of sensitive student data. Uses SIF xPress from the SIF Data Model Implementation Specification (North America). RICOne API: http://www.ricone.org/districts/ric-one-api/ |
CES | Civica | Australia | SIF3 Framework (.Net) | Civica's Education Suite (CES) is adding SIF adapters (which are responsible to connect a “product’s” internal data representation to a SIF Data model and exchanges messages with another endpoint via SIF). |
Australian Schools List | ACARA | Australia | SIF3 Framework (.Net) | ACARA has a repository of all Australian Schools. Data can be retrieved using SIF Implementation Data Model Specification (Australia) 3.x. |
EduHub | Department of Education Victoria | Australia | SIF3 Framework (.Net) | SIF 3 Hub for the Victorian Public Schools |
DET Qld SIF 3 Hub | Department of Education Queensland | Australia | SIF3 Framework (.Net) | SIF 3 Hub for the Queensland Public Schools |
LMS SIF | SEQTA | Australia | SIF3 Framework (Java) | SIF3 Adapters for SEQTA's Learning Management System |
Student Management System | Synergetic | Australia | SIF3 Framework (.Net) | SIF3 Adapters for Synergetic's SMS. This SMS is being used in the Catholic Education Office in Victoria in the 'ICON' SIF3 Hub. |
Student Record Exchange | Office of Superintendent of Public Instruction and Puget Sound ESD | North America | SIF3 Framework (.Net) | Pilot Project: Puget Sound ESD received a grant award to build a SIF-based student record exchange in the Puget Sound region. More information: https://xpressapi.org/user-examples/xpress-student-record-exchange/ |
* SIF3 Hub: Please review the Glossary
For more information about any of the above projects, please contact us.
Feature | Java | .Net |
---|---|---|
Object Consumer Framework – CRUD | Yes | Yes |
Object Consumer Framework – CRUD | Yes | Yes |
Acts as DIRECT Environment Provider | Yes | Yes |
Brokered Connections supported | Yes | Yes |
Consume Events | Yes | Yes |
Publishing Event | Yes | Yes |
Delayed Request/Response | Yes | No (1) |
External Security Service Support | Yes (2) | No (1) |
Service Path Support | Yes | Yes |
Dynamic Query Support | Yes | Yes |
eXtended Query Support | Yes | No (1) |
Query By Example | Yes | Yes |
Payload Compression | Yes | Yes |
Support for other Mime Types | Yes | No (1) |
Functional Services | Yes | partially |
JSON – Goessner Support | Yes | Yes |
JSON – PESC Support | No (1) | No (1) |
Schema Negotiation Support | In progess | No (1) |
Below is a list of the public GitHub Repositories available on the A4L Github site. Details about each project can be found in the applicable Readme.md on the project specific GitHub repository.
GitHub repository | Language | SIF Version | Short description |
---|---|---|---|
SIF3 Framework | Java | Infrastructure 3.x | SDK for developing SIF 3.x Adapters for Java. This is an “infrastructure” SDK and therefore the framework can be used with any locale Data Model (Australia, North America, New Zealand, United Kingdom). |
SIF3 Framework | C# | Infrastructure 3.x | SDK for developing SIF 3.x Adapters for C# (.Net). This is an “infrastructure” SDK and therefore the framework can be used with any locale Data Model (Australia, North America, New Zealand, United Kingdom). |
SIF3 Datamodel Generator | Java | Data Model (all versions) | This project can be used to generate locale (Australia, North America, New Zealand, United Kingdom) Data Model artifacts based on a Data Model XSD provided via the A4L Community website. The generated libraries can then be used with the SIF3 Framework (Java). |
Open-ADK | Java | 2.x | Low level SDK for developing SIF 2.x Agents for Java. Depending on the locale a specific version needs to be compiled because SIF 2.x infrastructure is Data Model dependent. |
Open-ADK | C# | 2.x | Low level SDK for developing SIF 2.x Agents for C# (.Net). Depending on the locale a specific version needs to be compiled because SIF 2.x infrastructure is Data Model dependent. |
SIF Common Framework | Java | 2.x | SDK for developing SIF 2.x Agents for Java. This SDK is built on top of the OpenADK and abstracts many low-level details of the OpenADK. It is recommended to use this SDK instead of the OpenADK. This is an “infrastructure” SDK and therefore the framework can be used with any locale Data Model (Australia, North America, United Kingdom). The Data Model is contained within the OpenADK library. |
SIF Common Demo | Java | 2.x | A small demo project showcasing examples on how to use the SIF Common Framework. Note that these examples are built around the SIF Implementation Data Model Specification (Australia) 1.3. However the principles illustrated apply to any data model and the framework can be used with the Australian, North American, & United Kingdom Data Model. |
SIF Common Framework | C# | 2.x | SDK for developing SIF 2.x Agents for C# (.Net). This SDK is built on top of the OpenADK and abstracts many low-level details of the OpenADK. This is an “infrastructure” SDK and therefore the framework can be used with any locale Data Model (Australia, North America, United Kingdom). It is recommended to use this SDK instead of the OpenADK. This is an “infrastructure” SDK and therefore the framework can be used with any locale Data Model (Australia, North America, United Kingdom). The Data Model is contained within the OpenADK library. |
SBP Agent Framework | Java | 2.x | This is a SDK to develop SIF 2.x Agents in Java. It differs from the SIF Common Framework by adding some business processes such as startup order of SIF Objects, automatically requesting & resolving missing SIF Objects and dependencies. Object dependencies are defined in a small set of tables. |
SBP Demo | Java | 2.x | A small demo project showcasing examples on how to use the SBP Agent Framework. Note that these examples are built around the SIF Implementation Data Model Specification (Australia) 1.3. However the principles illustrated apply any data model and the framework can be used with the Australian, North American or United Kingdom Data Model. |
SBP Agent Framework | C# | 2.x | This is a SDK to develop SIF 2.x Agents in C# for the Australian Data Model. While it is currently geared to the Australian Data Model it could easily be changed to cater for the North American or United Kingdom Data Model. |
© Access 4 Learning Community