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)
|
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.
|

(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, 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.

(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.
|

(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.
|

(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...
|

(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.
|

(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.
|

(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:
- Dynamic Record Matching - This is useful for initialization,
mid-year learner entries and helps in the year to year rollover process.
This is a type of event rule that is applied to Add events that causes the
agent to first peek at the application's database to see if the incoming
record might already match a record there. If it does, the "Add" is turned
into a "Change" and the application's record is "refreshed" from the SIF
event. This prevents duplicate records from being created and eliminates
the need for separate initialization logic.
- Error Handling - ZIAgent provides extensive support
for error handling, depending on the needs of the application. Some applications
choose to only send "clean" data to the application and send "less than
clean" data to a "suspense" location. Others send all data and have data
handling facilities within the application. Some are in between. ZIAgent
has the flexibility to support them all.
- Self-healing Rules - These are rules written in such
a way that when they detect that something wrong has occurred, they trigger
other events that will correct the problem and cause the event
to be repeated. For example, a StudentSchoolEnrollment event was received
by an agent, but it never received a StudentPersonal for that student. The
rule could make a request for that StudentPersonal record and exit
and have the learner's complete record processed when the StudentPersonal
event was received.
- Email Notifications - These can be attached to any
rule (event or business rule) to notify someone that something needs immediate
attention.
Features - Common
- Import/Export - Once a configuration has been completed,
it may be exported and saved to an XML file. One of the things that this
allows us to do is migrate a configuration from one SIF version to the next.
The migration process generally involves exporting from the old version
and importing into the new version. It also eliminates the need for database
backups and restores when deploying ZIAgent to multiple locations.
- Business Rules - Business rules are much like event
rules, except that they are not associated with any particular event.
Business
rules may be run on demand (from the agent dashboard) or may be scheduled
to be run at a prescribed interval.
- Web Service Call Auditing - Similar to the XML Message
Ledger, ZIAgent also stores a Web Service Call Ledger that keeps track of
any calls that the agent made to an external web service. This includes
information passed to it, returned from it and how long it took to return.

(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 |
|
- Licensed per-school for the purpose of running publicly available
configuration sets
- Support includes new versions
|
| Systems Integrator |
|
- 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.
If
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.