next up previous contents
Next: Spring Up: Sakai Previous: WSRP   Contents

OKI Open Service Interface Definitions

O.K.I., the Open Knowledge Initiative, develops specifications that describe how the components of an educational software environment communicate with each other and with other enterprise systems. O.K.I. specifications address broad interoperability agreements that allow for adaptation and further specification by communities of practice. In this way, O.K.I. seeks to open new markets for educational tools and content.

The O.K.I. team at MIT continues to provide architectural and technical leadership for software initiatives in higher education, among industry affiliates, and through national and international organizations such as the IMS Global Learning Consortium. This work helps ensure that the next generation of e-learning software will integrate seamlessly with the educational enterprise, and it establishes O.K.I. as a global leader in behavioural specifications for educational technology interoperability.

The Open Knowledge Initiative was initially funded through a grant from the Andrew W. Mellon foundation. This work is now being taken forward in the Sakai project through the design of a pragmatic portlet API to the OSIDs, Open Standard Interface Definitions. The Java specification for the OSIDs is available from SourceForge at

The Open Knowledge Initiative (OKI) is a multi-institutional, multi-year project led by MIT and Stanford and funded by the Andrew W. Mellon Foundation. It is a highly collaborative effort to enhance learning by creating an open programming environment that supports sharing and pedagogical experimentation. The initiative is in its second year of work, and has spawned much interest and high expectations in the international educational community. It is important that expectations for the products of the OKI are realistic, especially in light of rapid growth in enterprise-wide academic systems such as Blackboard and WebCT, the academic counterparts to our administrative systems.

The following summary of the initiative is couched in non-technical terms to aid small colleges and universities as they prepare to use and to contribute to the OKI.

The OKI has short- and long-term goals. The short term goals are to set standards for software development, to develop a set of basic software tools which are needed by most educational software, and finally to create some exemplary educational software. Many of these short-term goals have been met. The long-term goals are to create a community of software developers who can adopt, extend and improve on the OKI standards and software, and to ensure that the Initiative can be sustained in the face of constantly changing technologies.

At the core of the OKI are fully public software standards that define an open programming environment to foster pedagogical experimentation and sharing. This open programming environment is based on delivery of learning materials through standard web browsers. This means that software written to the OKI standards will be accessible to users of nearly all modern computers, and the content will be accessible wherever there is an Internet connection.

The OKI can be most easily understood when viewed as a set of four layers. Each activity of the Initiative is based upon the layer below it. The bottom-most layer is the infrastructure of the campus: the campus network and associated hardware and software that is the responsibility of each campus. Built upon this foundational layer are OKI "common services" and "educational services." Common services are modules of software that perform relatively limited functions. Educational services comprise the next layer and perform more complex functions. Many educational services are created by the integration of several common services. The OKI defines the function of these services and how they interact with one another. Finally, at the topmost layer are "educational applications" which are complex systems that integrate common services and educational services into more comprehensive learning systems.

The availability of publicly defined common services and educational services makes it possible for programmers to focus on their pedagogical goals by using and reusing software modules as building blocks for more complex educational software. For instance, the OKI defines common and educational services such as how students and faculty log into an OKI-compliant system, how workgroups of learners are managed, or how files are shared among students and faculty. Programmers will need many such services to integrate into more complex educational software that meet pedagogical needs.

An educational application is software that has one or more specific pedagogical goals and is built upon the architecture defined by the OKI. For instance, student electronic portfolios could be an educational application. An e-portfolio application might integrate many OKI-defined services such as authenticating the identity of a student, managing the files in a portfolio, and allowing portfolio files to be annotated and assessed.

OKI staff members have not only defined the standards for these services, they are implementing many of them so that developers of educational software can take early advantage of the OKI effort. The common services are being written in the Java programming language but because the definitions of these programs are public, others can create the same functionality by writing their own services in programming languages of their choice. Thus, the OKI is not dependent upon a single programming language or a single computing platform for shared development or access to educational content.

It is important to note that the OKI is not a comprehensive course management system, although comprehensive educational applications are being developed on the OKI standards. These included Stanford's CourseWork, MIT's Stellar and The University of Michigan's CHEF among others. For instance, the latest release of CourseWork complies with many of the OKI standards and is being assessed in courses at several institutions this academic year.

