How SIF Works
The software engineers and educators who developed the SIF Specification were drawn from companies and districts large and small, and from all across the K-12 landscape. They represented countless years of institutionalized software development and database design, and each had a vested interest in preserving the systems they helped create. But they also realized that enabling software pro-grams to "talk" to each other and share data was so important that they needed to overcome their own company-centric view of the problem. They needed to develop a solution that was flexible, scalable, reliable, secure and affordable, both for the schools as well as the vendors.
Their solution meets all of these needs with remarkable grace. The SIF Specification views a school or district as a single system of data in which the software applications make up the component parts. This logical grouping of software applications is called the SIF Zone. At the center of this Zone is a software application called a Zone Integration Server (ZIS). This program serves as the "central nervous system" of the Zone by tying together all of the applications, facilitating their communication and regulating their activities (see Figure 1: Zone Integration Server). The school's or district's technical administrator determines the manner in which a ZIS structures the Zone, including all security and authentication parameters.
Data Objects and Agents
As mentioned earlier, many of the companies that created this Specification had already invested significant resources in developing and maintaining software applications. The question was how to get each of these different, and sometimes competing, software applications to talk to each other and share data. The answer was twofold: the Data Object and the Agent. A Data Object is a standard definition of some piece of school system information. For example, a student's name, address and phone number are part of the "StudentPersonal" Data Object. By having different software programs understand this common definition of a student, it is possible for them to share this information properly. The SIF Specification currently defines 19 Data Objects, with an additional 40 Data Objects in the Draft mode, and more to be defined as the Specification evolves. By agreeing on these definitions, SIF makes it possible for software programs built on different platforms and with different database designs to share data.
How each application moves and processes these Data Objects is the job of the Agent. The list of things this Agent is required to do is documented in the SIF Specification. Because this functionality is specified in a standard format, software vendors have some choice about how this Agent functionality is added to their software applications. Some vendors have chosen to make the Agent functionality built into their application, while others have chosen to have the Agent run as a separate module or service. Regardless of how it is implemented, all Agents produce the same results, because the rules for Agent behavior are specified and agreed upon.
SIF Zone Functions
Now that we understand the parts of a SIF Zone - the ZIS, the Agents and the Data Objects - let's take a closer look at how a Zone functions. A SIF Zone uses a "publish and subscribe" model, which is similar to how you get a magazine delivered to your home. Unless you register with the magazine you will not receive it. (We'll leave junk mail out for the moment). Once you have registered with the magazine, sub-scribed in fact, you receive a copy of the magazine whenever it is published.
Agents do the same thing in a SIF Zone. Once a ZIS is set up, each SIF-enabled software application registers with the ZIS so that it can communicate with the SIF Zone. An Application can then act as a provider for and/or a subscriber to various Data Objects. In a basic example, a Student Information System (SIS), might act as the provider of the StudentPersonal Data Object and a Library or Food Service Application would subscribe to events for that object. Since each of these applications is part of the Zone, whenever there is a change to student information in the SIS system, the SIS would publish an Event that is relayed by the ZIS to all subscribers. This lets them know that a change has taken place (see Figure 2: How SIF Works on Pages 4-5).
Because of the way a Zone is configured, all of this notification happens instantly and automatically. As a result, as soon as a new student is added to the school or someone's phone number is updated, that information is automatically transferred to all of the subscribing systems and updated almost instantly. In addition, because of the way the Zone is configured, it is possible to distribute this information to as many systems as are authorized to receive it, eliminating large amounts of data entry.
Elements of a SIF Zone
There are four elements that make up a SIF Zone. The logical grouping of software applications that allow SIF to work are:
- 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.
- 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.
Creating a Unified Data System
SIF "works" when a software application using its Agent sends out a message to the ZIS with information that another software application needs. The ZIS forwards that information onto the requesting application through the receiving application's Agent. SIF-enabled software applications and Agents don't talk to each other directly; each application talks to its Agent which talks to the ZIS, which in turn handles all further communication. The ZIS' role as a "third-party message handler" means that the SIF framework is easily expandable, very reliable and relatively straightforward for software companies to write Agents for.
As you can see, creating a unified system to move data has tremendous advantages for school management. By moving data quickly and accurately, costly and redundant data entry is eliminated, freeing staff to focus on delivering services directly to students. In addition, because all of the data is based on the same source, changes are distributed quickly. This guarantees that everyone has access to the most current and accurate data available.
However, creating a unified system for school data management requires more than just SIF-enabled software. It also requires that the school or district undertake a systemwide analysis of what data is currently collected and some decisions about how this data is to be shared. Without agreement within a school or district about issues, such as data ownership and clarity surrounding which offices or individuals are responsible for adding or updating data, establishing a fully functional SIF Zone would be a difficult task.
The underlying premise of SIF - creating a uniform and unified data system - can act as the catalyst to the kind of management review and business re-engineering in education, which many private sector businesses undertook a decade or more ago. By looking at their data management and operational systems from a data perspective, many businesses were able to implement technology to improve efficiency and help improve their operations. SIF offers the same opportunity to schools today. With budgets under scrutiny and federal and state accountability increasingly apparent, operational efficiency and the ability to generate valid and timely reporting is critical to the successful operation of a school or district. By taking a systematic approach to data management, and by implementing SIF-enabled software to support those systems, schools can redirect resources and staff from redundant data-centric tasks to more valuable child-centered education.
This article originally appeared in the 03/01/2002 issue of THE Journal.