Product Description Project Information Specifications
Licensing Learn More Sitemap
More About O.K.I. Press Releases White Papers Glossary
Open Knowledge Initiative

API: The term formerly used by O.K.I. to describe interface specifications. See OSID for a definition of the new term.

Architecture: The overall structure, components, and interrelationships of a program.

Architectural specification: A formal document to describe in detail a program's Architecture.

Common Services: The set of OSIDs commonly used by applications.

Educational infrastructure: Educational infrastructure is the information technology, including the software systems, content repositories, and digital services, that support teaching and learning. The transformation of information technologies into enterprise-wide systems has occurred to support the business of higher education and subsequently to support the core activity of academy, the creation and transmission of knowledge. Educational infrastructure supports education in a manner comparable to those systems that have provided fiscal, resource, and administrative services.

Extensible: An architectural property of a program that allows its capabilities to expand. OSIDs are intentionally extensible.

Factory: A factory is the mechanism that binds the implementation of an OSID to the application using the OSID. An OSID consists of a set of entities needed by the OSID. For the most part, these entities are Java interfaces. Since Java interfaces cannot be instantiated by an application, the OSID Factory is how the application asks the implementation of an OSID to create OSID objects that it can use. Depending on the OSID, the Factory's functionality in manipulating OSID objects may be quite extensive.

Implementation: The code that does the work of an OSID.

Interfaces: This is the Java mechanism for specifying functionality. O.K.I. implementation objects implement an OSID's interfaces. An application uses the OSIDs to access implementation objects.

LMS: Learning Management System is a broad term used for a wide range of systems that organize and provide access to online learning services for students, teachers, and administrators. These services usually include access control, provision of learning content, communication tools, and organization of user groups. (from Paulsen, M. F. 2002. Online Education Systems: Discussion and Definition of Terms)

Methods: Method is the term used in many object oriented programming languages to describe what in functional programming languages would be called a function or procedure. Java is one of those object oriented programming language. Programming in Java is concerned with creating Objects. Java Objects consist of variables and methods to manipulate the variables. Although Java Objects can expose variables to an application, most Java Objects require that the application call a method to extract information from or otherwise manipulate the variables of an Object.

Modular: Is an architectural property of a program that indicates that the program is implemented as modules or chunks of code that are internally cohesive and loosely coupled to other modules. OSIDs facilitate modularity.

Open licensing: In software licensing, the public display of specifications which may be freely implemented by any developer in order to encourage transmission of innovation.

OSID: We use the term O.K.I. Service Interface Definition (OSID) to differentiate O.K.I. from the broad class of application programming interfaces. Our architecture exposes a carefully selected collection of services. The definition of these services enforces a programming model that maintains a sharply delineated boundary between O.K.I. compliant applications and O.K.I. service implementations. We believe that Service Interface Definition is a better description of our intent that the more generic application programming interface.

Pedagogical: Indicates that what is being described is related to the practice of teaching. In the context of educational technology, it is the range of methods for teaching in multimedia and/or distance learning environments.

Scalable: An architectural property of a program which allows it to expand in size to accommodate a broad range of users.

Service Interface Definition: See OSID.

Sustainability: An architectural property of a program which allows continued viability.


Learn more about the O.K.I. Product...


© 2003

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