ZIAgent™ Configurable SIF Agent

ZIAgent changes the rules in SIF-enabling existing applications. Instead of requiring users to develop code using a toolkit, it provides a simple to use web based interface that allows its user to configure an agent that takes advantage of existing facilities that the application has already, without requiring changes to the application itself.

Instead of taking weeks or months to develop and test, users can create deployable agents with ZIAgent in a matter of hours to days, depending on complexity. Level of expertise required? Typically, if you can build SQL queries, you can configure a SIF agent with ZIAgent.

ZIAgent is not an Agent Development Kit (ADK)

ADK is to building supplies...

(ADK)

With an Agent Development Kit, even though some of the pieces may have been built for you, the agent must still be built, debugged and tested. A customer of ours who has had experience with both described it this way: it much like building a house: even though some of the pieces come ready-built, most of the work still needs to be done. For example, house builders may include pre-fabricated truss systems and furnaces, but they may still need to construct the foundation, build the walls, etc..

Regardless of which ADK you license, what you will receive are building materials and instructions, the difference between the kits being how much work is left for you to do.

...as ZIAgent is to House

(ZIAgent)

ZIAgent is different - it is a configurable, stand-alone SIF agent. It was introduced back in 2001 and has been in a process of refinement ever since. In our customer's analogy, it is the finished house - ready to decorate (configure) and use (move in).

Because of the way we designed ZIAgent, we don't re-build every new SIF agent from the beginning, or almost the beginning (as you would with an ADK). As a result, we've been able to spend many staff years making it more:

  • Scalable - deployments can be installed simply on a single server or across several servers to support large hosted environments with many customers
  • Flexible - agents can support applications that use almost every commercially available database through a variety of interfaces
  • Reliable - we've had years' of experience seeing what can happen in the field and have built detection and recovery procedures into ZIAgent. Companies who built agents using an ADK will likely gain this experience through trial and error.
  • Secure - ZIAgent has many built-in features for data security and privacy that have come from customer requests such as message auditing, record filtering and activity logging.

How It Works

ZIAgent OverviewZIAgent, like other SIF agents, runs as a web site. It communicates with a Zone Integration Server using standard Internet protocols (HTTP or HTTPS) using formats defined in the SIF specifications.

ZIAgent supports all of the security and authentication models allowed in the SIF specification as well as all of the other parts all versions of the SIF specification.

When an agent is at the beginning of the configuration process, it already knows about every element and every attribute of every object. In its configuration database, it has tables that contain staging areas for incoming data, validation tables for all possible legal values in encoded fields and places to hold business rules that tell it how to handle everything concerning the SIF objects it manages.

Features - Publishing Agents

Publishing agents are those where the application stores information that is to be shared with other applications in the zone. Student management systems are typical examples of publishing agents although many agents that for the most part subscribe may also publish as well. For example, a transportation system may subscribe to student and workforce information, but may also publish bus stop information.

Publishing agents are configured through a simple two-step process using the ZIAgent designer. The first step involves specifying where the data can be found in the application's database. The second step consists of mapping each of the application's fields to corresponding SIF fields and determining if there should be translations set up for it.

Target Database Discovery
(click screen to see full size image)

Target Database Discovery - When configuring an object for publication, the ZIAgent designer will ask for a statement that "requests all records" for the object being configured. With the results of that query, it will take whatever information it can (types, sizes, locations, etc.) and use that information to build internal tables.

 These tables will be used in other parts of the designer for validation checks, to automate the process wherever possible or to make the process as error-free as possible.

SIF Agent mapping
(click screen to see full size image)

Object Field Mapping - Once the designer has learned as much as it can from looking at the sample data, it presents a simple screen to the user, allowing him or her to select the fields from the SQL statement that match the XML field in the SIF message.

If the SIF element (or attribute) represents an encoded value, the last column will contain a "configuration" icon indicating that translations should be set up for this element or attribute. Clicking this icon brings the user to the next screen.

Target Database Discovery
(click screen to see full size image)

Automatic Translation Discovery - If an application gives its users an ability to define or extend code value sets, then whenever the application is installed somewhere new, these new code values' values will need to be mapped to standard SIF values in a SIF agent (this is a point of failure for many new SIF agent developers).

To address this common problem, we added a feature that searches for any values that may have been added locally by a customer that may need to have a translation and alerts the user.

