Jump to content

Open service interface definition

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Tjcoppet (talk | contribs) at 20:35, 17 December 2005 (initial rev). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Description

Open Service Interface Definitions (OSIDs) are programmatic interface specifications describing services. These interfaces are specified by the Open Knowledge Initiative (O.K.I.) to implement a Service Oriented Architecture (SOA) to achieve interoperability among applications across a varied base of underlying and changing technologies.

To preserve the investment in development, program logic is separated from underlying technologies through the use of software interfaces each of which defines a contract between a service consumer and a service provider. This separation is the basis of any valid SOA. While some methods define the service interface boundary at a protocol or server level, OSIDs place the boundary at the application level to effectively insulate the consumer from protocols, server identities, and utility libraries that are in the domain to a service provider resulting in software which is easier to develop, longer lasting, and usable across a wider array of computing environments.

OSIDs assist in software design and development by breaking up the problem space across service interface boundaries. Because network communication issues are addressed within a service provider and not at the interface, there isn't an assumption that every service provider implement a remote communications protocol (though many do). OSIDs are also used for communication and coordination among the various components of complex software which provide a means of organizing design and development activities for simplified project management.

OSID providers (implementations) are often reused across a varied set of applications. Once software is made to understand the interface contract for a service, other compliant implementations may be used in its place. This achieves reusability at a high level (a service level) and also serves to easily scale software written for smaller more dedicated purposes.

Service Definitions

Repository

The Repository OSID defines interfaces for managing, searching and retrieving assets in a digital repository.

Scheduling

The Scheduling OSID defines interfaces for calendaring.

Workflow

The Workflow OSID defines interfaces for managing a process comprised of a sequence of steps of sub-processes.

Asessment

The Assessment OSID defines interfaces for testing and feedback.

User Messaging

The User Messaging OSID defines interfaces for transporting messages among users or systems.

Course Management

The Course Management OSID defines interfaces for describing academic curriculums.

Grading

The Grading OSID defines interfaces for submitting grade reports.

Authentication

The Authentication OSID defines interfaces for performing user or system authentication.

Authorization

The Authorization OSID defines interfaces for managing and querying authorization roles of Agents or Groups.

Agent

The Agent OSID defines interfaces for identifing people.

Hierarchy

The Hierarchy OSID defines interfaces for managing arbitrary collections of objects.

Identity

The Id OSID defines an interface for managing identitifiers of objects.

Filing

The Filing OSID defines interfaces for manging files in file systems.

Logging

The Logging OSID defines interfaces for reading and writing log files.

References