Banner

Kuali Student System
Service Contracts Javadoc Index

IMPORTANT: The service contracts are currently under development.  If you are planning to implement the Kuali Student System or parts thereof, please do not consider these service contracts to be final!  Consult this page for status before making any plans that rely on specific implementations of these services.

Service Contracts

The service contracts used in the Kuali Student System define the integration points between modules and the core infrastructure and between the modules themselves. Unlike systems where there are separate internal (or private) interfaces and external (or public) interfaces, the Kuali Student System uses services for both, allowing various modules or service implementations to be substituted. Although there is no part of the Kuali Student System that is required, the Service Contracts must be used in the prescribed ways.  Therefore, the design and stability of the service contracts is critical.

There are three classifications of service contracts for the Kuali Student System:

How to Use This Index

The service contracts for the Kuali Student System are published using JavaDocs.  This page provides an overview of the service contracts for the Kuali Student System with links into the service definition as presented by JavaDocs.

Business Services

Business services contain the capabilities required to accomplish processes within a specific business domain.

Service (version) Description

Organization

Organizations are defined very broadly in Kuali Student and can include institutions, colleges, faculties, schools, departments, student clubs, project groups and so forth.

LU (Learning Unit)

Provides management of Canonical Learning Units (CLUs) and Learning Unit Instances (LUIs). This includes the development and approval of new Learning Units and changes to existing Learning Units.

ATP (Academic Time Period)

Supports the management of Academic Time Periods and their associated Date Ranges and Milestones.

Learning Result Catalog Supports the management of learning results. The service provides the basis for defining result types and values that can be associated with Canonical Learning Units (CLU), Learning Unit Instances (LUI), and with students through a Learning Unit Person Relation (LPR).
Proposal Service Supports the management of proposals, which generally can be associated with any entity in the system (e.g., a learning unit). Proposals have types that capture the activity being proposed, such as creating a new course, updating the prefix for a set of courses, or launching a new student club.
Learning Objective Service Supports the management of formal learning objectives. This is primarily a catalog service with basic operations.
Comment Service Allows for the creation and management of user comments and tags associated with other objects across the system. Because there is no expectation that the objects have any information about the comments or tags associated with them, objects can be deleted from the system even though tags or comments referencing those object may exist.
Document Service Supports the management of document objects. Relationships between stored documents and external entities are managed through the respective entity service.
Translation Service Used to create natural language represntations of course requisite rules and program rules.

Business Rules Services - These services support the management and execution of rules in an abstract and business agnostic sense.

     Rule Management

The Business Rules Management Service (BRMS) supports the maintenance, storage and retrieval of agendas and business rules. The BRMS also provides natural language expressions of rules and execution results. The specific execution of the rules within an agenda, executeAgenda, is currently implemented as an API.

     Rule Repository

The Repository Service is the storage service for compiled business rules from the Business Rules Management Service (BRMS). The service is essentially a wrapper of a "Jackrabbit" repository, which is a storage and packaging tool used by Drools (JBoss Rules).

     Rule Execution

The Execution Service provides applications with the ability to execute rules remotely or locally through a common toolset. Providing an executable rule from the Repository Service and the necessary contextual and definition facts for execution, the service will run the rule and return a result. In the case of validation rules, the result will consist of a tree of results for each of the propositions contained in the agenda (see the Business Rules Management Service (BRMS) for more information regarding propositions and agendas).

     Fact Finder

 This service supports the retrieval of Facts used in the Rule Management Service.

Infrastructure Services

Infrastructure services are business agnostic in that contain capabilities that are requires across multiple domains within the enterprise.

Service (version) Description

Workflow Services - Workflow services allow units of work to be moved around for review and approval. The container for these units of work is called a “document”. There are two core services, the Workflow Service and the Action List Service.

     Workflow Utility

A remotable service which provides an API for performing various queries and other utilities within the Kuali Enterprise Workflow (KEW).

     Simple Document Actions

Provides a simplified view into KEW that exposes methods that would be required by a basic client such as a web service that is meant to be as interoperable as possible (using simple types, etc.) The standard return is a simple structure containing a standard set of return values:

Identity Services - Identity is an enterprise-wide concern. Human Resources, Payroll, Research
Administration, and Financials all need to use a common set of identity
services.  These services comprise the identity services for the Kuali Student System.

     Authorization

Manages the maintenance, auditing, and validation of authorizations. The authorization supports process-based and value-based security.

     Group Service

This service creates authorization groups (as distinct from organizations). A group is composed of Principals (see Authentication service) or other groups.

     Role

Roles can be managed at any level of granularity

     Person

Supports the management of people related to Kuali Student, including person-to-person relationships.

     Authentication

The Authentication service establishes the identity of a person, system or service.

Infrastructure Interfaces

These are common modules that are needed by all services.

Service (version) Description

Dictionary

The Dictionary Service provides information about the data configuration of the service, such as cardinality, field length, allowed values, and so on.

Search

The Search Service allows for the creation of named searches within a business domain and searches for data that may be maintained across multiple Services of Record. A search is the union of a set of criteria and a result set definition

Enumeration

Enumerations that do not have a home in a Service of Record are maintained in a central enumeration service. An enumeration can be any list.  For example: department codes, country codes etc.