presented by: sif 3.0 concepts sif 3.x concepts & terms joerg huber
TRANSCRIPT
Presented by:
SIF 3.0 Concepts
SIF 3.x Concepts & Terms
Joerg Huber
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
2Overview
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
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
3REST, 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 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, validation etc.
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
4Direct 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.0 Interfaces need to be implemented
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
5Direct Zone cont.
Service Consumer
Direct Zone (Simple)
EnvironmentProvider
ObjectProviders(Services)
StudentPersonalSchoolInfoetc.
ACLs, URIs(Infrastructure)
Data(SIF AU 1.3)
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
6Brokered 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 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
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
7Brokered Zone cont.
ServiceConsumer
Brokered Zone
Environment Provider
StudentPersonalSchoolInfoetc.
ACLs, URIs(Infrastructure)
Data(SIF AU 1.3)
Object Provider Services
ACLs, URIs(Infrastructure)
Zone Registry
Connectors(Request, Event,
Provision, Subscribe etc)
Queue Manager
Data(SIF AU 1.3)
Provider Registry
MiddlewareNote: Not all registries are shown
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
8Immediate & 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
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
9Service 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
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
10
Service Types cont. Functional 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 parts of other object
Relationship Services? …/StudentPersonals/{id}/TeachingGroups Not yet supported with SIF3 Framework!
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
11
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.
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
12
Event Processing cont.
Time Table App
(Subscriber Service)
Attendance Tracking
App(Subscriber Service)
SIS App(Provider Service)
Broker
“Source of Truth”
Save newStudent
Request Create
Request Create
Accepted AB12FF5FE20945F12FFE2FF02211FF02
Accepted AB12FF5FE20945F12FFE2FF02211FF02
Publish CreateEvent
Receive CreateEvent
LMS(Subscriber Service)
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
13
Bulk Operations
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.
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
14
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!
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
15
SIF 3.0.1 Infrastructure Documentation
SIF Association Websitehttps://www.sifassociation.org/Specification/Pages/Infrastructure_3_0_1.aspx
© Systemic Pty LtdSeptember 2014
Training Course - Sydney: SIF 3.x Concepts
16
Questions
Any Questions?