SIF 3.0 Concepts SIF 3.x Concepts & Terms Joerg Huber
Overview Terms and Concepts of SIF 3.0 REST (what about SOAP), XML, JSON Direct and Brokered Zones Immediate and Delayed Responses Event Processing (Single Source of Truth) Bulk Create, Update & Delete Operations Reduced ‘Chatiness’ SIF 3.0.1 Infrastructure Documentation Training Course SIF3: SIF 3.x Concepts June 19
REST, SOAP, XML, JSON Current SIF 3.0.1 Release uses REST as transport and XML representation of Data Model (infrastructure and data dictionary) SOAP may come in future if the need arises. JSON is part of SIF 3.1 release. Mapping between XML and JSON required JSON has ambiguities (i.e. Array or not Array) JSON is less bound by standards which causes some issues: i.e. Encryption of payload, validation etc. Java framework already supports JSON (Goessner notation). Training Course SIF3: SIF 3.x Concepts June 19
Direct Zone NEW Concept in SIF 3.x Peer-To-Peer connection not involving middleware. Can be used from web-applications to retrieve and persist data directly from/to a given application. Can be used by mobile applications (most likely using REST) to connect directly to an application. Sub-Set of SIF 3.x Interfaces need to be implemented Training Course SIF3: SIF 3.x Concepts June 19
Direct Zone cont. Direct Zone (Simple) Environment Provider Object ACLs, URIs (Infrastructure) Service Consumer Object Providers (Services) Data (SIF AU 1.3) StudentPersonal SchoolInfo etc. Training Course SIF3: SIF 3.x Concepts June 19
Brokered Zone What was known as a ZONE involving a ZIS in SIF Classic (SIF 2.x). The Brokered Zone securely connects N clients to a dynamically changing list of M Data Entity, Service Paths and/or Functional Services through a centrally secure, separate and discrete Message Broker. Broker may implement automated translation between XML & JSON (SIF 3.1 will specify this functionality) Training Course SIF3: SIF 3.x Concepts June 19
Brokered Zone cont. Brokered Zone Middleware Object Provider Services ACLs, URIs (Infrastructure) ACLs, URIs (Infrastructure) Environment Provider Zone Registry Object Provider Services Service Consumer Provider Registry Data (SIF AU 1.3) Data (SIF AU 1.3) Connectors (Request, Event, Provision, Subscribe etc) StudentPersonal SchoolInfo etc. Queue Manager Note: Not all registries are shown Middleware Training Course SIF3: SIF 3.x Concepts June 19
Immediate & Delayed Response Delayed Response is what is known in SIF 2.x as asynchronous response. This concept remains in SIF 3.x Immediate Response (synchronous) is where the requestor of the data keeps the connection open until a response is available. Immediate Response is largely a NEW concept in SIF 3.x Direct Zone: Commonly used Brokered Zone: Less common when it comes to requesting data through a query Training Course SIF3: SIF 3.x Concepts June 19
Service Types Infrastructure Services Environment Provider Queues Alerts Namespace Registry etc. Data Entity/Object Service is a service for a given SIF Object (i.e. StudentPersonal, SchoolInfo) => CRUD Create Read (Query) Update Delete Training Course SIF3: SIF 3.x Concepts June 19
Service Types cont. Relationship Services: ServicePath …/StudentPersonals/{id}/TeachingGroups Not yet supported by .Net Framework Composite Object Services Object made of parts of other object Considered standard Object Service. Functional Services Execute Style (Jobs): i.e. End-of-Year Rollover. Student Locator Report Style: Provide a ‘View’ of multiple Entities in one Object. Not yet supported by any Framework Training Course SIF3: SIF 3.x Concepts June 19
Event Processing Event Processing changes considerably in SIF 3.0 Publishing Events is only allowed for the ‘Source of Truth’ which is the Object Provider! Non-Sources of Truth (Consumer) can only request CRUD operations on the Source of Truth and if accepted the Source of Truth will publish the event to the Zone. ‘RefID’ allocation Responsibility of “Source of Truth” Consumer can request that its RefID is used (mustUseAdvidory HTTP Header field). Source of Truth can accept this or reject it Non-Source of Truth must maintain a link between the “Create” Request until Source of Truth response with the new RefID where consumer does not provide RefID. Training Course SIF3: SIF 3.x Concepts June 19
Attendance Tracking App Event Processing cont. Save new Student Attendance Tracking App (Subscriber Service) Request Create Broker “Source of Truth” Request Create Accepted AB12FF5FE20945F12FFE2FF02211FF02 SIS App (Provider Service) LMS (Subscriber Service) Accepted AB12FF5FE20945F12FFE2FF02211FF02 Receive Create Event Time Table App (Subscriber Service) Publish Create Event Training Course SIF3: SIF 3.x Concepts June 19
SIF 3.0 infrastructure enables bulk operations! Creation of multiple objects in one request Update of multiple objects in one request Deletion of multiple objects in one request => Improves performance => Scales better ‘Requestor’ of bulk operation always knows success status of each object in the request. Training Course SIF3: SIF 3.x Concepts June 19
Reduced ‘Chatiness’ Bulk Operations Usage of standard HTTP Status codes rather than ACK/NAK Messages. Queues: ‘Get Next Message and Delete Previous’ in one message rather then spread over 4 messages! => Improves performance => Scales better => Easier to implement! Training Course SIF3: SIF 3.x Concepts June 19
SIF 3.0.1 Infrastructure Documentation SIF Association Website https://www.sifassociation.org/Specification/Pages/Infrastructure_3_0_1.aspx Training Course SIF3: SIF 3.x Concepts June 19
Questions Any Questions? Training Course SIF3: SIF 3.x Concepts June 19