OsidManagers

Summary

OsidManagers are the top level service endpoint interfaces into an OSID Provider. 

OsidManagers

The job of an OsidManager is to:

  1. articulate what OsidSessions are supported
  2. access OsidSessions
  3. articulate what (sub) OsidManagers are supported
  4. access OsidManagers
  5. articulate what Types are supported
  6. articulate what Locales are supported
  7. identify the OSID Provider
  8. provide the ability to access versions of an OSID Provider

For now, we'll just concern ourselves with session support and access.

OsidSession Access

Each OsidSession can be considered a service endpoint within an OSID that deals with some smaller set of functionality. Slicing a large functional domain into smaller parts eases the ability to implement an OSID Provider, and communicates clearly what is and is not supported by an OSID Provider. The OsidManager is essentially a mini-service bus.

OsidProfiles

The specification groups the identity and support methods into OsidProfiles which are extended to become an OsidManager.

Example

This is an example subset of the Learning OSID where two of the OsidSessions manage retrieval and querying of learning objectives.

MethodsupportsObjectiveLookup
DescriptionTests if an objective lookup service is supported. An objective lookup service defines methods to access objectives.
Returnbooleantrue if objective lookup is supported, false otherwise
CompliancemandatoryThis method must be implemented.
MethodgetObjectiveLookupSession
DescriptionGets the OsidSession associated with the objective lookup service.
Returnosid.learning.ObjectiveLookupSessionan ObjectiveLookupSession

Errors

OPERATION_FAILEDunable to complete request
UNIMPLEMENTEDsupportsObjectiveLookup() is false
ComplianceoptionalThis method must be implemented if supportsObjectiveLookup() is true.

Method

supportsObjectiveQuery
DescriptionTests if an objective query service is supported.
Returnbooleantrue if objective query is supported, false otherwise
CompliancemandatoryThis method must be implemented.
MethodgetObjectiveQuerySession
DescriptionGets the OsidSession associated with the objective query service.
Returnosid.learning.ObjectiveQuerySessionan ObjectiveQuerySession
ErrorsOPERATION_FAILEDunable to complete request
UNIMPLEMENTEDsupportsObjectiveQuery() is false
ComplianceoptionalThis method must be implemented if supportsObjectiveQuery() is true.

Java Consumer

if (learningManager.supportsObjectiveQuery()) {
    try {
        org.osid.learning.ObjectiveQuerySession querySession = manager.getObjectiveQuerySession();
    } catch (org.osid.OperationFailedException oe) {
        log ("error getting query session", oe);
    }
}

See Also

 

Copyright © 2014 Okapia.