ZIAgent also provides multi-zone provider filtering. When ZIAgent is registered as a Provider in multiple SIF zones, the Designer interface allows users to define zone-level filtering rules, so that data matching user-defined criteria is only published to the desired zone.

Features - Subscribing Agents

Subscribing agents are configured by defining rules that are triggered on receipt of either an "Add", "Change" or "Delete" event. These same rules are reused when a response is received. In this case, the agent decides if it is proper to use the "Add" or "Change" rule depending on whether or not the object has been "seen" by the SIF agent already.

In this screen, we see a summary of the event rules defined for the StudentSchoolEnrollment object for a subscribing application SIF agent.

Six of the rules are defined to handle incoming 'Add' events and another six handle 'Change' events. Although it could be, this agent is not configured to handle 'Delete' events.  To see the details for one of the rules, the user clicks on the pencil icon...

SIF Agent Summary of Rules
(click screen to see full size image)

This example shows the detail for one of the 'Add' rules. This example is taken from our Moodle SIF agent.

In this example, incoming data from the event message is being combined with data from previously received messages and is being transferred into a table in the target application's database.

SIF Object Event Handling
(click screen to see full size image)

This example is also an 'Add' event.

It also combines information from several objects, adds information from the environment and passes the information to an external web service.

Although this example uses GET, it could have also  used POST to transfer the information to the web service.

SIF Agent Event rult that calls an external Web Service
(click screen to see full size image)

In addition to sending information to target applications using a variety of methods, ZIAgent also provides a number of other unique features:

Features - CommonZIAgent Picture

ZIAgent Message Ledger
(click screen to see full size image)

Message Auditing - ZIAgent keeps track of its message activity in a message ledger and presents it through a searchable, sortable user interface.

This message ledger keeps track of when the message was sent, any errors returned by the ZIS, which agent it was sent to and a link to the contents.

  

Licensing

We offer several licensing models that vary depending on differing needs.

  License Includes License Characteristics
Application Supplier
  • ZIAgent Designer
  • ZIAgent Runtime
  • Licensed for supplier's application
  • No runtime royalties
  • VSI developer spends time with supplier's staff, configures agent, runs through SIF certification process.
  • Support includes new versions
School District or other School Organization
  • ZIAgent Designer
  • ZIAgent Runtime
  • Licensed for all applications developed by organization staff
  • No runtime royalties - may be installed and used anywhere in the organization
  • VSI developers provide training to organization's staff on how to configure SIF agents. Developers use one or two applications from the school organization during the training session so that the school staff, at the end of the session, have working useful examples.
  • Support includes new versions
School District or other School Organization
  • ZIAgent Runtime
  • Licensed per-school for the purpose of running publicly available configuration sets
  • Support includes new versions
Systems Integrator
  • ZIAgent Designer
  • integrator gets in-depth training on how to configure agents
  • integrator pays per-installation royalty for each agent configured
Regional, State or National Education Office
  • ZIAgent Designer
  • ZIAgent Runtime
  • region or state-wide license available for all non-commercial applications
  • no runtime royalties
  • VSI provides Regional or State office staff training and provides classroom training to member organizations.

How Does ZIAgent Cost Compare?

If you compare the price of ZIAgent with that of an Agent Development Kit (ADK), you want to make sure that when you make your comparison, you consider what your real costs will be. With ZIAgent, we include with our standard packages all of the above features and services and what you receive at the end of the process is a ready-to-install agent. With an ADK, you do almost everything yourself.

ZIAgent Cost ComparisonIf you assign a cost to labor (as almost everyone does), then the differences between ZIAgent and ADKs become very clear.

The graph to the right illustrates the cost differences between using ZIAgent and developing an agent using an ADK. Although the initial cost may be a little more with ZIAgent, there is no intensive labor cost as there is with using an ADK.

There is no drawn out unit testing process as there is with using an ADK. ZIAgent has been tested and has been in use since 2001.

We do most of the certification process for you - we do not leave you on your own to learn the ins and outs of that process.

We provide you with access to a large test database of pre-matched student, teacher and contact data so that you can do as much testing of your new agent as you would like before installing at a customer site.

We provide you with an agent that has advanced facilities such as auditing, dynamic record matching and stanging that most do not introduce until third and fourth revisions of their agents.

If you would like more information about licensing ZIAgent, please feel free to contact us at any of the numbers below or by filling out the form at Contact Us.