O
O
Product Description Project Information Specifications
Licensing Learn More Sitemap
O
OK
OSID at a glance
Specifications
I
Open Knowledge Initiative
homepage
tm

General Overview

The Open Knowledge Initiative has produced a series of Open Service Interface Definitions (OSID's) informed by a broad architectural view of the educational technology landscape. As learning management systems have become a core component of the campus information technology infrastructure, O.K.I. seeks to simplify and enhance the creation of educational applications.

The OSID's are an abstraction layer between the programmer and the enterprise infrastructure systems of his or her campus. Each OSID is characterized by a tightly defined set of methods and strict boundaries. This approach offers a number of important benefits to applications designed to the OSID's:

  • Simple integration with existing infrastructure
  • Local innovations can be shared across campuses or universities
  • Adaptation to new technology without destabilizing the overall environment.

Specific Descriptions

To access the complete specifications for the following O.K.I. Service Interface Definitions, please consult our SourceForge site. http://sourceforge.net/projects/okiproject

SourceForge.net Logo

Download a PDF version of O.K.I. Service Interface Definitions »

Authorization

Filing

Workflow

Authentication

Dictionary

Scheduling

DBC

Logging

Sql

Hierarchy

Shared

Usermessaging

Authorization

Functional Description
The Authorization OSID allows an application to establish and query a user's privileges to view, create, or modify application data, or use application functionality.

Why important
Applications that can change Enterprise data need to manage a user's access to that data. An application must provide a fine degree of authorization granularity to reflect the complexity of a user's interaction with an application.

Use cases
A graduate student TA has the system privileges to change the grades of the students in the course section that he teaches, but not the privilege to change his own grades.

Top of Page

Authentication

Functional Description
The Authentication OSID gathers required credentials from an agent, vouches for their authenticity and introduces the agent to the system.

Why important
The Authentication OSID permits an application to abstract the authentication process without having to manage the details of the underlying authentication service.

Use cases
An application that permits users to log in remotely must be able to verify that they genuinely represent the user they claim to be.

Top of Page

DBC

Functional Description
The DBC OSID allows an application to access and modify the contents of a database by using the java.sql and javax.sql packages.

Why important
What differentiates the DBC OSID from JDBC is that by extending java.io.Serializable this OSID's objects can migrate across machine boundaries, permitting the database connection to exist on a machine other than the machine hosting the application.

Use cases
The most efficient way to persistently store large quantities of complex data is in a relational database.

Top of Page

Hierarchy

Functional Description
The Hierarchy OSID manages parent-child relationships among elements. In addition to simple tree structures, the OSID supports hierarchy that are recursive and have nodes with multiple parents.

Why important
Parent-child relationships are fundamental structures that effectively model a variety of enterprise data.

Use cases
User authorizations are usually stored as a hierarchy.

Top of Page

Filing

Functional Description
The Filing OSID provides platform-independent means to handle files arranged in simple hierarchical containers.

Why important
Most applications have occasion to manipulate their data through the use of files in some sort of file system.

Use cases
Homework assignments could be submitted and stored as files.

Top of Page

Dictionary

Functional Description
The Dictionary OSID provides a means to support multiple languages, domain-specific nomenclature and culture-specific conventions through interchangeable property files.

Why important
Applications that can operate in a variety of cultural settings offer more value to a broader user community.

Use cases
An application could offer the option of displaying menus in English or Spanish to support a multi-cultural student body.

Top of Page

Logging

Functional Description
The Logging OSID records and retrieves a variety of application activity history.

Why important
Applications typically track a variety of internal events and activity for purposes of analysis, data collection, and security.

Use cases
An application might log the data modifications and the execution times of each modification.

Top of Page

Shared

Functional Description
The Shared OSID contains fundamental objects used in the other OSIDs to provide their functionality.

Why important
The contents of the Shared OSID are used throughout O.K.I.-compliant implementations and applications.

Use cases
A person, a requesting service, an external O.K.I. instance, or an O.K.I. tool are all examples of objects using the Agent interface.

Top of Page

Workflow

Functional Description
The Workflow OSID provides a way to manage an interdependent succession of activities each of which has completion constraints.

Why important
Certain types of applications have operations where one action is dependent on the completion of a previous action.

Use cases
Workflows are commonly used to manage approval processes.

Top of Page

Scheduling

Functional Description
The Scheduling OSID manages events in shared calendars.

Why important
Class schedules are an example of events that are managed in shared calendars.

Use cases
An application could use Scheduling to allow students to interactively select their preferred class sections.

Top of Page

Sql

Functional Description
The SQL OSID provides relational database access functionality at a higher level of abstraction than the DBC OSID. Unlike DBC, it is not dependent on JDBC.

Why important
An application's access to persistent information should focus on its own data manipulation requirements, not the operational details of the underlying data provider.

Use cases
An application can store data in a database without concern for the specific type of database used.

Top of Page

Usermessaging

Functional Description
The Usermessaging OSID supports communication and notification among users.

Why important
Person to person (P2P) messaging has become a useful application feature with the availability of supporting P2P services as well as e-mail, instant chat, and discussion boards.

Use cases
A distributed learning system might want to provide a means for distributed students to interact with an instructor in real time.

Top of Page

 
MIT

© 2003

MIT Massachusetts Institute of Technology   
 questions & comments to webmaster-oki@mit.edu

-