The SIF Agent serves as a middleman between the PK–12 software applications (and the data associated with those applications). You might think of a SIF Agent as an interpreter helping two people—who speak different languages— carry on a conversation. As a tightly integrated component to the application, a SIF Agent communicates by sending messages (containing data objects, such as student or library circulation records) to the Zone Integration Server (or ZIS) in the universally understood format of SIF.
In some cases, it is necessary to group two or more schools into a single Zone. For example, a State Department or a Regional Service Agency may wish to connect to a SIF infrastructure in order to query SIF Data Objects for the purpose of vertical reporting. It would be cumbersome for this kind of application to connect to each school Zone individually, especially in a large district. What’s needed is a way for the district administrator to create a single, monolithic Zone that represents all schools in the district. This way, the State Department can connect to one Zone instead of tens or hundreds of school Zones. With certain SIF Agents, you can create aggregate Zones that serve to combine the data from two or more school Zones. Aggregate Zones function as a single point of communication for many school Zones. When a SIF Request is received, it is dispatched to all of the school Zones that are members of the Aggregate Zone; the results are combined into a single response and returned to the requesting Agent. Similarly, when events are reported by a school, those events are then reported to any Aggregate Zones of which the school is a member.
A security configuration required when HTTPS is selected for the exchange of data between the application(s), the Agent, and the ZIS.
When Server Authentication is selected for the configuration of HTTPS, the Zone Integration Server presents its security credentials to the Agent for verification each time the Agent sends a message to the server. If the Agent does not trust that the server is who it claims to be, the connection is not established. With Server Authentication, the Agent knows that it is transmitting SIF information to the Zone Integration Server instead of to a third-party claiming to be the Zone Integration Server.
When Client Authentication is used, both sides of the communication present their security credentials for verification. Client Authentication ensures that the Zone Integration Server sends SIF messages to the Agent at a specified server address, so that another party cannot act as an imposter by registering its own Agent with the server.
In both Server Authentication and Client Authentication, the entity asking for a certificate must trust that certificate for the communication to proceed. This trust is established when both parties have one another’s digital certificate on file.
This setting determines the maximum size of messages that can be received by the Agent. The factory default is usually 256Kb. (Administrators rarely change this setting.)
Certificate(s) are the digital credentials shared between the Agent and the ZIS, and the means by which trust – or Authentication – is established or recognized between the Agent and the ZIS. Certificates and their authentication are one way to secure and protect data.
The SIF Agent Console is the user interface for the Agent; the Console is where configuration and administration tasks are performed.
Sets of information shared by software applications using the rules of the SIF Specification. Data objects are shared through SIF messages and written using standard XML notation.
A data object is a standard definition of a piece of school system information. For example, a student’s name, address and phone number are part of the StudentPersonal Data Object. When different software programs understand this common definition of a student, it is possible for them to properly share this information.
These are changes in the SIF environment, including new enrollment information, changes in address or phone numbers, and library patron status changes—any change or request for a change to shared data is called an Event.
The Agent mappings determine how the data for each supported SIF Data object flows to and from the application.
Matching is the process that occurs when the SIF Agent identifies differences between its information and information from the source database during synchronization.
SIF Messaging settings control how the Agent sends responses to queries and how often it checks applications for changes in record data. The factory defaults are recommended for most installations, although you may wish to decrease the Event Reporting frequency to reduce network traffic and limit access to the application database files.
New Year Rollover
New Year Rollover is the process that occurs each year between the end of the current school year and the beginning of the next school year. During this process, student grade level promotions are recorded within the Student Information System to match current grade levels within the SIF for the new school year. Students who are promoted to a different school or are transferred between schools within the district will have their records transferred appropriately within the requisite applications.
This is the bundle of data objects the Agent includes in any given response. The requesting Agent’s maximum buffer size is used to calculate the size of response packets. For example, if a requesting Agent with a maximum buffer size of 100K bytes queries the SIS for all student records, the Agent will divide the responses into chunks of 100K, perhaps resulting in a few dozen messages. This approach results in the optimal number of packets, thereby reducing network and processing overhead.
This is a Zone menu command that sends a request to the Zone Integration Server to verify that the Agent and server are connected and communicating.
This is the factory default messaging mode for SIF Agents. The Agent periodically sends commands to the ZIS to check for new messages in its queue. Pull mode makes it possible for the Agent to exchange messages with the ZIS even if the ZIS cannot see the Agent because of network or firewall configuration issues.
Push mode means the server will send messages to the Agent as soon as they become available in the Agent’s queue. This mode requires that the server be able to communicate with the Agent’s IP address and port. (This is the default messaging mode.)
The SIF Agent Database is a small relational database that stores the identifiers—also known as RefIds—for all SIF Data Objects published by the Agent. A RefId is a globally unique number that associates a SIF Data Object with its corresponding records in the application database. RefIds make it possible for all applications that participate in a SIF Zone to refer to objects by a number that is not specific to any single application. The SIF Agent Database stores updates from the SSID system into a holding queue that can be queried by applications to apply updates to student records. In addition, the SIF Agent Database contains a queue that allows applications to communicate record changes that need to be published to the Zone.
In order to send and receive messages from a SIF Zone, the Schools Interoperability Framework requires each Agent to register with the zone. During registration, the Agent sends a series of commands to the server informing it of various operational settings such as the name of the Agent, whether Push or Pull mode will be used to retrieve messages waiting in the queue, the maximum size of messages the Agent can receive, the SIF Data Objects the Agent provides and subscribes to, and so on. Once registered, an Agent remains in this state until it sends the server a command to unregister or until manually deregistered by the ZIS administrator. The Agent performs the registration process automatically at startup. If it cannot connect to a zone because of an error or because the Zone Integration Server is off-line, it will periodically retry until a connection is established.
Request & Response
This setting configures how the Agent handles SIF requests: returning as many objects as possible in a packet, or returning only one object per packet.
Schools Interoperability Framework (SIF) is a sophisticated, Service-Oriented Architecture (SOA) technical standard for education. SIF assures interoperability between disparate software applications for improved educational business processes, data accuracy and reliability, staff efficiency and cost reduction.
This command informs the Zone Integration Server that the Agent is not accepting messages. (This command is grayed out if the Agent is currently sleeping.) The Agent places each Zone in Sleep mode when the Windows Service is stopped.
Some instances of the PowerSchool application participate in a super districts setup that allows sub-districts to be created. Each school can be a member of a sub-district. When super districts are enabled in the Agent, the Agent will read district zone information from the sub-districts table in PowerSchool.
Synchronization occurs when the SIF Agent updates the contents of its database to match what is stored in the source database and turns over the information to the application to place in its database as well. This allows all involved pieces of software to keep up to date about information for students in the school or district that the Zone covers. The goal of synchronization is to give the SIF Agent a high-level view of data from the Zone in order to be able to process SIF events for the Zone. It is very important the information in the Agent’s database is accurate, because any inaccuracies will be duplicated in all other Agents participating in this synchronization.
Executing this command deletes all synchronized data for selected Zones, effectively returning the Zones to an unsynchronized state. No changes are made in the application.
This command takes a Zone out of Sleep mode. The Agent normally wakes up each Zone when the Windows Service is started.
The Write Back feature allows other applications in the SIF zone to update the PowerSchool application. The Write Back feature updates the PowerSchool application with the data from other applications by publishing SIF events or initiating a synchronization in the PowerSchool SIF Agent.
ZIS (Zone Integration Server) The ZIS is the central middleware component of the Schools Interoperability Framework that makes it possible for disparate applications to reliably and securely exchange data with one another.
There are four elements that make up a SIF Zone. The logical grouping of software applications that allow SIF to work are:
- Software Application: a software program implemented within a school or district.
- SIF Data Object: Sets of information shared by software applications using the rules of the SIF Specification. The contents of Data Objects are defined by the SIF Specification. Data Objects are shared through SIF messages and written using standard XML notation.
- SIF Agent: A software program, written by a vendor, that serves as the intermediary between the software application and the SIF Zone. An Agent is able to publish messages when events occur in its application, react to incoming events, and can request data and process responses from other applications. The Agent publishes and receives messages through the Zone Integration Server (ZIS).
- ZIS (Zone Integration Server): A software program that serves as the central communications point in a SIF Zone. The ZIS keeps track of all the Agents registered in the Zone, and manages all transactions between and among Agents. The ZIS is what enables Agents to provide data, subscribe to events, publish events, request data and respond to requests. The ZIS is also responsible for all access control and routing within the Zone.