The Rules Check OSID provides a means for managing and
evaluating a series of Checks that comprise
a business process. Inspired by the fine work at Kuali
Student, this service manages the go/no-go business
requirements that are often used within other OSID
Providers.
Checks
A Check is an OsidRule
that is to be evaluated. Check defines a
few simple rules that can be managed directly.
- time based check using dates
- time based check using
Events
- time based checks using
CyclicEvents
- checks for Blocks in the Hold OSID
- checks for Audits in the Inquiry OSID
- checks for other processes
Other kinds of checks can be defined using the
CheckRecord or by referencing an external
Rule .
Agendas
An Agenda represents a process and has
a related set of Checks to perform. OSID
Consumers can simply reference an Agenda
Id .
Instructions
Instructions are
OsidRelationships used to relate a Check
to an Agenda. Checks,
once defined, can be reused among multiple
Agendas. The Instruction provides
the relationship along with information about how the
Check is to be applied such as sequencing
managed in the InstructionAdminSession,
failed check messages, and processing control.
Instructions are also
OsidEnablers managing the applicability of a
Check. The Instruction may apply a Check at
certain times, to certain Demographics of
the target object , or based on a custom
Rule .
Evaluation
In addition to retrieving all the Instructions
for an Agenda in the
InstructionLookupSession, the Rules Check OSID
provides two additional services.
-
ProcessingSession: Retrieves a
pertinent set of Instructions filtering
out those Instructions not applicable
to the target Demographic or date.
-
EvaluationSession: Performs the
evaluation of applicable Checks in an
Agenda and returns a set of statuses and messages. The
eveluation accepts a Condition to
supply additional data required by he Check
as specified by the Check
Rule.
Engine Cataloging
Checks, Instructions,
and Agendas are organized into federatable
OsidCatalogs called Engines.
|