Presented by: SIF 3.0 REST Framework Melbourne Developer’s Workshop November 2013 Joerg Huber
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 2 Overview What is it? Goal of the Framework Framework Architecture What is its current state? What is missing? What is next? Where can I find it? Demo
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 3 What is it? Open-Source Java Framework for SIF 3.0 Library with a number of Interfaces & Pre-Implemented classes Basic Environment Provider Framework for Consumers Framework for Providers Ideas and Concepts based on SIFCommon Framework (SIF 2.x)
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 4 Goal of the Framework Enable SIF 3.0 Developers to quickly implement Adapters/Services/Agents Encourage SIF 3.x Adoption Fully Abstract Infrastructure REST, SOAP, XML or JSON Developers only need to care about: Read data from their data store (i.e. SIS) Persist data to their data store (i.e. SIS) Hide/automate “complex” workflows Environment Management Access controls to services
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 5 Goal of the Framework (cont.) Utilise Of-The-Shelf libraries Avoid Customisation to 3 rd Party Libraries Be independent from Data Model Different SIF Locales (AU, US, UK) Non-SIF Data Models (LTI, EDFI) Rapid adoption of a new Data Model Generate Data Model from XSDs SHOW THAT SIF 3.0 WORKS AS INTENDED!
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 6 Framework Architecture SIF3 Framework Architecture (work in progress) REST Infra SIF3 Framework REST/SOAP Provider, Consumer & Environment Factories/Interfaces Brokered Zone Implementation Direct Zone Implementation Agent/Service uses only this Layer! SOAP Infra Basic Environment Provider Any Data Model
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 7 What is its current state? Java only (maybe.Net later this year) REST only Direct Environment & Immediate Response Zone & Context in URLs supported Consumer Framework Implementation Provider Framework Implementation CRUD for Single Objects and Collections Paging Supported Some Demo Code to show how to use framework
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 8 What is missing? No SOAP (SIF 3.0 does not specify this, yet) Brokered Environment Delayed Response Events & Queues xQueries Caching Multi-Threading
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 9 What is next? End of year it is hoped to have support for: More Zone & Context support Events & Queues Better Multi-Threading Early 2014 (To be confirmed): Caching Framework .Net version of Framework Maybe some Perl Framework
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 10 Where can I find it? The Framework is Open-Source Located on NSIP’s Github There are many other NSIP sponsored frameworks on that same Github location: SIF Common Framework (Java &.Net) SPB Agent Framework (Java &.Net) Sample SIF3 Code (Java,.Net, Perl etc)
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 11 Demo Chose a Data Model (SIF AU 1.3) Generate from XSD Manual Implement Marshal/Unmarshal Interface for Data Model Setup Environment Template Implement: Consumers: Extends AbstractConsumer Providers: Extends BaseProvider
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 12 Contacts Joerg Huber – Systemic Pty Ltd SIF Solution Architect Co-Lead of ITB Web: NSIP National Schools Interoperability Program Web:
© Systemic Pty Ltd November 2013 Melbourne MCG: SIF 3.0 REST Framework 13 Question Time… Questions?