It is also important to mention that the Initiative will not produce 'free' software. The OKI is a non-commercial project based on the 'open-source' model of software licensing. This gives us the freedom to adapt the products of OKI to our needs, but supporting our use of OKI products will not be free. Our institutions will not avoid the costs of course management systems simply by adopting the products of the OKI.

Open source software is distributed freely and includes all the source materials that will allow a programmer to improve the software, adapt it to their needs and to fix bugs. Open source software is thus maintained and extended by a community of programmers. However, the usual avenues for software support don't exist for open source software that is distributed freely. There is not likely to be a 24-hour phone number to call for help. More likely, our institutions' knowledgeable support staff will be able to post inquiries to an e-mail list or browse web resources for answers to support questions. Thus technical support for open source software is a cost center.

Our institutions will be able to adopt the products of the OKI if they have the staff time and expertise to install and maintain the software they select. The costs of using OKI products will come from meeting hardware needs for the products (servers, backup, etc), installing the applications, connecting them to institutional databases as needed, and supporting the local user community. The benefits of the OKI will come as we gain access to diverse educational applications contributed to the OKI community by colleges, universities and other developers. For example, Stanford University is developing an assignment and assessment manager to deliver online assessments that are discipline-specific and teaching method-specific, and to allow faculty to embed assessments into online content for better formative feedback.

Commercial developers are able to contribute educational applications to the OKI (and Blackboard and WebCT have announced they will), but we will have to license those commercial products even if they do fit into the freely distributed OKI framework.

Our institutions will be able to contribute to the OKI if they have the staff time and expertise to develop new modules that comply with the OKI standards. Developing OKI applications implies a higher level of resource commitment and expertise than just using the products of the OKI. Several major institutions in the US and UK are core collaborators or application developers for the OKI, so the outlook for a rich suite of educational applications is excellent. There is still plenty of room for the smaller colleges and universities to contribute. For many of our institutions, a strong focus on undergraduate learning outcomes puts us in a unique position to design effective educational applications in the OKI framework. Our ability to implement such applications will depend on our commitment of technical resources and the challenges of integrating basic OKI services into effective pedagogical software. Those who wish to contribute to the OKI effort should participate in the OKI Developer's Network the first meeting of which will take place at MIT in March, 2003.

For much more official information about the Open Knowledge Initiative, visit

The Open Knowledge Initiative has produced a series of Open Service Interface Definitions (OSIDs) 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 OSIDs 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 OSIDs:

$\bullet$ Simple integration with existing infrastructure;
$\bullet$ Local innovations can be shared across campuses or universities;
$\bullet$ Adaptation to new technology without destabilizing the overall environment;

The OSIDs are divided into the following classes. See also We note that many of these are not mature and the descriptions are sketchy.

Common services:

no information given
The Authentication OSID gathers required credentials from an agent, vouches for their authenticity and introduces the agent to the system.
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.
The Dictionary OSID provides a means to support multiple languages, domain-specific nomenclature and culture-specific conventions through interchangeable property files.
The Filing OSID provides platform-independent means to handle files arranged in simple hierarchical containers.
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.
no information given
The Logging OSID records and retrieves a variety of application activity history
The Scheduling OSID manages events in shared calendars.
The Shared OSID contains fundamental objects used in the other OSIDs to provide their functionality.
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.
User Messaging:
The User messaging OSID supports communication and notification among users.
The Workflow OSID provides a way to manage an interdependent succession of activities each of which has completion constraints.

Educational services:

OKI Assessment OSID provides APIs for managing banks of items, sections, and assessments, and for publishing assessments.
Course Management:
A Course management service allows applications or services to access and manage courses, modules and other units of learning.
Part of the Assessment process. A Grading service supports submitting grades against courses, modules, and other units of learning.
A Resource management service supports the management of finite physical resources, such as equipment and rooms.

Java and PHP implementations are available from SourceForge.

next up previous contents
Next: Spring Up: Sakai Previous: WSRP   Contents
Rob Allan 2005-05-09