SIF 3.0 Concepts Workshop Idea13 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 Infrastructure Documentation SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
REST, SOAP, XML, JSON Current SIF 3.0 Release uses REST as transport and XML representation of Data Model (infrastructure and data dictionary) SOAP is planned. SIF Association is looking for volunteers to help on this part. JSON is planned but not officially supported, yet. 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 There is a separate session in the workshops that addresses the JSON issues. See Confluence on this topic: http://kb.nsip.edu.au/display/SATWVC/SIF+3.0+and+JSON SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Direct Zone NEW Concept in SIF 3.0 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.0 Interfaces need to be implemented SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Direct Zone cont. SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Brokered Zone What was known as a ZONE involving a ZIS in SIF Classic. The Brokered Zone securely connects N clients to a dynamically changing list of M Data Entity and / or Functional Services through a centrally secure, separate and discrete Message Broker. Clients of a brokered Zone can implement SOAP and/or REST, depending what the broker supports. Broker may implement SOAP and/or REST SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Brokered Zone cont. SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Immediate & Delayed Response Delayed Response is what is known in SIF 2.x as asynchronous response. This concept remains in SIF 3.0 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.0 Direct Zone: Commonly used Brokered Zone: Less common when it comes to requesting data through a query SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Service Types Infrastructure Services Queues Alerts Namespace Registry etc. Data Entity Service is a service for a given SIF Object (i.e. StudentPersonal, SchoolInfo) => CRUD Create Read (Query) Update Delete SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Service Types cont. Functional Services Composite Object Services Execute Style (Jobs): i.e. End-of-Year Rollover. Student Locator Report Style: Provide a ‘View’ of multiple Entities in one Object. Composite Object Services Object made of part of other object Relationship Services? Next release? …/StudentPersonals/{id}/TeachingGroups SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Event Processing Event Processing changes considerably in SIF 3.0 Publishing Events is only allowed for the ‘Source of Truth’ Non-Sources of Truth can only request CRUD operations on the Source of Truth and if accepted the Source of Truth will publish the event to the Zone. Impacts ‘RefId’ allocation Only Source of Truth will allocate RefIds Non-Source of Truth must maintain a link between the Create Request until Source of Truth response with the new RefId. SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
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 Publish Create Event Time Table App (Subscriber Service) Publish Create Event SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
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. SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
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! SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
SIF 3.0 Infrastructure Documentation Confluence http://kb.nsip.edu.au/display/NSIS/SIF+3.0+Design+Documents SIF Association Website https://www.sifassociation.org/Community/Global/Pages/SIF-3.0-Infrastructure-Review.aspx SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013
Questions Any Questions? SIF3 Workshop Idea2013: SIF 3.0 Concepts 12 November 2013